2010/08/25

AndroidでDropbox API (2) サンプルコードの読み解き

とりあえずドキュメントは基本的に無視して,サンプルコードの読み解きです.
サンプルにはDropboxSampleクラスとLoginAsyncTaskクラスがあるのでそれぞれの重要な関数について.

DropboxSample
Activityクラスを継承.UIの設定や,ログインのためのキー情報の保存と読み込み.

onCreate
UIの初期化.
一度ログイン済みで,Preferenceにログインのためのキーが保存されていたら,自動的にログイン処理を行ないます.キーがない場合,メールアドレスとパスワードが入力されてログインボタンがおされるのを待ちます.

setLoggedIn
ログイン状態に応じて,UIの状態を変更.ログイン済みの場合,テキストボックスへの入力を無効にし,ボタンをログアウトボタンにします.

getAccountInfo
LoginAsyncTaskクラスを作成し,ログインを行う関数です.キーを持っている場合はキーを使ってログインし,ない場合はメールアドレスとパスワードを使ってログインします.

displayAccountInfo
アカウントの情報を表示します.LoginAsyncTaskクラスがログイン処理を終えたときに呼ばれます.

authentificate
保存されているキーを使って,DropboxAPIクラスのauthenticateTokenで認証を行ないます.

getConfig
DropboxAPI.Configクラスを初期化します.

getKeys, sroeKeys, clearKeys
キーの取得,保存,削除をそれぞれ行ないます.

LoginAyncTask
AsyncTaskクラスを継承.は,それぞれdoInBackgroundの引数,publishProgress及びonProgressUpdateの引数,onPostExecuteの引数=doInBackgroundの返り値です.publishProgressとonProgressUpdateは進捗状態等を表示するのに使われますが,このクラスでは使われていません.

doInBackground
ログイン処理を行う関数です.認証済みでない場合,ユーザ名(メールアドレス)とパスワードを使ってDropboxAPIのauthenticate関数で認証を試みます.その後,アカウント情報を取得し,成功か失敗か等の情報を返します.

onPostExecute
doInBackground後に,その返り値を引数に呼ばれる関数です.成功していれば,DropboxSampleクラスのUIにアカウント情報を表示します.失敗すれば,失敗の原因を表示します.

キーについて
何回かキーという言葉を使用していますが,ユーザ名とパスワードを使って認証すると,そのユーザとしてログインするためのキーが得られます.このキーを保存して使うことで,ユーザ名とパスワードを保存する必要なく,再入力する必要もなくなるので,セキュリティ上好ましいらしいです.

ログインに必要な関数はLoginAsyncTaskにまとまっているので,自分のアプリに組み込むときもこれを使いまわせば良さそうです.呼び出す側のDropboxSampleで特に重要なのはauthenticate(),getConfig(),それにキーの保存関係くらいですかね.

さて,次はファイルの取得と保存です.

0 件のコメント:

コメントを投稿