五种页面布局
- 线性布局 Linearlayout
- 绝对布局 Absolutelayout
- 贞布局 Framelayout
- 相对布局 Relativelayout
- 表哥布局 Tablelayout
在内部存储中读写文件
//写文件
File file = new File("data/data/com.itheima.rwinrom/info.txt");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
fos.write((name + "##" + pass).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//读文件
File file = new File("data/data/com.itheima.rwinrom/info.txt");
if(file.exists()){
try {
FileInputStream fis = new FileInputStream(file);
//把字节流转换成字符流
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
//读取txt文件里的用户名和密码
String text = br.readLine();
String[] s = text.split("##");
et_name.setText(s[0]);
et_pass.setText(s[1]);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
使用API读写
File file = new File(getCacheDir(), "info.txt");
File file = new File(getCacheDir(), "info.txt");
public void readAccount(){
// File file = new File(getFilesDir(), "info.txt");
File file = new File(getCacheDir(), "info.txt");
if(file.exists()){
try {
FileInputStream fis = new FileInputStream(file);
//把字节流转换成字符流
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
//读取txt文件里的用户名和密码
String text = br.readLine();
String[] s = text.split("##");
et_name.setText(s[0]);
et_pass.setText(s[1]);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void login(View v){
String name = et_name.getText().toString();
String pass = et_pass.getText().toString();
CheckBox cb = (CheckBox) findViewById(R.id.cb);
//判断选框是否被勾选
if(cb.isChecked()){
//返回一个File对象,其路径是data/data/com.itheima.apirwinrom/files
// File file = new File(getFilesDir(), "info.txt");
//返回值也是一个File对象,其路径是data/data/com.itheima.apirwinrom/cache
File file = new File(getCacheDir(), "info.txt");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
fos.write((name + "##" + pass).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在外部存储中读写文件
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) //SD卡可用
File file = new File(Environment.getExternalStorageDirectory(), "info.txt"); //API访问路径
sharepreference
用于保存账户密码
public void readAccount(){
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
String name = sp.getString("name", "");
String pass = sp.getString("pass", "");
et_name.setText(name);
et_pass.setText(pass);
}
public void login(View v){
String name = et_name.getText().toString();
String pass = et_pass.getText().toString();
CheckBox cb = (CheckBox) findViewById(R.id.cb);
//判断选框是否被勾选
if(cb.isChecked()){
//使用sharedPreference来保存用户名和密码
//路径在data/data/com.itheima.sharedpreference/share_
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
//拿到sp的编辑器
Editor ed = sp.edit();
ed.putString("name", name);
ed.putString("pass", pass);
//提交
ed.commit();
}
//创建并显示吐司对话框
Toast.makeText(this, "登录成功", 0).show();
}
XML序列化器
public void click(View v){
//使用xml序列化器生成xml文件
//1.拿到序列化器对象
XmlSerializer xs = Xml.newSerializer();
//2.初始化
File file = new File("sdcard/sms2.xml");
try {
FileOutputStream fos = new FileOutputStream(file);
//enconding:指定用什么编码生成xml文件
xs.setOutput(fos, "utf-8");
//3.开始生成xml文件
//enconding:指定头结点中的enconding属性的值
xs.startDocument("utf-8", true);
xs.startTag(null, "message");
for (Message sms : smsList) {
xs.startTag(null, "sms");
xs.startTag(null, "body");
xs.text(sms.getBody() + "<body>");
xs.endTag(null, "body");
xs.startTag(null, "date");
xs.text(sms.getDate());
xs.endTag(null, "date");
xs.startTag(null, "type");
xs.text(sms.getType());
xs.endTag(null, "type");
xs.startTag(null, "address");
xs.text(sms.getAddress());
xs.endTag(null, "address");
xs.endTag(null, "sms");
}
xs.endTag(null, "message");
//告诉序列化器,文件生成完毕
xs.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
pull解析