BarCode Easy Check / Windows 10 Mobile
UWP開発の勉強目的で、バーコード照合プログラムをWindows 10 Mobile向けに作ってみました。
今回、デバッグに使用した端末は、NuAns NEOという機種なのですが、スペック的には普通のAndroid端末と変わらないのですが、バーコードの認識には、若干手間取ってる感じがしました。
機種による差なのかもしれません。他にWindows 10 Mobile端末を持っていないので、比較できないのが残念です。
開発ツールは、Visual Studio 2017です。Windowsアプリストアで公開するには、UWPで開発する必要があります。
Windows 10 のUWPで開発することの魅力は、デスクトップPC用のプログラムとモバイル端末のプログラムが、同じ言語で開発できる事にあるかと思います。特にデータの受け渡しなどは楽になるのではないいでしょうか?
ただ、Windows 10 Mobileに関しては、現時点では、シェアが少な過ぎ、端末も少ないので、実用性は低いかと思います。それでも、Windows 10は毎月のようにUpdateが行われ改良されていっているので(Mobileも含めて)、将来的に期待はしています。
Windows 10 Mobileが、業務向けOSとして完成度を高めて行って欲しいなあと個人的に思います。


Andorid プログラムの「QR Send」「Easy Inventory」向けに作った、PC側でメールを受信~CSV出力を行う、ImportImap.jar をJava作ったのですが、メールの受信が正直遅いので、Windows向けに.Net Framework版を作成しました。
今回は、コマンド引数に1を付けて起動すると、受信~CSV出力まで自動で行い、終了するモードを追加しました。
例) “ImportImap.exe 1″
通常は、”ImportImap.exe” をそのまま起動すれば、手動モードで開きます。

やはり、クライアントPCは普通Windowsですし、たまたまAndorid開発がJavaだったので、Javaで作ってみたのですが、私のJavaスキルの問題ないのか、C#で作った方が結構早いというか普通でした。最近、MicrosoftのVisual Studioもマルチプラットフォームになってきているので、開発者も今後はこちらにシフトしてくるような気がします。


Wifi / 画面自動回転の ON/OFF スイッチを、自分用に作りました。
よく使う機能なので、今まで、誰かが作ったものをダウンロードして使っていましたが、どれも広告付きでうっとおしいので、広告無しの超シンプルなのを自作しました。
 |
電池の節約が、最大の目的です。
広告は、バッテリーやパケットを食うので悪です。
|
WiFiを使わないときは、WiFiをOffにしています。常にWiFi検索していると、バッテリー消耗が早いからです。
画面自動回転をOffにすると、電池の節約になります。ポケットの中で、立ったり横になったりすると、画面が切り替わる度に、電池が消耗するからです。
相変わらず、デザインがアレですが、ウザい広告から解放され、デザイン性が無いので飽きないかと・・・。


以前作った、Legacy Launcherを少しいじって、myStart にアプ名を変更して、リリースしました。

今回は、Navigation Drawer(ナビゲーション・ドローワー)の勉強が目的です。
 |
ナビゲーション・ドローワーは、最近のアンドロイドアプリのメニューとしては、標準になっているようです。 |
Toolbar(ツールバー)にメニューを追加する方法や、FloatingActionButton(フローティング・アクションボタン)しか使っていなかったので、どういった場合に使うべきか、よくわかりませんでした。
何となく、Windows のスタートメニューに似ています。違うのは真横から出てくる点でしょうか。画面を大きく使えるので、視認性も良いと思います。
今までは、ほとんど1画面で完結の、簡単なものしか作った事が無いので・・・。今更ですが、複数画面に渡るアプリでは、メニュー階層が解りやすくなります。
Android Studioは、どんどん進化して行っています。古いものは(古いアプリや手法)、どんどん捨てて新しいものに作り変えていかなければ、世の中に受け入れてもらえないんでしょうね。


バーコード読み取りのAndroid アプリ用に、メール送信したデータをテキスト出力するプログラムを作成しました。
 |
実行環境は、JRE 1.6以降です。
説明ページ
ダウンロードも上記
説明ページから。
|
メールサーバーに、IMAP接続して受信日と件名で検索するのですが、メール一覧の取得に意外と時間がかかります。
(javaだからなのか・・・?)
動作としては、受信フォルダーの中の件名を検索して、本文を取り出し、1スキャンのデータを一行毎に置き換えて、テキスト出力(CSV形式)します。
CSV形式なので、EXCELで開いたり、データベースに登録したり、その後にいろいろ活用できるかと思います。
今後は、こういった感じでAndroidアプリとPCアプリを組み合わせて、いろいろ拡張して行こうかと考えています。
ご意見がありましたら、また、お聞かせください。


マスター照合機能はありませんが、読み取ったバーコードと実績数(手入力)のデータを収集してメール送信する、簡単な棚卸プログラムを作りました。 こちら → easyInventory
入力ミスの確認画面で、ミスしたデータの削除のみ行えるようにしました。一応、QRコードも読み取れます。
送信元のメールですが、Gmail, Yahooメール, Windows Outlook メールのみを対応としています。Gmail, Windows Outlook メールで、二段階認証の設定をしている場合は、アプリパスワードを発行してそちらのパスワードを設定してください。
今まで、開発テスト環境には、Android OS 4.3 機までしか無かったのですが、やっと Android OS 7.0 機が手に入ったので、こちらでも検証できるようになりました。 Android OS 4.4頃から追加されたと思われる、アプリ単位でのアクセス権限への対応を行いました。
今頃気がついたのですが、当方が作成したプログラムは、Android OS 6.0以降では、カメラやフォルダーへのアクセス権限の確認画面が表示されずに、エラーとなってしまっていたようです。
Android OS 6 以降では、Runtime Permissionという概念で、 プログラムの初期実行時に、端末のどの機能にアクセスするかのチェックが行われ、ユーザーの許可を求める画面が表示されるようになりました。
実績の送信は、メールが汎用性もありベストだと思うので、当方のプログラムは、全部メール送信です。今度、時間があったら、PC側でメールの中身(実績データ)を取り出すアプリを作ろうと思います。開発はJavaで、出力はCSV形式がいいかなあと考えています。


今年5月に作った、バーコード照合(easyChecker)ですが、よくよく考えてみるとJAN/EANコードだけと言うのもおかしい気がしてきたので、QRコードもスキャンできるようにしました。設定画面で、どちらにするか選択して、設定値を保存します。(内部のDBに記憶)
何かもう、ひと工夫入れたいところですが、慌てて作ったものにろくなものが無いので、止めときました。
QRのテストをしようとQRのバーコードを探してみると、意外と無いのですね。インターネットで検索するとたくさん出てきますが、ほとんどURLばかりです。QRコードは元々そういう使い方だったのでしょうか?
いくつかバーコードを読み取って気づいたのは、スマホのカメラ性能で、全然読み取り速度が違う点です。オートフォーカスの速度の違いか、画素数の違いか、機種によって全然違います。この点は、要注意ですね。
今度は、業務向けに、新しいやつを、また何か作ろうと思います。よく相談されるパレット管理とか、棚卸とか、実績をメールで送る仕様がいいかなと考えています。
それでは、また。


以前作った、qrSend(QRバーコードのスキャン&メール送信)を更新しました。
主な内容としては、
①QR(二次元バー)/JAN(一次元バー)を切り替えて読み取れるように改修。
②端末内のDBにデータを蓄積して、「メール送信」で一括送信に変更。
③読み取り日時(YYYY/MM/DD HH:NN)を追加。
運用イメージは、送信者に作業者名を設定して、読み取ったバーコードを1メールにまとめて送信。
PC側からメールを自動で開いてBODYからデータ抽出。
この際、作業者、作業時刻、バーコードの一覧が取得できます。
いろいろと細かい機能を追加しようかと、アイデアが浮かぶのですが、あまり手を加えすぎると汎用性が無くなるので、やりすぎない判断が難しいところです。
皆さんのアイデアをお待ちしております。
〜〜〜〜〜〜〜〜〜〜 10/31 〜〜〜〜〜〜〜〜〜〜〜〜
スキャンしたデータから、不要なものを削除する画面を追加しました。


easyFind バーコード・スキャンによるマスターファイル内検索アプリのバージョンアップを行いました。
品目名とロケーション検索表示以外にいろいろ機能(実績をメールで送ったりとか)を持たせようとは考えているのですが、とりあえず、マスターファイルがSDカード直下でファイル名が”master01.csv”固定というのも自由度が無いので、ファイル名(*.csv)と保存場所をユーザーで指定できるようにしました。
これで、マスターファイルをGMAILで受信して、DOWNLOADフォルダーに保存して、そのパスを指定しておけば、PCからUSB接続しなくても、マスターファイルを端末のみで更新できるようになります。
android 端末によって、フォルダー名が異なるのですが、Kyocera SKT-01の場合、SDカード直下は、”/storage/sdcard1/”で、本体のダウンロードフォルダーは、”/sdcard/Download/”となっています。


車で移動中に音楽を聴くので、iPod Touchやウォークマンを繋いでいました。iTuneとかx-アプリとか自動的にPCとファイルを同期してくれるのは有り難いのですが、どのアルバムが何時どこに同期されたのか解らなくなってきました。
また、PCの再セットアップや乗り換え時、音楽はファイルとして全てバックアップしてあるのですが、PCと端末を繋ぎなおすと何故か二重に登録されていたり、訳が分からなくなってしましました。
それで、自作したのが、アルバム = フォルダー という考えで作成した、「myMusic」アプリです。
相変わらずデザインがアレですが・・・
個人的には非常に解りやすいと思います。とにかくフォルダーを作って好きな曲をコピーするだけです。気に入らなければ削除すればいいですし。まして二重に登録することは自分以外勝手にやらないので安心です。


There's an idea, there's a way.