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);
数据流向图:

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
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);
数据流向图:
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