即:.把瞬时数据存储起来。
1.文件存储。
写数据:
FileOutputStream out=openFileoutput( "data",context.MODE_PRIVATE);
BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(out));
writer.write();
结束时writer要关闭。
public void save(String inputText) {
FileOutputStream out = null;
BufferedWriter writer = null;
try {
out = openFileOutput("data", Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(inputText);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
读取数据:
InputStrem in=openFileInput( "data");
BufferedReader reader=new BufferedReader(new InputStremReader(in));
String readline=Reader.readLine();
利用StringBuilder的append()方法来保存所有字符串内容
StringBuilder content=new StringBuilder( );
conent.append(readline);
2利用SharedPreferences来存储键值对数据,即每个数据对应相应的名字。
获取SharedPreferences对象,有三种方法:
context的getSharedPrefereces(“data” ,context.MODE_PRIVATE);
Activity类的getPrefereces(context.MODE_PRIVATE);
preferceManager类的getDefaultContextPreferences(context);
写数据
SharedPreferences pre=getSharedPreferences( );//获取sharedPreferences对象。
SharedPreferences.Editor editor=pre.edit( );//获取编辑器
然后就可以利用编辑器来添加数据了。
editor.putInt("age",22);
editor.putBoolean("marriage",false);
将编辑器提交
editor.commit( );
读取数据:
SharedPreferences pre=getSharedPreferences( );//获取sharedPreferences对象。
int age=pre.getInt("age",0);//第二个参数是默认的。如果没有这个键的值,就默认为0.
boolean marriage=pre.getBoolean("marriage",false");
3 SQlite 数据存储。
首先应该自定义一个MyDatabaseHelper继承SQLiteOpenHelper.必须重写 onCreate( )和onUpdate( )方法。
构造函数中有四个参数:context,数据库名 name,还有查询数据时返回自定义的cursor,一般为null,当前数据库的版本。
public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version)
当version 比之前的版本高,就会调用onUpdate()方法,否则就会调用onCreate( )方法
获取MyDataBaseHelper对象后,在调用方法getReadableDatabase( )可以得到SQLiteDataBase对象 database.
调用database的
insert( )第一个参数为表名,第二参数一般为null,第三个参数为ContentValues类型的对象,
ContentValues values = new ContentValues();
// 开始组装第一条数据
values.put("name", "The Da Vinci Code");
values.put("author", "Dan Brown");
values.put("pages", 454);
values.put("price", 16.96);
db.insert("Book", null, values); // 插入第一条数据
values.clear();
delete( 表名,“age=?”,new String[]{"21"});
update(表名,values,"age=?",new String[]{"21"});//values为更新的键值对
Cursor cursor=query(表名,"name,age","id=?",new String[]{"1"},null,null,null)第5,6,7个参数分别代表,group by,having,order by等方法的
cursor.MoveToFirst( );cursor.MoveToNext( );
cursor.getString(getColumnIndex("age"));
方法可以实现数据库的增删改查