Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
存储登录凭据android_Android - Fatal编程技术网

存储登录凭据android

存储登录凭据android,android,Android,我已经做了一个安卓应用程序,运行良好。我在其中实现了登录功能。是否有人可以指导我如何存储用户的登录凭据,以便用户不必每次启动应用程序时都登录。我将凭据存储在sqlite数据库中,并在每次启动应用程序时进行检查。我的应用程序有一个注销按钮,可以清除凭据 首次当db表为空时,显示登录表单 将成功登录存储在db表中 退出应用程序 重新启动应用程序 检查登录详细信息是否存在 如果可用,请立即开始或要求再次登录 根据您保存所有登录日志等的要求,设计会有所不同。您可以对此类任务使用共享首选项。Android

我已经做了一个安卓应用程序,运行良好。我在其中实现了登录功能。是否有人可以指导我如何存储用户的登录凭据,以便用户不必每次启动应用程序时都登录。

我将凭据存储在sqlite数据库中,并在每次启动应用程序时进行检查。我的应用程序有一个注销按钮,可以清除凭据

  • 首次当db表为空时,显示登录表单
  • 将成功登录存储在db表中
  • 退出应用程序
  • 重新启动应用程序
  • 检查登录详细信息是否存在
  • 如果可用,请立即开始或要求再次登录

  • 根据您保存所有登录日志等的要求,设计会有所不同。您可以对此类任务使用共享首选项。Android开发者网站上的一个示例:

    public class Calc extends Activity {
        public static final String PREFS_NAME = "MyPrefsFile";
    
        @Override
        protected void onCreate(Bundle state){
           super.onCreate(state);
           . . .
    
           // Restore preferences
           SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
           boolean silent = settings.getBoolean("silentMode", false);
           setSilent(silent);
        }
    
        @Override
        protected void onStop(){
           super.onStop();
    
          // We need an Editor object to make preference changes.
          // All objects are from android.context.Context
          SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
          SharedPreferences.Editor editor = settings.edit();
          editor.putBoolean("silentMode", mSilentMode);
    
          // Commit the edits!
          editor.commit();
        }
    }
    

    我推荐共享首选项,但也可以查看该页面上的其他选项,看看它们是否更适合您的需要。

    最安全的方法可能是实施一些“cookie”机制,这样您就不必真正在本地存储密码。(因为没有简单的安全存储可供应用程序使用,而且几乎所有内容都向root用户公开。)

    请参阅以获取更多的指针

    您可能希望使用一些现有的系统,如openid或oauth,这样您就不必担心自己的安全性。看看你是否可以使用谷歌帐户作为登录