我在我的应用程序中使用 Dropbox 核心 Api。当用户在启动时授权应用程序时,会创建一个密钥和一个密钥,允许应用程序与他们的 Dropbox 交互。我通过这样做将这些密钥存储在 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);
}
密钥和秘密在日志窗口中显示为 jkhfdsfuyuefd 和 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 的形式返回 - 现在与我存储的内容相匹配。我在这里做错了什么?