其他分享
首页 > 其他分享> > 在Android中保存和读取数据的最佳方法

在Android中保存和读取数据的最佳方法

作者:互联网

我有一个使用代理浏览URL连接的应用程序.但是我使用的代理主机,端口,用户名和密码正在使用硬代码.我已经做到了.但是现在我想只用一个引用数据的对象替换该硬代码.因此用户可以输入所需的代理,并可以使用其用户名和密码.这是我的流程.

因此,第一个用户可以输入所需的连接,主机,端口等名称.然后“保存”它.然后在下一个活动中,它将读取该连接的数据,如果存在该数据,则用户只需单击并浏览它即可.如果没有,他们可以创建连接.如果要创建它(它将返回到创建连接表单).

谢谢,

解决方法:

如果您只是想将数据发送到下一个活动,则可以使用intent.putExtra();.然后在下一个活动中调用getIntent().getStringExtras();

如果要保存数据直到下次用户更改它,则可以使用SharedPrefrance,因为您的数据量很少.

如果您的数据敏感(希望提供更高的安全性),则可以放入数据库或加密并放入数据库

在处理用户名和密码时,应使用sqlite数据库.否则,SharedPrefrance最好.

这是我的首选课程:

public class GreetingCardData {
    public static final String SHARED_PREF_FILE     =   "greetingCardData";
    public static final String KEY_DO_NOT_SHOW      =   "doNotShow";
    public static final String KEY_CATEGORIES_JSON  =   "categoriesJson";   
    private SharedPreferences sharedPrefs;
    private Editor prefsEditor;

    public GreetingCardData(Context context) {
        this.sharedPrefs = context.getSharedPreferences(SHARED_PREF_FILE, 0);
        this.prefsEditor = sharedPrefs.edit();
    }   

    public void setDoNotShowFlag ( boolean flag ){
        prefsEditor.putBoolean( KEY_DO_NOT_SHOW, flag );
        prefsEditor.commit();
    }

    public boolean getDoNotShowFlag(){
        return sharedPrefs.getBoolean( KEY_DO_NOT_SHOW, false );
    }

    public void setGreetingcardJson( String jsonString ){
        prefsEditor.putString( KEY_CATEGORIES_JSON, jsonString );
        prefsEditor.commit();
    }

    public String getGreetingcardJsonString(){
        return sharedPrefs.getString(KEY_CATEGORIES_JSON, "");
    }    
}

来自活动的致电:
保存数据:

new  GreetingCardData(ActivityMain.this).setDoNotShowFlag(flag);

获取数据:

boolean flag =  new  GreetingCardData(ActivityMain.this).getDoNotShowFlag();

标签:android,database,sharedpreferences,save,android-sqlite
来源: https://codeday.me/bug/20191009/1883130.html