サンプルには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
ログイン処理を行う関数です.認証済みでない場合,ユーザ名(メールアドレス)とパスワードを使ってDropboxAPIのauthenticate関数で認証を試みます.その後,アカウント情報を取得し,成功か失敗か等の情報を返します.
onPostExecute
doInBackground後に,その返り値を引数に呼ばれる関数です.成功していれば,DropboxSampleクラスのUIにアカウント情報を表示します.失敗すれば,失敗の原因を表示します.
キーについて
何回かキーという言葉を使用していますが,ユーザ名とパスワードを使って認証すると,そのユーザとしてログインするためのキーが得られます.このキーを保存して使うことで,ユーザ名とパスワードを保存する必要なく,再入力する必要もなくなるので,セキュリティ上好ましいらしいです.
ログインに必要な関数はLoginAsyncTaskにまとまっているので,自分のアプリに組み込むときもこれを使いまわせば良さそうです.呼び出す側のDropboxSampleで特に重要なのはauthenticate(),getConfig(),それにキーの保存関係くらいですかね.
さて,次はファイルの取得と保存です.
0 件のコメント:
コメントを投稿