ラベル Cloudant NoSQL の投稿を表示しています。 すべての投稿を表示
ラベル Cloudant NoSQL の投稿を表示しています。 すべての投稿を表示

2018年6月1日金曜日

IBM CloudのNoSQL DBを使ってみよう ~第3章~(Cloudant NoSQL DBの権限設定)

どうも、もりもりです。

今回はクラウド上のDBに対して読み取り専用権限を付ける方法についてです。

だれかと情報の共有はしたいが見せるだけというような場合に、権限を設定すれば可能となります。

権限の追加


1.権限設定画面を表示
  前回 作成したDBを選択し、「Permissions」をクリックします。

2.APIキー生成
  「Generate API Key」をクリックします。


  すぐ下にKeyとPasswordが表示されると共に、上の権限一覧にも追加されます。
  権限一覧の「_reader」のみチェックがONになっていることを確認します。


  ここで注意ですが、クリック後、下に生成されたKeyとPasswordが表示されます。
  このタイミングでエディタにコピペしておきましょう。
  表示が消えると今後一切見れなくなります。
  そうなってしまった場合は再度APIキーを生成してください。

AndroidのTodoアプリで設定


1.AndroidのTodoアプリにキーとパスワードを設定
  Todoアプリの設定画面を開き、下記を設定してください。

<設定>
設定項目 設定値
API Key 生成したKey
API Password 生成したpassword


2.TodoアプリでPULL確認
  メニュー「Download(Pull)」を選択します。
  成功するはずです。

3.TodoアプリでPUSH確認
  任意のタスクをタップして完了状態にし、メニュー「Upload(Push)」を選択します。
  「Replication Error」というToastが表示されるはずです。

次回予告


次回 はAndroidのお話ですが、ToolBarを常に表示する対応方法についてです。


ではまた~。

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の準備は終わりです。

次回予告


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


ではまた~。