使用共享偏好的登录页面[重复]
Posted
技术标签:
【中文标题】使用共享偏好的登录页面[重复]【英文标题】:login page using shared preference [duplicate] 【发布时间】:2015-12-02 16:10:36 【问题描述】:package com.trid.sharedtask;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener
TextView userName, password;
Button ok, cancel;
SharedPreferences shared;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userName = (TextView) findViewById(R.id.userName);
password = (TextView) findViewById(R.id.password);
ok = (Button) findViewById(R.id.ok);
cancel = (Button) findViewById(R.id.cancel);
userName.setText(shared.getString("key1", ""));
password.setText(shared.getString("key1", ""));
ok.setOnClickListener(this);
@Override
public void onClick(View v)
Intent intent = new Intent(getApplicationContext(), Activity2.class);
startActivity(intent);
SharedPreferences shared = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putString("key1", userName.getText().toString().trim());
editor.putString("key2", password.getText().toString().trim());
editor.commit();
我必须使用共享偏好创建登录页面。如果用户第一次进入活动,用户名和密码应存储在共享首选项中。如果用户连续输入,则共享首选项将数据提取到用户名和密码。
感谢您的帮助...!
【问题讨论】:
有什么问题? 【参考方案1】:首先,您将检查共享偏好的值。您将默认值保留为空白或任何您想要的。如果共享首选项返回空白值,那么您将存储详细信息,否则您将获取详细信息并与当前值进行比较。
【讨论】:
【参考方案2】:在 Onclick 方法中,使用 contains("key") 方法检查键是否存在于 sharedpreference 中:
@Override
public void onClick(View v)
Intent intent = new Intent(getApplicationContext(), Activity2.class);
startActivity(intent);
SharedPreferences shared = getPreferences(Context.MODE_PRIVATE);
if(shared.contains("username") && shared.contains("password"))
//Get data from shared preference here and do whatever you want
else
SharedPreferences.Editor editor = shared.edit();
editor.putString("key1", userName.getText().toString().trim());
editor.putString("key2", password.getText().toString().trim());
editor.commit();
【讨论】:
以上是关于使用共享偏好的登录页面[重复]的主要内容,如果未能解决你的问题,请参考以下文章