1.
使用SharedPreferences与Editor存储少量数据
a.获得
SharedPreferences实例的方法:
SharedPreferences sp =getSharedPreferences(String name,int mode);
其中name为xml的名称,
mode:Context.MODE_PRIVATE(推荐使用),
Context.MODE_WORLD_READABLE,
Context.MODE_WORLD_WRITEABLE(后两个不推荐使用)
b.获取Editor对象:
SharedPreferences.Editor editor = sp.edit();
c.从xml中获取数据
sp.getXXX(key,defvalue);
d.向xml中写数据
editor.putXXX(key,value);//假如要存入日期,要用SimpleDateFormat将Date转换成String,再传进去
editor.commit();//提交所有存入的数据
e.xml中的数据
xml中的数据以方式存储,所以内部行程一个个key-value对
2.
File存储,访问手机存储器上的文件,区别SD卡(打开输入流或者输出流之后,用法跟Java IO一样)
Context提供了FileInputStream openFileInput(String name),
FileOutputStream openFileOutput(String name,int mode)方法
其中mde:MODE_PRIVATE:该文件只能被当前程序读写
MODE_APPEND:可以向该文件追加内容
a.关于读文件
//打开文件输入流
FileInputStream fis = openFileInput(FILE_NAME);
byte[] buff =new byte[1024];
int hasRead=0;
StringBuilder sb = new StringBuilder("");
//读取文件内容
while((hasRead = fis.Read(buff))>0){
sb.append(new String(buff,0,hasRead));
}
//关闭文件输入流
fis.close();
b.关于写文件
FileOutputStream fos =
openFileOutput(FILE_NAME,MODE_APPEND);
//将fos包装成PrintStream
PrintStream ps = new PringStream(fos);
//写入文件内容
ps.println(content);
ps.close();
3.
读写SD卡上的文件
a.添加权限
b.判断是否插入SD卡,而且是否已经添加权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
c.读文件(先调用上面方法判断)
//获取SD卡的存储目录
File sdCardDir = Environment.getExternalStorageDirectory();
//再用Java IO的方法可以读取
d.写文件(同上)
利用RandomAccessFile来写文件,如果用FileOutStream写的话会清空所有内容
4.使用SQLite进行数据库操作
a.步骤
1.获取
SQLiteDatabase
对象,它代表了与数据库的连接
2.调用
SQLiteDatabase的方法来执行SQL语句
3.操作SQL返回的结果,例如用SimpleCursorAdapter封装Cursor
4.关闭
SQLiteDatabase,回收资源
b.SQLite建表时的注意事项
SQLite除了integer primary key要指定类型之外,其他数据可以省略后面的类型:
create table my_inf{
id interger primary key autoincrement,
name,
pass
};
c.继承SQLiteOpenHelper类
1.重写onCreate(SQLiteDatebase db)在里面创建表
重写onUpgrade(
SQLiteDatebase db ,int oldVersion,int newVersion)当版本更新时调用
2.调用getReadableDatabase()读写方式打开数据库的
SQLiteDatabase对象
调用
getWritableDatabase()写方式打开数据
的
SQLiteDatabase对象
得到SQLiteDatabase对象之后可以调用该对象的executeSQL()方法执行SQL了
3.调用查询方法返回的都是Cursor对象(后续补充)