2

アプリでDropboxコアApiを使用しています。ユーザーが起動時にアプリを承認すると、アプリがドロップボックスと相互作用できるようにするキーと秘密キーが作成されます。これを行うことで、これらのキーをSharedPreferencesに保存しています。

private void storeKeys(String key, String secret) {
    // Save the access key for later
    SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
    Editor edit = prefs.edit();
    edit.putString(ACCESS_KEY_NAME, key);
    edit.putString(ACCESS_SECRET_NAME, secret);
    edit.commit();
    Log.d("DbAuthLog", key);
    Log.d("DbAuthLog", secret);
}

キーとシークレットは、ログウィンドウにjkhfdsfueyuefdおよびyde767eyshy(もちろんセキュリティのための偽のキー)として表示されます。

今、私がそれらのキーを取得するために行くとき、私はこれをしています:

private AccessTokenPair getStoredKeys() { //Need to fix this and test

    SharedPreferences accessKey = getSharedPreferences(ACCESS_KEY_NAME, 0);
    SharedPreferences secretKey = getSharedPreferences(ACCESS_SECRET_NAME, 0);
    System.out.println(accessKey + "--" + secretKey + "from storeKeys");
    return null;

問題は、getStoredKeysからアイテムを出力すると、-android.app.SharedPreferencesImpl @ 41201188--android.app.SharedPreferencesImpl @ 41201928として返されることです。これは、保存したものと一致します。私はここで何が間違っているのですか?

4

2 に答える 2

2

設定に誤ってアクセスしています。

SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
String accessKey = prefs.getString(ACCESS_KEY_NAME);
String secretKey = prefs.getString(ACCESS_SECRET_NAME);
于 2013-02-19T14:19:53.287 に答える
1

これらのトークンを SharedPreference 内の文字列として保存しているため、それらを文字列として戻す必要があります。

private AccessTokenPair getStoredKeys() { //Need to fix this and test
SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
String accessKey = prefs.getString(ACCESS_KEY_NAME, "");
String secretKey = prefs.getString(ACCESS_SECRET_NAME, "");
System.out.println(accessKey + "--" + secretKey + "from storeKeys");
return null;
于 2013-02-19T14:22:46.357 に答える