SharedPreferences存储+SD卡存储
SharedPreferences存储
代码:
SharedPreferences preferences = getSharedPreferences("songdingxing", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("loc","456");
editor.commit();
实例化SharedPreferences对象
实例化Editor对象
putString----存放数据到map集合中
commit----提交数据
getString-----读取数据 参数:key 没有则默认数据
SD卡存储
代码:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//获取SD卡根路径:mnt/shell/emulated/0
File file=Environment.getExternalStorageDirectory();
FileOutputStream out=null;
try {
//创建输出流
out= new FileOutputStream(new File(file,"json.txt"));
out.write(json.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(out!=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
首先进行挂载判断
其次 使用FileOutputStream进行写入
读取同理
使用FileInpuStream 进行读取
原理较为简单但是 对于SD卡的路径要精确
监听
代码:
name.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
分别为 输入前 内容改变 输入后
此监听适用于判断是否有文字,按钮的改变
用来监听输入框内容