# Androidアプリのメモ
  • Activity_main : UIの配置など

  • MainActivity.java

    • bindingでボタンに関数を対応させる
  • データの保存場所

  • アンインストール時に削除:

    • アプリ固有のファイル : getFilesDir
    • アプリ設定 : SharedPreferences : 外部からアクセス不可
    • DB : 構造化データ : 外部からアクセス不可

Cognitoでの認証

  • mobileClient クラスを使用

トークンの取得

        mobileClient.getInstance().getTokens(
                new Callback<Tokens>() {
                    @Override
                    public void onResult(Tokens result) {
                        String mes = "";

                        mes+=result.getAccessToken().getTokenString()+",";
                        mes+=result.getIdToken().getTokenString() + ",";
                        mes+=result.getRefreshToken().getTokenString();
                        createDialog(mes);
                        android.util.Log.i(TAG,mes);
                    }

                    @Override
                    public void onError(Exception e) {
                        createDialog( String.format("GetToken onError: %s",e.getMessage()));
                    }
                }
        );

SHaredPreferencesの値取得

        SharedPreferences data = getSharedPreferences("com.amazonaws.mobile.client", Context.MODE_PRIVATE);

        String mes = "";
        Map<String,?> map = data.getAll();
        for(Map.Entry<String, ?> entry : map.entrySet()){
            mes += "" + entry.getKey() + ":" + entry.getValue() +"";
        }
        android.util.Log.i(TAG, "Storage:"+mes);
        createDialog( "Storage:"+mes );

取得したトークンをコピペしてCLIで実行することも可能 aws cognito-idp get-user –access-token

Logの見方

  • LogCat

  • View -> ToolWindows -> LogCat

  • 形式


date time PID-TID/<package name> <priority>/tag: message

  • V: Verbose(最も低い優先度)
  • D: Debug
  • I: Info
  • W: Warning
  • E: Error
  • A: Assert