タグ: AppyBuilder

  • 自作ハンディーターミナルアプリ、Android16でも動いた!

    2014年、App Inventorクローン「AppyBuilder」で作ったハンディーターミナルアプリが11年目に

    私のハンディーターミナルアプリ(=Android 4用)、Android12で使えるかな?

    確か、開発当時のOSバージョンは「Android 4.4:KitKat」
    あれから11年、2025年最新OS「Android 16」の私のPixcelでも問題なく動きました!

    すげー
    ありがたい

    Android16

    ほぼタダで作った自作アプリ

    何年使い続けられるかな?

    と思ってたが、恐ろしく長期に、しかも安定して動いてくれてる!

    何度も書きます

    Dear Mr. Hossein Amerkashi,

    AppyBuilder作ってくれてありがとう
    IT経費、すごく節約できてます!

    THANK YOU, Mr.Hossein Amerkashi

    「AppyBuilder」最強・最高です
    SQLite、zip、ftp拡張が最高に便利!

    「AppyBuilder」無くなって残念。
    Offline版、今でも使ってます。
    最新版、待ってます。


    なお、Android 16のSQLiteは、Android 15と同じ

    version 3.44

  • ハンディターミナル用中古スマホが激安!

    2014年12月、it経費節約のため自作したAndroidスマホ用「なんちゃってハンディターミナル」アプリ

    自作ハンディターミナル機能拡張中

    使い始めて11年目、いまだにちゃんと使えてます!

    ありがとう
    Mr.Hossein Amerkashi

    先日、ハンディターミナル用スマホが1台故障。

    形部商事のハンディターミナルシステム

    世界的にも珍しい
    ハードウェア使い捨て!

    早速、1万円以下で2・3年落ちのスマホをYahooフリマ検索

    で、これを買いました「2023年製・1ヶ月使用・Android13」

    税込5000円、アプリ500円クーポン使って税込4500円

    4500円のハンディターミナル
    激安過ぎませんか!?😁

    これなら、あと5年は使えそう

    ハンディターミナル用に中古スマホ「coolpadCP12」、安い!

    アプリ開発・改造代+ハードウェア代+保守費用10年分、it経費500万円くらい節約できたのでは!?

    it経費、頑張ればかなりの金額、節約できますね!
    でも、年齢とともにit技術のキャッチアップが辛くなってきた。
    気力も激減

  • [ai]Android14 インストール可能な最小対象 API レベル 23未満

    Android14に気になる仕様変更!

    [Android14 動作の変更点: セキュリティ]

    Android 14 以降では、targetSdkVersion が 23 未満のアプリはインストールできません。これらの最小対象 API レベルの要件をアプリが満たすことを必須とすることで、ユーザーのセキュリティとプライバシーを強化しています。

    マルウェアは多くの場合、新しい Android バージョンで導入されたセキュリティとプライバシー保護を回避するため、古い API レベルをターゲットにします。たとえば、一部のマルウェア アプリは、2015 年に Android 6.0 Marshmallow(API レベル 23)で導入された実行時の権限モデルの対象にならないよう、22 の targetSdkVersion を使用します。この Android 14 の変更により、マルウェアが強化されたセキュリティとプライバシー保護を回避することが難しくなります。

    API 23(Android 6.0世代)未満のアプリ、インストール禁止

    マジで!

    私のハンディターミナルアプリ、API何?

    最近、使っていない「AppyBuilder Personal」を久しぶりに実行。

    APIレベルを確認すると

    Max API=26
    23より高いが、そろそろヤバいレベル
    Android15,16くらいでインストール禁止になりそう!

    メンバーシップ制商用サービス「AppyBuilder」がビジネス的に失速。
    freeソフト「AppyBuilderPersonal」を公開しサービス中止になったのが2019年春。
    そのタイミングで開発が止まってしまった。

    APIレベルが今後、アップグレードされるのは絶望的

    試しにgithubをチェックすると

    [AppyBuilder Personal—github]

    「AppyBuilderPersonal 2」が公開されてる!
    APIレベル上がってるかも

    早速インストールするも、残念ながらAPIは同じ

    「version 1」と 「version 2」の公開日、4ヶ月しか開きが無いのでバグフィックスだけみたいです。

    「version 1」
    AppyBuilderPersonal1(ver20190303505)

    「version 2」
    AppyBuilderPersonal2(ver20190724)

    Android15公開までに次期ハンディターミナルアプリ何とかしないとな………

  • [ai]「Android 14」が降ってきた!自作ハンディターミナルアプリ動くかな?

    昨夜、私のPixcelに「Android 14」が降ってきた!

    昨夜、私のスマホに「Android 14」が降ってきた!自作ハンディターミナルアプリ動くかな?

    SQLiteのバージョンは

    3.39

    昨夜、私のスマホに「Android 14」が降ってきた!SQLiteのバージョンは3.39

    私の自作ハンディターミナルアプリ、まだ動くかな?

    Android 14でも、普通に動きました

    私の自作ハンディターミナルアプリ、Android14でも動くかな?

    [AppyBuilder Personal—github]

    SQLite機能搭載、App Inventorクローン「AppyBuilder」で作った私のハンディターミナルアプリ。

    2014年夏、Google検索で見つけたこのページを参考に開発スタート
    [Using SQLite component—–Hossein Amerkashi’s Blog]
    2014年12月、Android 4.x時代にversion 1完成
    2017年、Android 6.x時代にMaterialDesign版 version 2完成

    ソフトは自作、
    ハードウェアは、1円スマホx10台 = 総額10円!
    自称、世界最安ハンディターミナルシステム

    ハンディーターミナル10台の総額が10円!

    このアプリ、あと2・3年は使い続けれそう!

    AppyBuilder作ってくれて
    ありがとう
    Mr. Hossein Amerkashi

    THANK YOU, Mr.Hossein Amerkashi
    IT経費、かなり節約できてます。

  • 自作ハンディターミナルアプリ、Android 13でも動いた!

    2022年8月25日、買ったばかりの「Pixcel 6a」に、Android 13が降ってきました。

    早速、アップグレード

    SQLiteのvsersionは、

    3.32.2(Android 12と同じ)

    自作ハンディターミナルアプリ、Android13でも動きました

    Android 13

    さてと、自作ハンディターミナルアプリ
    Android 13で、動くかな?

    自作ハンディターミナルアプリ、Android13でも動きました

    ホッと一息
    すべての機能
    無事、動きました

    Javaが書けない素人が、2014年に作ったAppyBuilder(=App Inventorクローン)製アプリ。

    あと数年は使えそう!

    1ヶ月間、迷いに迷って、
    迷い疲れて酒の勢いで支払った
    初期登録料69ドル+(月額利用料5ドルx30ヶ月くらいかな?)

    勇気出してAppyBuilderの会員になって
    本当に良かった!
    出費の100倍以上、IT経費が節約出来ました

  • [ai]自作ハンディターミナルアプリ、Pixcel 6aでも普通に動いた

    3年3ヶ月使った「Pixcel 3a」のバッテリーが劣化。

    満充電でも1日バッテリーが持たなくなった

    を言い訳にし

    Pixcel 6a(=Android 12)
    買っちゃいました!

    機械学習に最適化されたGoogle製CPU「 Tensor 」搭載

    早速、自作ハンディターミナルアプリをインストール

    動くかな?

    やっぱ、動いた!

    最新OS「Android12」アップグレード済み「Pixcel 3a」でも動いたんだから

    動いて当たり前か

    自作ハンディターミナルアプリ、Pixcel6aでも普通に動く

    2014年、App Inventorクローン「AppyBuilder」で作った素人プログラム。
    使い始めて8年経つが、まだまだ使い続けられそう!

    AppyBuilder
    [AppyBuilder Offline – Personal – GitHub]


    THANK YOU
    Mr.Hossein Amerkashi
    THANK YOU, Mr.Hossein Amerkashi

    ありがとう Mr.Hossein Amerkashi
    ものすごく便利でパワフルなサービス「AppyBuilder」を作ってくれて!
    形部商事は、あなたのお陰でハンディターミナルシステム構築代・運用費
    どれくらいかな?
    きっと、IT経費500万円以上節約できたと思います。

  • [ai]2022年は「まだ使える」は止めます。光学スキャン爆速でした!

    毎年、2021年12月30日は決算棚卸し

    人手が足りず、久しぶりで参加。

    最初は、自作ハンディターミナルアプリ+「Android 5.1の古いスマホ」

    薄暗い倉庫内
    横長ITFコード、湾曲バーコード
    全然読み取れない!

    スマホカメラを使った光学スキャン

    こんなに、ダメダメだったっけ!?

    2022年決算棚卸しが無事終了。2022年「まだ使える」は卒業します

    古いスマホの代わりに、私物「Pixcel 3a」で棚卸し再開。

    湾曲バーコード、横長ITF
    1,2秒でスキャン!
    スゲー、100倍早い!

    2年落ちのミドルクラススマホでも
    こんなにスピードアップするんだ!

    2022年決算棚卸しが無事終了。2022年「まだ使える」は卒業します

    「まだ使える」と思い、使い続けてる数台のAndroid 4.x・5.x世代スマホ

    2022年は全て廃棄。
    最新格安スマホに機種変するだけで受注作業のスピードアップ、間違いなし!

  • [ai]App Inventorもaab(Android App Bundle)ファイルに対応してた!

    2021年12月の週末は、ケガして自宅療養。
    動けないので、久しぶりにAppyBuilder(App Inventor)プログラミング。

    で、作ったのが

    汎用ハンディターミナルアプリ

    これをGoogle App storeで1000円で売って
    儲けたお金で、新型Pixcelを買うぞ!

    [AppyBuilder Personal server—-github]

    1年ぶりに起動させたAppyBuilder Personal server
    市販ハンディターミナルをAppyInventorで作成したんですが・・・((泣))

    プロトタイプ完成!
    出来たてホヤホヤだよ

    汎用ハンディターミナルアプリ:入力画面
    出来たてホヤホヤ、市販用ハンディターミナルアプリ:入力画面

    汎用ハンディターミナルアプリ:設定画面
    出来たてホヤホヤ、市販用ハンディターミナルアプリ:設定画面

    さて、Google App storeでのアプリ販売
    どうやるの?

    Google検索によると、2021年8月以後とその前で、公開方法が変わったようです!

    7月までは、APK(Android application package)ファイルのアップロード
    8月以降は、AAB(Android App Bundle)ファイルをアップロード

    AAB(Android App Bundle)って、ソースファイルみたいです

    AABファイルを、Google App storeへアップロード。
    そのソースを、Googleがコンパイルしてインストールファイル(APK)を作成。

    要は、

    プログラムソースからAPKファイル(インストールプログラム)を作るのはGoogle!
    ソースの事前検閲で、ウィルス・マルウェアが埋め込まれた悪意あるプログラムを公開させないための仕様変更だと思います。

    3年前に開発が終わり無料公開された「AppyBuilder Personal」
    2021年の仕様変更、AABファイル作成機能があるはずも無く・・・・

    せっかくのアプリが無駄になりそう

    ちなみに、本家「MIT App Inventor」では、時期バージョンのテストサーバにAABファイル作成機能がついてます。

    よく見たら、すでに本番サーバにもAABファイル書出機能が実装されてました。

    本家MITでも次期バージョンのテストサーバが公開

    App Inventorクローン「Kodular」は、すでに対応済み

    KodularでもAAB(Android App Bundle)ファイル対応済み

    App Inventorクローン「Thunkable」も、対応済み

    Thunkableは有料メンバーのみAABファイル作成機能が使えるようです。

    thunkableでもAAB(Android App Bundle)ファイル対応済み

    thunkableでもAAB(Android App Bundle)ファイル対応済み

    一番安い有料コースで月額15ドルみたいです
    thunkableでもAAB(Android App Bundle)ファイル対応済み

    僕のプログラム、シンプル・コンパクト設計
    使うと便利さ実感してもらえると思うんだけどな・・・・(泣)

    なんとか世に出(=ネット販売)したい

    「Kodular」で同じものを作り直すのが一番手っ取り早い公開方法かな?

    アプリ収入で最新Pixcelを買う

    2022年前半は、これをモチベーションに頑張りたいと思います。

  • [ai]Android 12のSQLiteはversion 3.32.2

    Android Upgradeの度にやってるSQLiteのバージョンチェック

    以前作ったVersionCheckアプリをAndroid 12でも実行

    SQLite versionを調べるコマンド

    最新OS:Android 12のSQLiteは

    version 3.32.2

    Android 12のSQLiteは3.32.2

    Android SQLite bulk insert
    4.4.2 3.7.11 最大500件
    5.1 3.8.6.1 最大500件
    6.0.1 3.8.10.2 上限なし
    7.0 3.9.2 上限なし
    9.0 3.22.0 上限なし
    10.0 3.22.0 上限なし
    11.0 3.28.0 上限なし
    12.0 3.32.2 上限なし

    ハンディターミナル開発を始めた2014年当時、「外部データインポート機能」の開発はとても難しかった!

    SQLite versionは、Bulk Insert最大500件制限のある「3.7.x」。
    プラス、ファイルを1つにまとめる「ZIP機能」、「FTP機能」がありませんでした。

    インポートは、対象データを500行毎に刻み、Bulk Insertファイルを数十個作成!
    そのファイルを、イントラWEBサーバへアップロード。

    それを、アプリからFOR NEXTでファイルの数だけwebgetしてSQL実行!

    すご~く、すご~く、
    煩雑で、手間で、そして不安定でした

    ネット掲示板で見つけた投稿
    SQLite 500行の壁が無くなったと書かれた掲示板

    since version 3.8.8,the number of rows in a VALUES clause is no longer limited by SQLITE_LIMIT_COMPOUND_SELECT.

    version 3.8.8以降「最大500件」のリミット撤廃

    コードを書かなくてもアプリ開発が超簡単にできる最強の開発環境

    AppInventor+SQLite extension

    これから勉強を始める人は、とてもラッキー

    モバイルデータベースアプリ開発

    スゴ~く、楽ちん!
    (がりがりコード書くよりは)

    誰でも簡単にハンディターミナルアプリが作れるよ

    まぁ、私は本家MITではなくAppyBulder Personal派

    [AppyBulder Personal]

    でも、きっと本家でも作れるはず

    [本家MIT App Inventor]
  • [ai]Android 12でも自作アプリが動きました

    2021年10月20日、「Pixcel 6」発表の同日、最新OS「Android 12」が私の「Pixcel 3a」に降ってきました。

    早速、インストール

    自作ハンディターミナルアプリ
    Android 12で動いてくれるかな?

    Android 12のロゴ
    Android12でも自作ハンディターミナルアプリは動きました

    Android 12 のクイック設定パネル
    大きいボタンが嫌い。クイックなのに全画面表示なのが嫌い。
    ダークテーマじゃないのに、なぜ黒背景?

    まぁ、慣れればクールに見えてくるのかも

    Android12でも自作ハンディターミナルアプリは動きました

    新デザイン言語「Material You」の仕様変更で自作ハンディターミナルアプリが動かなくなるかも・・・

    と心配しましたが、問題は無かったです。

    完成したばかり「ハンディターミナルVer.2(Material Design版)」は、普通に動く!
    「Ver.1(Android 4.x用)」も、メール自動ファイル添付機能以外は動きました。

    Android12でも自作ハンディターミナルアプリは動きました

    1円スマホ10台、総額10円
    「世界最安ハンディターミナルシステム」
    あと数年は、使い続けられそうです!

    すべては多機能App Inventorクローン「AppyBuilder」を作って無料公開してくれたHossein Amerkashiさんのおかげです。

    [Hossein Amerkashi’s blog]
    [AppyBuilder Personal version —–GitHub]

    さんゆー、Mr. Hossein Amerkashi

    追記

    自作アプリのFTP機能が動かない!
    試しにFTPクライアントアプリ「AndFTP」で接続テストしても、ダメ!

    [AndFTP—Google Play]

    「権限:ネットワークフルアクセス」なのに

    なんで?

    もしかしてAndroid 12って

    Port 20・21、閉じてるの?
    これは、困った!

    でも、FTPテストを続けていると、数分後に突然

    あれ、接続できた

    最新OS、なんか変な動きをします。

  • 自作ハンディターミナルアプリ、6年ぶりにバージョンアップ「Material Design版」だよ!

    「電話」兼「ハンディターミナル」として使用中、1円スマートフォン「Galaxy A20」10台へOSアップグレード「Android 11」が配信されました。

    ハンディーターミナル10台の総額が10円!

    適応後、あれれ
    主要機能に不具合発生!

    このプログラムが正常動作しない。
    Android 11更新後、「ShareFileWithMMessage」が動かなくなりました

    これは受注textファイルをGmailに添付する「ShareFileWithMessage」プログラム。

    Gmailの新規作成メールに
    自動添付してくれないよ!

    Android4.x用、自作ハンディターミナルアプリ「Ver.1」

    とうとう寿命かも

    私のハンディーターミナルアプリ(=Android 4用)、Android12で使えるかな?
    いよいよ、

    Ver.2の出番かな

    4年前に完成後、「操作画面が超絶ダサい!」と感じ、延々作り直し続けてるVer.2

    原因は、Android5から採用されたデザイン言語「Material Design」
    Ver.2の操作画面は、このMaterial Design製。

    ちなみに、これが「Material Design」サンプル画面(wikipediaより)

    ねぇ、すべてのパーツが超々ダサいでしょ!

    Material Designサンプル

    ボタンだらけのハンディターミナルアプリ。

    Materialパーツを、何をどう、どんな順番で並べても、業務用の落ち着いた操作画面が作れないんです

    Materialサンプル画面を参考に作った初期画面
    AppyBuilderからsilverプランが消えてる!

    defaultの原色を、くすんだ色に変えた画面
    20180826ハンディーターミナルアプリ最新版は、初めてGOLDから開発したんだけど・・・

    形を変えて、変えて、変えて、変えて、変えて
    色を変えて、変えて、変えて、変えて、変えて

    十数回の美容整形を経て、最新の容姿がこれ!
    あか抜けてキレイに変身できたと思います

    周りから浮いてる濃い黄色は「カーソル位置」で移動します。
    自作ハンディターミナルアプリ、6年ぶりでバージョンアップ「Material Design版」だよ!

    一番面積が大きい10キー周りのデザイン処理は、iOSの電卓を参考にしました。

    私の持論として、業務用アプリは「スキューモーフィズム」なデザインがベストだと思ってます。

    [スキューモーフィズム]

    スキューモーフィズムなボタンが好き

    高齢化がすすむ中小企業。
    デジタルツールに不慣れなスタッフが使うのが前提なので、ボタンはリアルなボタン風に見えた方が慣れてくれるのが早いんです。

    大好きなのはNeXTSTEPアイコン。
    あの感じが業務用アプリに1番適しています。(田舎の中小企業用は)

    まぁ、Googleスタッフにデジタル音痴がいるはずないので、分かってもらえないのが悲しいです

  • [ai]buttonにmarginを加えるExtension(SimplerGUIExtension)

    2021年10月、Android 12がリリースされます

    Android 4.x時代に作った自作ハンディターミナルアプリ。
    Androidのバージョンアップの度に、調子が悪くなる。
    私のハンディーターミナルアプリ(=Android 4用)、Android12で使えるかな?

    Android 4.xアプリ、
    もうすぐ寿命です

    そろそろ

    最新版Material Designバージョンの出番かな?

    4年前に完成した最新版、でも実務投入しなかった。
    その理由は、

    操作画面が、超ダサかったから

    AppyBuilderからsilverプランが消えてる!

    ルックスが気に入らないので、何度も、何度、何度も、何度も、何度、何度も、何度も作り変えた末の最新版がこれ

    かなりマシになりました!

    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)デフォルトは端末ごとで違うんです!

    最後の最後で、どうしても好きになれない部分があるんです。

    それが、丸過ぎる角丸ボタン

    このボタン、Androidの[button shape : default(初期値)]

    初期値(=default)なので、OS version・メーカー・機種で形が変っちゃう!

    上の操作画面は、Android 11にアップデートした直後の「Galaxy A20」
    Android 10の時は、もっと角ばってたのに、突然丸くなって驚きました!

    何かの更新で、意図せず操作画面が変わる!
    それが我慢できない

    AppyBuilder(=App Inventor)では、Material Designの微調整ができません。

    [AppyBuilder Personal—-GitHub]

    AppyBuilder Personalで選べるボタンの形は4種類

    [default](=初期値)
    [rounded](=角丸)
    [rectangular](=長方形)
    [oval](楕円形)

    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)ボタンスタイルは4種類

    実際のアプリ表示がこれ
    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)すべてのスタイルに余白なし!

    ovalは、かっこ悪すぎ

    その他は

    横幅の調整が利かず、ボタン周りに余白が付かない

    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)マージンが無い

    そこで、buttonにmarginを加えるApp Inventor extensionをgoogle検索

    で、見つかりました!

    [How to set left and top magin—-App Inventorコミュニティ]

    [SimplerGUIExtension—-GitHub]

    さんきゅう~、Mr. Tomislav Tomsic

    「SimplerGUIExtension」をプロジェクトへ追加
    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)エクステンション追加

    Blockが、いろいろ入ってる
    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)ブロック

    デモアプリを参考に、プログラム開始
    margin指定プログラムがこれ
    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)ブロック

    で、完成しました

    [SimplerGUIExtension]のおかげで、[default]ボタンを[rounded]ボタンに変えることができました。

    [自作ハンディターミナルアプリ改良]ボタンにmarginを追加するエクステンション:SimplerGUIExtension(App Inventor2 extension)完成

    Android 12 [Material you]リリースの前に、[Materia Design]版を実務投入できそうです。

    最後に、もう一度

    さんきゅう~、Mr. Tomislav Tomsic

    んんん~、画面下半分のタイル張りの黒ボタン

    操作画面が黒すぎる!
    配色変えて、もっと明るくすべき

    完成までもう少し変更が必要かな

  • [ai]Android 11のSQLite versionは3.28.0

    先日、Android 11にアップグレードされた僕のGoogle「 Pixel 3a」
    SQLite versionを調べてみました。

    [SQLite]

    AppyBuilder製「SQLite version確認」アプリのソース

    [AppyBuilder]

    SQLite versionを調べるコマンド
    [SQLiteのバージョン情報を取得(sqlite_version関数)]

    Android 11 のバージョンは

    SQLite 3.28.0

    歴代手持ち端末で調べたバージョン一覧がこれ

    Android 11 SQLite 3.28.0
    Andoid 10 SQLite 3.22.0
    Android 9.0 SQLite 3.22.0
    Android 7.0 SQLite 3.9.2
    Android 6.0.1 SQLite 3.8.10.2


    Android 5.1 SQLite 3.8.6.1
    Android 4.4.2 SQLite 3.7.11

    バージョンアップの度、SQLite versionを調べるようになったきっかけがこの投稿
    SQLite 500行の壁が無くなったと書かれた掲示板

    SQLite 3.8.8から
    1ファイルで処理できるbulk insert数500レコード上限が無くなった!

    since version 3.8.8,the number of rows in a VALUES clause is no longer limited by SQLITE_LIMIT_COMPOUND_SELECT.

    500レコードを超えるデータを扱うアプリを作る場合

    SQLite version 3.8.8の前と以後で
    プログラミングの手間が大きく変わりました!

    3.8.8以降の開発、とても楽!

    これから始める人、羨ましい!

    Android 4.4.2端末で実行するとSQLite 3.7.11(500行上限あり)
    SQLiteのbulk Insert 最大500レコードの上限無くなったのね!Android4.4.2のSQLite versionは3.7.11

    Android 5.1端末で実行するとSQLite 3.8.6.1(500行上限あり)
    SQLiteのbulk Insert 最大500レコードの上限無くなったのね!Android5.1のSQLite versionは3.8.6.1(SILVERバージョンで確認)

    Android 6.0.1端末(=Nexus7)で実行するとSQLite 3.8.10.2(500行上限なし!!!)
    Android6.0.1のSQLiteは3.8.10.2

    Android 7.0端末(=Zenfone AR)で実行するとSQLite 3.9.2(500行上限なし!!!)
    SQLiteのbulk Insert 最大500レコードの上限無くなったのね!Android7のSQLite versionは3.9.2

    「Pixel 3a」Android 9.0はSQLite 3.22.0
    Andoid10アップグレード後再実行してもSQLite 3.22.0
    SQLiteのbulk Insert 最大500レコードの上限無くなったのね!Android9のSQLite versionは3.22.0

    「Pixel 3a」Android 11はSQLite 3.28.0
    Android 11のSQLite vsersionは3.28.0

  • [ai]Android 11で自作アプリ動くかな?

    愛機Google製「Pixcel 3a」に最新OS「Android 11」が降ってきた!

    Google製スマートフォンを選ぶ最大のメリットは

    最新Android OSとGoogleサービスが試せること

    早速、インストール
    20200910Android11が降ってきた!

    Android4.x用に作った自作ハンディーターミナルアプリ ver 1.x が動くかテストすると・・・・

    自作ハンディターミナル機能拡張中

    あれ!

    画面上下に大きな余白

    操作画面が縮み数字キーの最下段が半分押せない!
    困った

    マテリアルデザイン前のアプリ、あと何年使えるのかな?

    Android 11で僕のハンディーターミナルアプリ動くかな?

    まぁ、メインで使う端末は法人契約でまとめ買いした安いGalaxy端末(=Android 9)
    この端末がAndroid 11にアップグレードされるとは思えないので

    後2・3年、私のハンディーターミナルアプリは使い続けられそうです

    ハンディーターミナル10台の総額が10円!

    2015年(本格導入)~2023年まで使えたらハンディーターミナルシステムとしては十分寿命をまっとうしたと言えるはず

    自作なので開発費は5万円くらいかな?
    システム構築費はバカみたいに安かったの!

    なお、実はPOP配色のマテリアルデザイン版ver.2もあるんです!
    操作画面がケバケバで評判が悪く、いまのところ1度も実戦投入していないAndroid 6以上の端末専用アプリ

    20180829ハンディーターミナルアプリ最新版!完全マテリアルよ!

    最後の最後は、これを実務投入すれば

    まだ、あと10年は使えるはず

    余談

    関係無いですがAndroid 11で一番楽しみにしてたのが

    ワイアレス Android Auto

    でも、何をどうやってもワイアレスで繋がらない!

    せっかくAndroid Auto対応車を買ったのに、公開されたばかりのアプリ「wireless Android Auto」には未対応みたいです

    当たり前か・・・

    でも、残念

  • [kodular]気になる便利機能:Export and import blocks via PNG files

    2020年6月30日にterminateされたAppyBuilder

    [AppyBuilder]

    AppyBuilderで苦労して作った
    ハンディーターミナルアプリのメンテナンス
    これからどうしよう?

    20190302Bluetoothバーコードスキャナー3台買い増し。これで5台に

    そろそろ真面目にAppyBuilderの
    吸収合併先「Kodular」の勉強しなければ

    と、「Kodular」リリース情報を読んでると気になる機能を発見

    [Kodular]
    [Kodular Eagle]

    Export and import blocks via PNG files

    Blocks(=プログラム)をPNG画像ファイルに保存できる。
    そのPNGファイルをプログラム画面にドラッグ・アンド・ドロップすればプログラムが復元される!!!

    こんな夢みたいな機能あるの?
    本当に有れば超超々便利!

    では、早速テスト

    簡単なテストアプリを新規作成

    Screen1に、ボタンとテキストボックスを置く
    kodularに気になる便利機能:Export and import blocks via PNG files

    シンプルなプログラムを作る
    「ボタンを押すとテキストボックスにメッセージ挿入」

    kodularに気になる便利機能:Export and import blocks via PNG files

    このBlocks(=プログラム)を右クリック
    ショートカットメニューから

    Download Blocks as PNG

    保存した実際のPNGファイルがこれ

    このPNGファイルをプログラム画面へドラッグすると背景色がグリーンに変わり

    そこにドロップ!

    kodularに気になる便利機能:Export and import blocks via PNG files

    本当だ、プログラムが復元された!

    スゲ~、スゲ~、マジ便利

    ちなみに、赤い(X)エラーは[Button1].Clickが2個になり矛盾が生じたから。
    kodularに気になる便利機能:Export and import blocks via PNG files

    この復元機能、どんな仕組みなんだろう?

    試しに、画像編集ソフトでこの画像ファイル上の文字を書き換えてみる

    「5週間」→「9週間」

    加工したPNGがこれ

    このファイルをドラッグ・アンド・ドロップすると

    あれ、復元できない!

    Kodularのバックアップ画像ファイル

    普通のPNGファイルとは違うみたい

    球体画像PhotoSphereのパノラマ情報みたいに、Blocks(=プログラム)情報がMETAタグに保存されてるかも?

    試しにMETAタグ管理ソフト:pyExifToolGuiに読み込ませてみると

    え、何も出てこない!

    kodularに気になる便利機能:Export and import blocks via PNG files

    METAタグ以外の何かでプログラム情報が埋め込まれているのかな?

    でも中途半端な知識の私には、その秘密が分かりません。

    それにしても

    「Kodular」スゲ~!
    「Kodular」おもしろい!
    「Kodular」便利かも!
    AppyBuilderとは違う便利機能・おもしろ機能、他にもあるのかな?

    「Kodular」もっと勉強してみます

  • [vba]新仕様bulk insertファイル生成プログラム完成

    2020年6月30日「AppyBuilder Termination」直前、駆け込みで行った自作ハンディーターミナルアプリの改造。

    [[ai]AppyBuilder termination(2020/7/1)]

    変更点は、SQLite versionでbulk insertファイルを切替える

    [[ai]SQLite versionでif文の分岐処理をするには(2020/6/11)]

    3.8以下なら旧「500行ファイル」
    3.9以上なら新「10000行ファイル」

    この仕様変更でms-Access製「bulk insert生成プログラム」にも新機能

    「10000行ファイル生成」

    このプログラミング、結構時間がかかりました。

    新仕様マスターファイル生成ソフト完成

    実は私、独学の我流vbaプログラマー
    私のvbaプログラムは素人プログラム

    1つのプロシージャに
    長々(=だらだら)と色んな機能を書いてます

    今回は心を少し入れ替え

    3種類のbulk insertファイル生成機能をサブルーチン化

    次期SQLite仕様変更で最大数が変わっても、変数を変えるだけで簡単に対応出来るように作り直しました。

    見た目もスッキリ

    やれば、僕にも出来るじゃん!

    [vb] Private Sub btnMAKEbulkFile10k_Click()

    call MakeBulkITEM (10000)
    call MakeBulkSHOP (10000)
    call MakeBulkRIREKI (10000)

    End Sub
    [/vb]

    余談ですが、ずっと素人プログラムしか書けない言い訳は

    プログラムを作るのも
    改良するのも
    操作するのも作者の私だから

    本に書いてる「綿密な仕様設計」「プログラムの可読性」より

    空いた時間に取り合えず作って即実践投入

    を続けた結果。
    100個以上作っても初心者みたいな書き方しか出来ません(泣)

    永遠の素人

    情けない

  • [ai]AppyBuilder termination

    今日は昼過ぎからスマホの世界時計をチラチラ見る1日。

    理由はこの発表「AppyBuilder終了スケジュール」
    アメリカ時間2020年6月30日は「AppyBuilder」が「Kodular」に吸収合併され消滅する日。

    AppyBuilder termination(30th June 2020)

    [[ai]「Kodular Eagle 1.4B」公開]

    ハンディーターミナルが老朽化
    古すぎて修理も出来ず11台あった端末が1台ずつ壊れ減っていく・・

    プロに「ハンディーターミナルシステム再構築」の見積もり依頼をするとハードウェア+ソフトウェア込で400~500万円!
    20171104新旧の


    プロに依頼する前に、何とか自作出来ないかとVB、JAVAを勉強するも難し過ぎて挫折

    FileMakerアプリは完成したものの「頭が悪すぎる」開発環境にアレルギーを起こしアプリを捨てました

    受注一覧:Filemaker13でが作れるかな・・

    もう1台ハンディーターミナルが壊れたら仕事に穴が空く

    待った無しの状況で夜な夜なGoogle検索

    そして2014年夏「AppInventor+SQLite」検索で見つかったのが「AppyBuilder
    当時の名は「Ai2LiveComplete

    それから毎晩勉強

    本開発の為、会員登録料69ドル+月額利用料5ドルを払うべきかを数日迷い続け・・・・

    迷い過ぎで疲れ果て、思考停止状態で送金

    それからは毎晩、勉強+プログラミング

    App Inventor+SQLiteの組み合わせ超簡単!

    バカですぐ挫折する私でも、するすらプログラミング出来る夢のような開発環境

    2ヶ月後、プロトタイプが完成しました。

    自作ハンディーターミナル機能拡張中

    すごーくキツかったけど
    今思うと充実した時間でした
    んんん~、懐かしい

    そのAppyBuilderが終わっちゃう!

    悲しいよ

    忙しくてバタバタしてる間に

    あれ、日が変わってる!

    意味ないことですが、残念

    terminationを見届けることが出来ませんでした

    AppyBuilder terminationまでのカウントダウン

    これからは「Kodular」なのね!

    テーマカラーの紫が好きになれないけど、早く慣れねば・・・・

    Kodularに吸収予定のAppyBuilder。僕のハンディーターミナルアプリのこれからどうなるの?

    今はドコモ法人契約でまとめ買いした1円スマホを使ってます。
    10台で総額10円のハンディーターミナルシステム

    ハンディーターミナル10台の総額が10円!

    Bye Bye AppyBuilder
    You saved my company
    Thanks a lot

  • [ai]新マスターインポートプログラム完成(最大数10,000行!)

    20180829ハンディーターミナルアプリ最新版!完全マテリアルよ!

    AppyBuilder製(App Inventor+SQLite)自作ハンディーターミナルアプリに久々の新機能!

    [AppyBuilder]

    bulk insert 10,000行に対応
    今は最大500行なので20分の1にインポートファイルを減らせる

    SQLite 3.8.8(=Android 6.0.1)以上でbulk insert一括インポート500レコード上限が撤廃
    SQLite 500行の壁が無くなったと書かれた掲示板

    [[ai]SQLite bulk Insert 500レコード制限が無くなってる!(2019/6/11)]
    [[SQLite]Bulk insert最大レコード数は約270,000行(2020/5/29)]

    僕のPixcel3a(Android10 & SQLite 3.22.0)でテストすると約270,000行の一括インポートに成功しました。

    新しく作ったプログラムがこれ
    動きは単純

    1:Android端末のSQLiteバージョンを取得

    2:3.9以上なら新上限数のbulkファイルをインポート

    3:3.8以下なら従来の500レコード上限のファイルをインポート

    テスト用プログラムを本番アプリへ移植するの簡単だと思ってたのに・・・・

    ガーーーン、動かない!

    270,000行でエラー
    200,000行でエラー
    150,000行でエラー
    100,000行でエラー
    80,000行でエラー
    50,000行でエラー
    30,000行でエラー
    20,000行でエラー

    最終的に1ファイル10,000行にしたらエラーが消えました。

    20万行予定が1万行に!
    残念、20分の1

    20200626新機能完成:マスターインポート10000行対応

    テストは、1個のテーブルへ1個のbulkファイルで27万行のインポートに成功。

    実アプリでは、3テーブルへ複数ファイルを同時インポート処理。

    これが最大レコード数激減の原因かな?

    まぁ、毎回作る約1000個のbulk insertファイルが数十個に減るので良しとするか

    ちなみに、インポート時間も10分の1くらい早くなりました!

    次はbulk insertファイル生成プログラム(ms-Access)の改造だ

    まだまだ、やる事いっぱい!

  • [ai]SQLite versionでif文の分岐処理をするには

    久しぶりで自作ハンディーターミナルアプリを改良中

    [[ai]SQLite bulk Insert 500レコード制限が無くなってる!(2019/6/11)]
    [[SQLite]Bulk insert最大レコード数は約270,000行(2020/5/29)]

    今開発してるのは

    SQLite versionでマスターファイル名を切り替る

    対象ファイル名を

    (最大数500行制限撤廃後)
    version3.8.8以上なら1ファイル200,000行のbulk insertファイル名を指定(新規開発)

    (version 3.8.8より古い場合)
    1ファイル500行(現行システム用)bulkファイル名を指定する

    これが思った以上に面倒なの!

    開発中のコードがこれ
    1:僕のPixcel 3a(=Android10)でsqlite_versionを実行

    SQLiteの返事がこれ

    (sqlite_version() 3.22.0)

    SQLiteのbulk Insert 最大500レコードの上限無くなったのね!Android9のSQLite versionは3.22.0

    2:バージョン以外の文字列を取り除くreplaceブロックで掃除
    「(sqlite_version() 3.22.0」をNULL
    「)」をNULL

    これでバージョン部だけになりました

    3.22.0

    ここからがメイン処理部「バージョン比較」

    version 3.8.8より古いの?新しいの?

    文字列比較では

    3.8.8>3.22.0になってしまう!
    文字列3.8xxxは3.2xxxより大きいから

    数値比較でも

    3.8>3.22になり正しく動かない

    試行錯誤を繰り返し完成したコードがこれ!

    versionの1桁目と2桁目を別々に保存
    別々に比較する

    まずversionの保存コードがこれ

    メインのIF文

    1桁目を比較
    ver.4以上なら200000行ファイル
    ver.2以下なら500行ファイル
    ver.3なら2桁目を比較
    2桁目が9以上なら200000行ファイル
    2桁目がそれ以外なら500行ファイル

    SQLite versionが
    3.8以前ならファイル名:master500.zip
    3.9以上ならファイル名:master200000.zip

    実際のコードがこれ

    全部つないだコードがこれ



    動かすと

    このコードをベースに、次は本アプリのソース書き換えです。
    ベースプログラムがここまで完成してれば富士登山なら8合目!

    ゴールは、もうすぐ!

    その上でbulk insertファイル生成プログラム(ms-Access)の改造もしなければ・・・・
    SQLite bulk insertファイル生成プログラム

    まだまだ、やることいっぱい!

    余談ですが、なぜここ数日夜な夜な熱心にプログラミングしてると思います?

    答え:痛風でアルコールが飲めなくなり夜もシラフだから

    痛風、痛よ!
    でも、お酒飲みたいな・・・

  • [SQLite]Bulk insert最大レコード数は約270,000行

    以前、ネットで見つけた投稿によると

    SQLite 3.8.8で、
    bulk insert(=一括インポート)最大数
    500レコード制限が撤廃

    SQLite 500行の壁が無くなったと書かれた掲示板

    [[ai]SQLite bulk Insert 500レコード制限が無くなってる!]

    手持ち端末で調べると
    Android 6.0.1端末(Nexus7)が上限撤廃後のSQLite 3.8.10.2

    Android6.0.1以降のスマートフォンなら500行制限が無いみたい

    では実際、何レコードまで一括インポートできるのかな?

    早速、実験
    使うのは私のスマートフォン「Pixel 3a」(Android10 : SQLite 3.22.0)

    巨大なbulk insertファイルを作り徐々に行数を減らしていくと・・・

    27,0709行(17,856,314バイト)までエラー!

    インポートエラーでは無くアプリごとクラッシュが続きました
    27,0709行(17,856,314バイト)までエラーが続く・・


    27,0708行(17,856,247バイト)でインポート成功!



    INSERTコマンド部2行マイナスし

    結果は、270,706レコード

    次に、ファイルサイズでのインポートテスト

    インポートに成功した270,708行ファイル(17,856,247バイト)に、無意味なtextを書込みファイルサイズ(17,856,314バイト)を増やしても上限がレコード数ならインポートできるはず!?

    で、ファイルサイズが増えても
    インポート成功!

    と言うことで、SQLiteのbluk insert上限は、ファイルサイズ制限ではなく
    レコード数制限。その上限は270,706行みたいです。

    と思いきや

    改めて270,709行目を書き加えて実験すると、あれ、インポート成功!

    どういうこと?

    バックグランドで動く別アプリの影響とか受けるのかな?

    今回の実験、結論が出ない。
    テストする度、最大数が変わる!

    なぞだ

    まぁ、ハンディーターミナル用マスターbulk insertファイル生成プログラムの作り変えは、余裕をもって1ファイル200,000行にすれば安定するのでは

    新最大値:200,000行÷旧値:500=400
    これで、1ファイルに400倍のレコードが書ける!

    マスターファイル生成の度、毎回1,000個近いbulk insertファイル作ってる。
    これが3,4ファイルになるはず!

    1,000個が4個に!
    まるで夢のよう

    今月、ドコモ法人契約変更で手に入れた1円スマートフォン
    「Galaxy SC-02M」(Android 9.0 : SQLite 3.22.0) x 10台

    ハンディーターミナル10台の総額が10円!



    利用中のAndroid4.x & 5.x & 6.0を新端末に切り替えればマスターインポートファイルを激減できる!

    はずだったのに・・・・・・

    こっちの方が慣れているから古いの使い続けます

    という奴が大勢いるの(泣)