2018年5月25日金曜日

IBM CloudのNoSQL DBを使ってみよう ~第2章~(Androidアプリの変更内容)

どうも、もりもりです。 

今回は、前回 紹介しましたAndroidアプリの変更内容についてです。

変更前と変更後の挙動


<変更前>
 ・Todoの完了/未完了の制御方法
   各アイテムの左に表示されたチェックボックスで制御する。
    完了時 :チェックON
    未完了時:チェックOFF
 ・アイテムタップ時
   ToolBarを表示、右上に「削除」メニューを表示する。
 ・削除ボタンクリック:
   選択中のアイテムを削除する。

<変更後>
 ・ToolBar(旧ActionBar)を常に表示
   メニューボタンがない端末でも使えるように、メニューを常に表示する。
 ・ListViewの背景色を黒の透過に変更
 ・Todoの完了/未完了の制御方法
   各アイテムをタップ
    完了時 :取消線を入れ、文字色を黒にする
    未完了時:取消線を消し、文字色を白にする
   ※各アイテムの左にあるチェックボックスを削除
 ・メイン画面の右下に追加ボタンを追加
   ToolBarのMenuから新規追加も可。
 ・リストアイテムの右端に編集ボタン、削除ボタンを追加

画面キャプチャ


メイン画面 メニュー 新規追加ダイアログ
編集ダイアログ  設定画面

アプリの設定


IBM Cloudと通信するためにAndroidアプリの設定をします。

前回の「CloudantNoSQL DBサービスの作成」の「5」で記載したサービスの資格情報と「7」で作成したDB名を設定します。

<設定>
設定項目 設定値
Cloudant user name 資格情報のusername
Cloudant db name DB名
API Key 資格情報のusername(Cloudant user nameと同じ)
API Password 資格情報のpassword

※初めは「API Key」に何入れんねん。。。と思ってたのですが、ソースコードを見ているとURIを生成しているところで
 資格情報のusernameとなっていました。
 ただし、読み取り専用など制限したい場合は「API Key」と「API Password」に別の設定値を入力することで可能です。
 この設定方法は次回でしたいと思います。

AndroidとクラウドDBの同期


設定が終われば、早速タスクを追加してアップロード(PUSH)してみます。

PCのブラウザからDBを見てみましょう。


ちゃんと同期できていました。

次回予告


次回 は、「アプリの設定」で説明しましたDBの権限設定についてです。


ではまた~。


2018年5月18日金曜日

IBM CloudのNoSQL DBを使ってみよう ~第1章~(まずは準備)

どうも、もりもりです。

今回はIBM CloudのCloudant NoSQL DBサービスを使ってみました。
IBM提供のAndroid用のクライアント・ライブラリのソースがあり、
その中にAndroidアプリのサンプルソース(Todo同期アプリ)があります。
そのサンプルアプリを改変をしつつ、試したことを書き残していきます。

章立て


・~第1章~(まずは準備)
~第2章~(Androidアプリの変更内容)
~第3章~(Cloudant NoSQL DBの権限設定)
~第4章~(Android:ToolBarの常時表示方法)
~第5章~(Android:テキストに取消線を入れる)
~第6章~(Android:ListViewにボタン追加でListItemのClickイベントが効かない)

※変更する可能性もあります

アプリの概要


Android端末に保存されたデータと、クラウド上にあるIBM CloudのDBサービスのデータを同期します。
Androidアプリは端末ローカル上にデータを保存するため、ネットワーク環境がなくても使用できます。
ネットワークに接続できる環境で、クラウド上にあるDBサービスに用意したテーブルと同期できます。
そのため複数端末からいつでもどこでも最新のTodoを確認、編集できます。
今回のクライアント対象はAndroidアプリのみですが、iOSアプリやPC上で動作するアプリも作成可能です。


事前に必要なもの


・IBMアカウント(ライト・アカウントでOK)
・Android開発のある程度の知識
・Android開発環境
  ・Windows 10
  ・Android Studio : 3.1.1
  ・Gradle Version : 4.4
・Androidのサンプルソース

Androidのサンプルソース


Androidのクライアント・ライブラリは下記で確認できます。

Androidアプリのサンプルソース(Todo同期アプリ)は上記Gitの「sync-android/sample/todo-sync/」にあります。

サンプルアプリの機能
・Todoの追加(端末ローカルに保存)
・Todoの削除(端末ローカルから削除)
・クラウド上のNoSQL DBと同期(Upload&Download)

CloudantNoSQL DBサービスの作成


1.リソースを作成
  ダッシュボード右上の「リソースの作成」をクリックする。



2.サービスの選択
  カテゴリ「データ&分析」の「Cloudant NoSQL DB」を選択する。



3.サービスの作成
  サービス名を入力して「作成」をクリックする。



  作成をクリックすると作成したサービスのトップ画面が表示されます。



4.サービス資格情報の追加
  メニュー「サービス資格情報」を選択し、「新規資格情報」をクリックする。
  ※のちにAndroidアプリからアクセスするための資格情報です。



  名前を入力して「追加」をクリックする。

5.サービス資格情報の確認
  追加された資格情報の「アクション」列の「資格情報の表示」を選択する。
  ※Androidアプリで設定する項目は「username, password」です。



6.DB画面の表示
  「LAUNCH」をクリックする。



7.DBを作成
  メニュー「DBアイコン」をクリックし、右上の「Create Database」をクリックする。
  DB名を入力し、「Create」をクリックする。



8.DBの確認
  メニュー「DBアイコン」をクリックする。
  todoappが作成されました。



以上で、DBの準備は終わりです。

次回予告


次回 は、このサンプルアプリの変更内容についてです。


ではまた~。

2018年5月11日金曜日

電子申請してみた!

社員の入社・退職をはじめ、様々なタイミングで社会保険などの書類を提出しなければなりません。
幸い、年金事務所は目と鼻の先ですが、一方でハローワークに行くには電車に乗る必要があります。
移動時間や待ち時間がムダですし、ITの会社がITを活用しなくちゃ!ということで、電子申請にチャレンジしてみます。


準備


電子申請はe-Govから行います。
利用にあたっては下記の準備が必要です。

  1. パソコンとブラウザソフトの確認
  2. Javaの確認
  3. 電子証明書の確認
  4. ブラウザの設定確認
  5. 信頼済みのサイトとしての登録確認
  6. e-Gov電子申請用プログラムの確認

2と6はインストール、4と5はIEの設定が必要になりますが、手順にしたがえば問題ありません。

3にはマイナンバーカードを使用します。
このためにマイナンバーカードを作成したのですが、申請から一ヶ月半かかりました。
私が住む市のHPには、「(2~3週間で市にカードが届いた後、)交付するまでに必要な設定作業等を行い、その後、市から交付案内書を発送するまでに1か月程度」と書かれており、本当にその通りでした。それにしても、1か月もかかる設定作業って何なんでしょうね。


いざ申請!


今回は「健康保険・厚生年金保険被保険者資格喪失届(単記用)」を申請します。
まず、申請者情報などの基本情報を入力します。この情報はファイルに保存することができるので、次回からはそれを読み込めば入力の手間が省けます。

次に、資格喪失届を入力します。
紙の様式と同じレイアウトで表示されるので、入力に迷うことはありません。「入力チェック」で入力漏れがないか確認します。
確認後、ICカードリーダーにマイナンバーカードをセットして、「署名して次へ進む」を押下すると、証明書選択画面が表示されます。


















「ICカード内の証明書」を選択し「読込」を押下すると、PINコード入力画面が表示されます。マイナンバーカード受け取り時に設定したPINコードを入力すると、証明書の表示が変わります。そして「OK」を押下します。

この後は、確認画面で最終確認し、申請するだけで完了です。


ところが


申請から一時間ほど経過したころ、立て続けに3通のメールが届きました。

  • 【e-Gov電子申請システム】連絡事項確認のご連絡
  • 【e-Gov電子申請システム】公文書確認のご連絡
  • 【e-Gov電子申請システム】審査終了のお知らせ

公文書確認とはなんともたいそうですが、差し戻しになったようです。
返戻通知書に記載されている理由を確認すると、

「申請書様式の標題の選択方法に誤りがあります。」

とのこと。
様式上部で「健康保険・厚生年金保険被保険者資格喪失届」か「厚生年金保険70歳以上被用者不該当届」かの選択ができていないことが原因でした。この3月の両様式統合がシステムに反映されていないのか???これも入力チェックでNGにしてほしいですね。

「健康保険・厚生年金保険被保険者資格喪失届」をきちんと選択し、再申請すると、数日で公文書確認のメールが届き、無事「健康保険・厚生年金保険資格喪失確認通知書」を取得することができました。

またいつか、どこかで。