1,首先编辑xml,编辑信息然后保存起来
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入信息" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="确定" />
</LinearLayout>
2,编辑一个帮助单例类,方便信息保存
public class UserHelper {
private static UserHelper instance;
private UserHelper() {
}
public static UserHelper getInstance() {
if (instance == null) {
synchronized (UserHelper.class) {
if (instance == null) {
instance = new UserHelper();
}
}
}
return instance;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3,编写一个工具类,保存登陆标记,还有验证是否存在登陆用户以便自动登陆
public class SPUtils {
//登陆保存标志
public static boolean saveName(Context context, String name) {
SharedPreferences preferences = context.getSharedPreferences("data", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = preferences.edit();
edit.putString("name", name);
boolean result = edit.commit();
return result;
}
//验证是否存在登陆用户
public static boolean isLogin(Context context) {
boolean result = false;
SharedPreferences sharedPreferences = context.getSharedPreferences("data", Context.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
if (!TextUtils.isEmpty(name)) {
result = true;
UserHelper.getInstance().setName(name);
}
return result;
}
}
4,方法写好后,要怎么用,我们进去app在没有登陆的情况下都是进入登陆界面的,所以我们在这个界面编写方法,判断是否已经登陆,如果没有则进入登陆页面,反之进入主界面,我这里偷了个懒,用MainActivity和SecondActivity来代替了
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.et);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = editText.getText().toString();
if (name.equals("")) {
Toast.makeText(MainActivity.this, "请输入公司简称", Toast.LENGTH_SHORT).show();
} else if (name.length() < 4) {
Toast.makeText(MainActivity.this, "至少输入4个字符", Toast.LENGTH_SHORT).show();
} else {
SPUtils.saveName(MainActivity.this, name);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
//保存标记
UserHelper.getInstance().setName(name);
}
}
});
//判断是否已经登陆过
boolean login = SPUtils.isLogin(this);
if (login) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
5,至此,一个简单的自动登陆也就完成了,方法千变万化,思路才是最重要的。
最后,本人是菜鸟入门,写的不好希望各位大哥多多指教,共同进步