小编Kal*_*glu的帖子

SharedPreferences总是在我现有的应用程序中获得默认值,但是在创建新应用程序时它就可以了

SharedPreferences在一个现有应用中无法正常工作.我尝试了很多不同的方法,但仍然没有工作.始终获取默认值app start.

  • 当我在创建的新应用程序中使用相同的代码时,它正在工作.
  • 它正在运行所有其他现有应用程序.

你知道为什么吗?

    String default_user = "Default_User";
    SharedPreferences pref = this.getSharedPreferences("TEST_SHAREDPREF", MODE_PRIVATE);
    String user = pref.getString("user", default_user);
    Log.d("SHARED CHECK", user);
    if (user.equals(default_user)) {
        SharedPreferences.Editor edit = pref.edit();
        edit.putString("user", "new_user");
        boolean ok = edit.commit();
        user = pref.getString("user", default_user);
        Log.d("SHARED WRITE", user);
        Toast.makeText(this, user + " Save process: " + ok, Toast.LENGTH_LONG).show();
    } else {
        Log.d("SHARED READ", user);
        Toast.makeText(this, "READ SharedPrefs: " + user, Toast.LENGTH_LONG).show();
    }
Run Code Online (Sandbox Code Playgroud)

编辑:记录结果

该块总是返回这个不正确的应用程序,我不知道为什么

    //first run
    SHARED CHECK Default_User
    SHARED WRITE new_user

    //each time after …
Run Code Online (Sandbox Code Playgroud)

android sharedpreferences

16
推荐指数
3
解决办法
4395
查看次数

如何使用HttpsUrlConnection而不是DefaultHttpClient

不推荐使用DefaultHttpClient,ThreadSafeClientConnManager,HttpParams,HttpProtocolParams,SchemeRegistry,SSLSocketFactory,NameValuePair,HttpResponse.

我试图使用HttpsUrlConnection,但我对它们感到困惑.

protected Gson gson;
private ThreadSafeClientConnManager threadSafeClientConnManager;
private DefaultHttpClient client;

AbstractServiceApi() {

    // sets up parameters
    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, ENCODING);
    HttpConnectionParams.setConnectionTimeout(params, 95 * 1000);
    HttpConnectionParams.setSoTimeout(params, 95 * 1000);
    HttpConnectionParams.setStaleCheckingEnabled(params, false);
    params.setBooleanParameter("http.protocol.expect-continue", false);

    // registers schemes for both http and https
    SchemeRegistry registry = new SchemeRegistry();
    registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory();
    sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
    registry.register(new Scheme("https", sslSocketFactory, 443));

    threadSafeClientConnManager = new ThreadSafeClientConnManager(params, registry);
    client = new DefaultHttpClient(threadSafeClientConnManager, params);
    gson = new Gson();
}
Run Code Online (Sandbox Code Playgroud)

我没有密钥库. …

android httpsurlconnection

4
推荐指数
3
解决办法
2万
查看次数