在我的应用程序中,我使用ksoap2库来验证android中的用户名和密码。现在我想知道,哪种方式是存储常用信息的最佳且安全的方式,这样我就可以在任何其他屏幕中获取这些信息,而无需使用ksoap请求我的Web服务器。
我来自网络背景,所以我知道在网络中,我们将用户信息存储在会话或cookie中。会话在服务器上存储,cookie存储在本地机器上。
我也读过安卓中的cookie,但我不知道它是如何工作的,也不知道它保存在哪里。
请告诉我该怎么做?如果你知道任何可以帮助我学习这个东西的教程,请发布它。提前谢谢。
您可以使用SharedPreference以键值对的形式存储信息。
private SharedPreferences myUserPrefs;
private SharedPreferences.Editor myUserEdit;
myUserPrefs = getApplicationContext().getSharedPreferences("name of shared preference", Context.MODE_PRIVATE);
myUserEdit = myUserPrefs.edit();
在SharedPreference中保存一些信息:
myuserEdit.putString("key", "value");
myUserEdit.commit();
获取一些价值:
String=myUserPrefs.getString("key", "default value");
示例代码:
save:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = settings.edit();
editor.putString("username", yournamestored);
editor.commit();
get:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
String ret = settings.getString("username", "defaultname");
cookie字符串和其他字符串也是如此。
Shared Preference最适合您的短数据存储和共享问题。。但如果需要,您也可以使用SQLlite数据库。。有关android中的更多存储选项,请查看以下
http://developer.android.com/guide/topics/data/data-storage.html
Cookie和Session在android中不起作用。您必须使用Shared Preferences或Static变量来满足您的需求。
如果每次应用程序启动时都验证用户,那么最好使用静态可变或
如果在安装应用程序时只验证用户一次,则最好使用共享首选项