您的位置:首页 > 移动开发 > Android开发

Android_数据存储的写法流程

2012-10-20 12:34 183 查看
数据存储访问:

1文件:

JavaSE IO技术

1)文件的保存:

①获取文件名称filename和文件内容filecontent

②为对应的文件创建FileoutputStream:

如果存储在手机存储上,用context.openFileInput(filename) 获得流;

如果存储在SDcard上,用new FileOutputStream(new File(...))

根据存储内容自定义类类型。;

③将文件内容写入输出流中 fo.write(....)

④关闭流

2)文件的读取:read

①获取文件的名称

②为对应的文件创建FileInputStream(方式同文件的保存)

③定义一个缓冲输出流ByteArrayOutputstream(内存),用于存放读出来的数据

④fi.read(buffer) os.write(....)

⑤将缓冲流数据转换后返回

示例://获取输入流

FileInputStream fi=context.openFileInput(filename);

Log.i("fi",fi.toString());

//字节数组输出流:缓存字节数据

ByteArrayOutputStream outStream=new ByteArrayOutputStream();

//将数据全部读到字节数组输出流中

byte [] buffer=new byte[1024];

int len=0;

while((len=fi.read(buffer))!=-1){

outStream.write(buffer,0,len);

}

return new String(outStream.toByteArray());

2SharedPreferences(参数)

public class Calc extends Activity {

public static final String PREFS_NAME= "MyPrefsFile";

@Override

protected void onCreate(Bundle state){

super.onCreate(state);

. . .

// Restore preferences

SharedPreferences settings= getSharedPreferences(PREFS_NAME, 0);

boolean silent= settings.getBoolean("silentMode", false);

setSilent(silent);

}

@Override

protected void onStop(){

super.onStop();

// We need an Editor object to make preference changes.

// All objects are from android.context.Context

SharedPreferences settings= getSharedPreferences(PREFS_NAME, 0);

SharedPreferences.Editor editor= settings.edit();

editor.putBoolean("silentMode", mSilentMode);

// Commit the edits!

editor.commit();

}

}

3 SQLite数据库

①继承SQLiteOpenHelper类,数据库生成、表的设计、库升级

②SQLiteDatabase:操作数据库,增删改查

数据库知识总结:

①创建数据库

SQLiteOpenHelper getReadableDatabase()或getWriteableDatabese()

②SQLiteOpenHelper自动创建数据库的原理实现

③数据库版本变化

④编写代码完成增删改查操作(两种:SQL语句和调用API)

⑤事务的实现

4内容提供者(Content provider)

可以把任意类型的数据对外共享。

示例:将上一个应用中的person表的数据对外共享。

1)Content Provider的特点

使用Content Provier对外共享数据的好处是:统一了数据的访问方式

2)继承ContentProvider ,并在manifest.xml中配置

<provider android:name=".PersonProvider" android:authorities="cn." />

3)uri代表要操作的数据,Uri主要包括两部分信息:

①需要操作的ContentProvider

②对ContentProvider中的什么数据进行操作

一个Uri的几部分组成:

Content://cn.zsw.provider.personprovider/person/10

Scheme:content://

主机名或者authority:cn.zsw.provider.personprovider

路径:/person/10

ID: 10

③内容提供者的数据可以来之数据库、文件、网络

3)继承ContentProvider 的PersonProvider类写法

5网络

①HttpURLConnection

②Socket

③流

(基本上都是java 网络和IO的知识)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: