技術の犬小屋

Webプログラミングを餌に生きる犬のメモ帳

Posts in the Android category

フィーチャーフォンアプリやスマートフォンアプリにて顧客の情報を管理する必要があるようなサービスを作りたい場合、データベース側との照合において、顧客の使用する携帯端末を一意として識別する方法を用意する必要がある。
 
何故このような識別方法を取るのかと言うと、顧客の端末にあらかじめ紐付いている情報を利用することでログイン情報を入力させる手間を省くことができるからである。
 
 

UUIDを利用する

大人気iPhone用アプリ「パズドラ」が利用していると思われる認証方法。
アプリの初回起動時にUUIDを生成し、アプリ内に保持することによって、次回起動以降、そのUUIDを参照して個人の端末を識別する。
 
・メリット
IMEIやIMSIを利用することで発生するデメリットをある程度回避することが可能。
 
・デメリット
アプリが1度でも削除されるとUUIDも消えてしまい、照合できなくなる。(何らかの方法でアプリのバックアップが取れる機構が用意されている場合は回避可能)
 

IMEIを利用する

携帯端末に紐付けるられている固有番号を利用する認証方法。
 
・メリット
アプリを削除してしまっても再インストールすれば再度認証が可能。
 
・デメリット
携帯端末の乗り換え(変更)を行うと照合ができなくなる。
 

IMSIを利用する

SIMカードに紐付けられている固有番号を利用する認証方法。
 
・メリット
アプリを削除してしまっても再インストールすれば再度認証が可能。
携帯端末を乗り換えても、同じSIMカードさえ手元にあれば認証が可能。
 
・デメリット
SIMカードスロットが搭載されていない端末では利用不可。
通信事業者との契約を解約する際にSIMカードは通信事業者に返却しなければいけない。
 
 
以上
 
 
参考
独自の調査・研究

仕事でAndroidによる開発を行ったので、その際に用いたデバッグ方法のメモ。
  
 

方法

Androidには専用のデバッグツールがあり、その名もLogCatという。
 
EclipseにAndroidSDKをインストールした際にはLogCatがデフォルトで付属する。
 
LogCatには専用の命令が用意されており、以下のような記述で強制的にログに自分でコメントを出力することができる。
 
 

Log.d("○○のデバッグ", "ここを通過したよ!");

 
第1引数がタグ、第2引数がテキストという分類でログに出力される。
 
 
 

例外処理を合わせて使う

Androidアプリの開発ではJavaを使うので、この場合の例外処理はtry catch文を使う。
 
以下のようにエラーが発生しそうなコードをtryブロックで囲み、catchブロックにLog.d();を書いておく。
 

try{
    //エラーが発生しそうなコード


} catch (Exception e) {
    Log.d("例外処理でのデバッグ", "上記のコードでエラー発生です。");
}