Android_数据存储的写法流程

数据存储访问:

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://

主机名或者authoritycn.zsw.provider.personprovider

路径:/person/10

ID: 10

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

3)继承ContentProvider PersonProvider类写法



5网络

  ①HttpURLConnection

  ②Socket

  ③流

 (基本上都是java 网络和IO的知识)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值