Click here to load reader
Upload
hirokazu-fukami
View
633
Download
0
Embed Size (px)
DESCRIPTION
PotatoTips#2 LTで発表したスライドです 5分でメモ帳アプリをクラウド対応させてみます
Citation preview
5分でクラウド対応メモ帳アプリを
作る
最近流行のMBaaSを使って
@fkm / ふかみ
フリーランス
Androidアプリ作ったり
GAE/Pで何か作ったり
PHP用ライブラリ作ったり
トレードマークキャラ→を編んでみたり
自己紹介
入力した内容を
ListViewで表示するだけ
SQLiteの練習的な
アプリ
1行メモ帳アプリ
★☆☆☆☆ 機種変したらメモ消えた
★☆☆☆☆ 端末無くしたらメモ消えた
★☆☆☆☆ タブレットでも同じメモが見たい
サーバーに
メモをアップロード
できるように
するか
サーバーの運用
1人月
人の時間って高いよね。。。
そんな開発者の為に
MBaaS
MobileBackendasaService
元なかのひとなので。。
を使ってクラウド対応してみます
https://developer.kii.com
30秒 開発者登録をする
名前とサーバーの位置だけ決める
1分 アプリ情報を登録する
2分 SDKをlibsに入れる
INTERNETのパーミッションを入れる
2分30秒 下準備をする
Kii.initialize()を呼ぶ
3分 登録/ログイン機能
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);}
private void addMemo(String text) { KiiObject object = KiiUser.getCurrentUser() .bucket(BUCKET_NAME).object();
object.set(FIELD_MEMO, text); object.save(new KiiObjectCallBack() { @Override public void onSaveCompleted( int token, KiiObject object, Exception exception) { if (exception != null) { return; } // アップロード完了時の処理
} });}
4分 データのアップロード
private void fetchMemo() { KiiBucket bucket = KiiUser.getCurrentUser() .bucket(BUCKET_NAME);
// 条件組み立て
KiiQuery query = new KiiQuery(); query.sortByDesc("_modified");
bucket.query(new KiiQueryCallBack<KiiObject>() { /* Callbackの中身は次ページ */ }, query);}
5分 データのダウンロード
@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にセット
}
5分 データのダウンロード
毎月100万API callまで無料
無料枠