Upload
hirokazu-fukami
View
1.227
Download
9
Embed Size (px)
DESCRIPTION
Kii Cloud 女子部の勉強会で使用した資料に、実装例を付け足したものです。 最初は実装例を見つつ実装してみるのがいいかもしれません
Citation preview
Kii Cloud 勉強会 #2〜 ちょっと使ってみよう 〜
自己紹介
● 深見 浩和(@fkm)● つい最近までKiiのなかのひと● Androidアプリ作ったり● サーバーのコード書いたり● このアイコンのひと →
復習:どんなことできるの?
● ユーザー管理● グループ管理● データ管理● プッシュを送ったり● その他もろもろ
今日の目標
● 簡単メモ帳アプリを作ってみよう● アプリにユーザー登録/ログイン機能を
つけよう● メモを登録/取得してみよう
アプリの構成
ステップ1 開発者登録
https://developer.kii.comで開発者登録しましょう
● メールアドレスとパスワード
ステップ2 アプリプロジェクト作成
Eclipseで、新しいAndroidアプリプロジェクトを作りましょう
作ったら、AndroidManifest.xmlに<uses-permission android:name="android.permission.INTERNET"/> を追加しましょう
ステップ3 アプリ情報登録
ポータルで、アプリの情報を
登録してみましょう
● アプリ名● サーバーの場所(今回は日本)● プラットフォーム(Android)
ステップ4 SDKをダウンロード
ポータルから、Android用のSDK(Cloud SDK)をダウンロードし、
アプリのlibsフォルダにいれましょう
ステップ5 登録機能の実装
「登録」ボタンを押したら、
Kii Cloudにユーザーを作ってみよう
ヒント:
登録はKiiUser#register()メソッド
ステップ5 実装例
private void performSignup() { String username = getUsername(); String password = getPassword(); KiiUser user = KiiUser.builderWithName(username).build(); user.register(new KiiUserCallBack() { @Override public void onRegisterCompleted( int token, KiiUser user, Exception exception) { if (exception != null) { return; } } }, password);}
ステップ6 ログイン機能の実装
「ログイン」ボタンを押したら、
Kii Cloudにログインしてみよう
ヒント:
ログインはKiiUser#login()メソッド
ステップ6 実装例
private void performLogin() { String username = getUsername(); String password = getPassword(); KiiUser.logIn(new KiiUserCallBack() { @Override public void onLoginCompleted( int token, KiiUser user, Exception exception) { if (exception != null) { return; } // 成功時の処理
} }, username, password);}
ステップ7
の前に。。。
バケツとスコープ
Kii Cloudでは、データ(KiiObject)はバケツ(KiiBucket)の中に保存される
バケツとスコープ
バケツ(KiiBucket)には名前がついている
バケツ(KiiBucket)には所有者がいる
● アプリ全体● 特定のグループ● 特定のユーザー
バケツとスコープ
KiiBucketインスタンスを作る
● Kii.bucket(“appInfo”)○ 所有者は「アプリ全体」
● group.bucket(“users”)○ 所有者は指定したグループ
● KiiUser.getCurrentUser().bucket(“inbox”)○ 所有者は「ログイン中のユーザー」
ステップ7 データの登録
1行メモをKiiObjectにいれて、
アップロードしてみよう
ヒント:
バケツの所有者は誰が適切だろう?
ステップ7 実装例
private void addNote(final String text) { KiiObject object = KiiUser.getCurrentUser().bucket(BUCKET_NAME).object(); object.set(FIELD_NOTE, text); object.save(new KiiObjectCallBack() { @Override public void onSaveCompleted( int token, KiiObject object, Exception exception) { if (exception != null) { return; } } });}
ステップ8 データの取得
とりあえず、全部取得してみよう
ヒント:
バケツ内のKiiObjectを検索するには、
KiiBucket#query(KiiQueryCallback, query)を使います
ステップ8 実装例(1 / 2)private void fetchNotes() { KiiBucket bucket = KiiUser.getCurrentUser().bucket(BUCKET_NAME); // 条件組み立て
KiiQuery query = new KiiQuery(); query.sortByDesc("_modified"); bucket.query(new KiiQueryCallBack<KiiObject>() { /* Callbackの中身は次ページ */ }, query);}
ステップ8 実装例(2 / 2)@Overridepublic void onQueryCompleted( int token, KiiQueryResult<KiiObject> result, Exception exception) { if (exception != null) { return; } List<KiiObject> resultList = result.getResult(); List<String> list = new ArrayList<String>(resultList.size()); for (KiiObject object : resultList) { list.add(object.getString(FIELD_NOTE, "Empty")); } setItems(list); // Adapterにセット
}