1.sharedpreferences
sharedpreferences的主要作用是储存程序的轻量级数据,像配置参数之类的。
获取sharedpreferences的数据:
//获取sharedpreferences对象
sharedpreferences preference = getSharedPreferences("crazyit",MODE_WORLD_READABLE);
//获取sharedpreferences中的数据,其中第二个参数表示取不到第一个值将取第二参数的值
String time = preference.getstring("time",null);
//同上
String randNum = preference.getint("random",0);
向sharedpreferences写入数据
//获取preference的editor对象
sharedpreferences.Eidtor editor = preference.edit();
//像sharedpreferences中写入key为time的数据
editor.putString(“time”,time);
对其他程序的sharedpreferences进行读写:
前提是上一个应用程序必须开放读写权限。
第一步使用createPackgeContext(string packgeName,int flags) 方法获取上一个应用程序的context 之后的操作就一样了。
2.File储存。
根据文件名称获取文件的读写流,之后进行相应的
读操作:
//获取文件的输入流
FileInputStream in = openFileInput(fileName);
//获取数组的大小
int length = in.available();
//创建byte数组便于读取数据
byte [] buff = new byte[length];
//把数据读取到buff中
in.read(buff);
//防止乱码
res = EncodingUtils.getString(buff, "UTF-8");
in.close();
写操作:
//获取文件的输出流,将以追加的形式增加数据
FileOutputStream out = openFileOutput(fileName,MODE_APPEND);
//把字符串转化成相应的byte数组
byte [] buff = string.getBytes();
//把buff写入到文件中
out.write(buff);
out.close();
3读写sd卡上的文件
要读取sd卡上的文件,必须先判断手机上是否有sd卡和相关的读写权限
读操作:
//判断手机中是否有sd卡,和相关访问sd卡的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
//获取sd卡的相关储存路径
File sdcard = Environment.getExternalStorageDirectory();
//根据路径和文件名称获取相应的文件输入流
FileInputStream in = new FileInputStream(sdcard.getCanonicalPath() + fileName);
int length = in.available();
byte [] buff = new byte[length];
n.read(buff);
res = EncodingUtils.getString(buff, "UTF-8");
in.close();
return res;
}
写操作就不再重复了
此处追加一个知识对File的操作:
listFiles();//列出此文件夹下的所有文件数组
getParentFile() //获取上级目录文件夹
4. SQLiteDatabase数据库
//打开相应目录下的数据库
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString() + "/my.db3",null);
//之后便可以使用sql语句进行相应的操作了
db.execSQL("insert into news_inf values(null,?,?)",new String[]{title,content});
//查询出数据,并且储存在Cursor对象中
Cursor cursor = db.rawQuery("select * from news_inf", null);