1、使用共享文件存储(sharedpreference)
存储的内容以键值对的形式保存在应用包名下,只能存储字符串,整型,布尔等基本类型数据,使用场景如登录后保存账户密码、保存点击的状态等。
使用方式:
1)保存数据:
SharedPreferences.Editor editor = getSharedPreferences(“data”,MODE_PRIVATE).edit();
editor.putString(“test”,“test11”);
editor.commit();
2)获取数据:
SharedPreferences sharedPreferences = getSharedPreferences(“data”,MODE_PRIVATE);
String text = sharedPreferences.getString(“test”,"");
data为保存的目录,MODE_PRIVATE为模式,
/** 默认操作模式,代表该文件是私有数据,只能被应用本身访问,
* 在该模式下,写入的内容会覆盖原文件的内容*/
Context.MODE_PRIVATE
/** 该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件*/
Context.MODE_APPEND
在androdi4.2中已经废除以下两种模式
/** 当前文件可以被其他应用读取*/
Context.MODE_WORLD_READABLE
/** 当前文件可以被其他应用写入*/
Context.MODE_WORLD_WRITEABLE
实现单机状态下的用户名密码保存功能
package com.example.libaitian.myapplication;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class LoginActivity extends Activity {
private EditText name,password;
private Button button;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
name = findViewById(R.id.textView);
password = findViewById(R.id.textView2);
button = findViewById(R.id.button);
//启动时先判断时候保存用户名密码
getUserAndPass();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//点击登陆并保存用户名密码
String userName = name.getText().toString();
String userPassword = password.getText().toString();
if(!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)){
//保存账户信息
SharedPreferences sharedPreferences = getSharedPreferences("user",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name",userName);
editor.putString("password",userPassword);
editor.commit();
Toast.makeText(LoginActivity.this,"登录成功",Toast.LENGTH_LONG).show();
}else {
Toast.makeText(LoginActivity.this,"用户名或密码为空",Toast.LENGTH_LONG).show();
}
}
});
}
private void getUserAndPass(){
SharedPreferences sharedPreferences = getSharedPreferences("user",MODE_PRIVATE);
String getName = sharedPreferences.getString("name","");
String getPassword = sharedPreferences.getString("password","");
if(!TextUtils.isEmpty(getName) && !TextUtils.isEmpty(getPassword)){
name.setText(getName);
password.setText(getPassword);
Toast.makeText(LoginActivity.this,"自动登录",Toast.LENGTH_SHORT).show();
}
}
}
2、文件存储
可以学习https://blog.csdn.net/u010937230/article/details/73303034/这篇博客