从prefences.xml中输入一些关键文本

时间:2016-10-01 05:59:47

标签: android sharedpreferences

我从偏好.xml中保存了一些数据 但我想把url放到我的activitity.java

这是我的代码 ; public static final String PREFS_NAME = "mypreferemce.xml";

这是我的url从preference.xml获取一些密钥

 public void lampu1(View view) {
    boolean on = ((ToggleButton) view).isChecked();
    if (on) {

        final WebView wv = (WebView) findViewById(R.id.webview5);
        wv.setWebViewClient(new WebViewClient(){
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                wv.loadUrl( "file:///android_asset/1.html");
                Toast.makeText(getApplicationContext(),
                        "koneksi error", Toast.LENGTH_LONG).show();
            }
        });
        wv.canGoBack();
       wv.loadUrl("http://someurl.com");


    }

这是我的preference.xml

<string name="mypreference_string">http://someurl.com</string>

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

使用下面的代码创建一个类似这样的类,无论你需要用什么来保存共享偏好中的任何内容,都可以使用 set 方法并从 SharedPreference 使用其获取方法。

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class SharedPrefManager {

    public static SharedPreferences getSharedPref(Context mContext) {
        SharedPreferences pref = mContext.getSharedPreferences(Constants.SETTINGS, Context.MODE_PRIVATE);

        return pref;
    }

    public static void setPrefVal(Context mContext, String key, String value) {
        if(key!=null){
        Editor edit = getSharedPref(mContext).edit();
        edit.putString(key, value);
        edit.commit();
        }
    }

    public static void setIntPrefVal(Context mContext, String key, int value) {
        if(key!=null){
            Editor edit = getSharedPref(mContext).edit();
            edit.putInt(key, value);
            edit.commit();
        }
    }

    public static void setLongPrefVal(Context mContext, String key, Long value) {
        if(key!=null){
            Editor edit = getSharedPref(mContext).edit();
            edit.putLong(key, value);
            edit.commit();
        }
    }

    public static void setBooleanPrefVal(Context mContext, String key, boolean value) {
        if(key!=null){
            Editor edit = getSharedPref(mContext).edit();
            edit.putBoolean(key, value);
            edit.commit();
        }
    }


    public static String getPrefVal(Context mContext, String key) {
        SharedPreferences pref = getSharedPref(mContext);
        String val = "";
        try {
            if (pref.contains(key))
                val = pref.getString(key, "");
            else
                val = "";
        }catch (Exception e){
            e.printStackTrace();
        }
        return val;
    }

    public static int getIntPrefVal(Context mContext, String key) {
        SharedPreferences pref = getSharedPref(mContext);
        int val = 0;
        try {
        if(pref.contains(key)) val = pref.getInt(key, 0);
        }catch (Exception e){
            e.printStackTrace();
        }
        return val;
    }

    public static Long getLongPrefVal(Context mContext, String key) {
        SharedPreferences pref = getSharedPref(mContext);
        Long val = null;
        try{
        if(pref.contains(key)) val = pref.getLong(key, 0);
    }catch (Exception e){
        e.printStackTrace();
    }
        return val;
    }

    public static boolean getBooleanPrefVal(Context mContext, String key) {
        SharedPreferences pref = getSharedPref(mContext);
        boolean val = false;
        try{
        if(pref.contains(key)) val = pref.getBoolean(key, false);

        }catch (Exception e){
            e.printStackTrace();
        }
        return val;
    }


    public static boolean containkey(Context mContext,String key)
    {
        SharedPreferences pref = getSharedPref(mContext);
        return pref.contains(key);
    }   

}

如果需要任何帮助来实现这一点,请尝试使用,然后告诉我。