Android初学者日记 23获取数据方式- sql,Sdcard,assets,preferences

Android菜鸟日记 23获取数据方式- sql,Sdcard,assets,preferences
Android菜鸟日记
23获取数据方式- sql,Sdcard,assets,preferences

Sql
在android中 sqlltie适用于大量存储数据的。
至少我是这么认为。

主要:
是 SQLhelper 来作为助手
在继承sqlhelper的类中的oncreate 创建数据库。
然后通过SQLhelper的对象得到具体数据库
SQLhelper对象.getWritableDatabase()    //得到可写数据库
SQLhelper对象.getReadableDatabase()    //得到可读数据库

Sdcard
从Sdcard中读取数据
是通过new File(“/sdcard”+filepath).来获得file对象
然后file对象.length获得长度。
创建相应长度的btye[];
再把file文件放入fileinputStream中
Read到刚才的btye[]数组里。
数组再把相应的文件new String(数组对象 , 编码格式);

Assets
名:资产   与res的区别是res载入内存,assets不载入
Assets来以字节流的方式读取文件
获得assets输入流
InputStream is = this.getResources().getAssets().open(fileName);
//获得assets输入流
int ch = 0;
ByteArrayOutputStream by = new ByteArrayOutputStream();
// 因为无法获取文件byte长度 所以使用ByteArrayOutputStream来作为暂存
// 像sd那边 就直接用file对象.length 就知道长度 直接使用byte数组即可
while ((ch = is.read()) != -1) {
by.write(ch);
}
byte[] t = by.toByteArray();
is.close();
temp_str =new String(t);



数据流向图:


Android初学者日记 23获取数据方式- sql,Sdcard,assets,preferences

Preferences
重点:这个是简单数据存储的最好选择
介绍:这个是以键值对的形式存在系统的data下的。

存储:

private SharedPreferences sp=this.getSharedPreferences("sp_test", Context.MODE_PRIVATE);
//通过getSharedPreferences获得SharedPreferences对象。
SharedPreferences.Editor spEditor=sp.edit();
//从sp中得到SharedPreferences.Editor对象
spEditor.putString("name1", "poolo");
//键值
spEditor.commit();
//提交


获取
private SharedPreferences sp=this.getSharedPreferences("sp_test", Context.MODE_PRIVATE);
//通过getSharedPreferences获得SharedPreferences对象。
String name=sp.getString("name", "god");
//(键,默认值)  默认值:指的是如果系统Preferences中没有此键的话返回的值

2011-10-13
poolo