zoukankan      html  css  js  c++  java
  • Android数据存储操作

    数据存储

    一:SharedPreferences:是android提供用来存储一些简单的配置信息的一种机制。比如一些默认的欢迎语,用户名、密码等

    它以键值对的方式存储,可以很方便的写入和读取

    SharedPreferences是以的XML格式以文件的方式自动保存的。在DDMS中的File Explorer中展开到/data/data/<package name>/shared_prefs可以找到

    二:文件存储——谁的文件,谁主宰

    Android中提供了:openFileInput和openFileOutput方法读取设备上的文件。如下:

    String FILE_NAME = "tempfile.tep"  //确定要操作的文件的文件名

    FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);  //初始化。如果要附加内容则:Context.MODE_APPEND

    FileInputStream fis = openFileInput(FILE_NAME)  //创建写入流

    使用openFileOutput 创建的文件只能被其调用的文件使用,其他应用无法读取此文件。如果需要在不同的应用间共享数据,则需要使用Content_Provider

    注:如果你需要一些额外的资源文件,例如一些用来测试你音乐播放程序的MP3。可以讲这些文件放到/res/raw/下。然后可以使用getResource方法获取资源,以openRawResource方法打开这个文件。实现代码:

    Resources myResources = getResources();

    InputStream myFile = myResources.openRawResource(R.raw.filename);  //filename不需要带后缀名

    三:SqLite数据库

    是一个轻量级的嵌入式数据库。

    1:SQLiteDatabase:一个SQLiteDatabase的实例代表了一个SQLite数据库。通过SQLiteDatabase的实例的各种方法,可以执行sql语句,对数据库进行CRUD等操作。数据库对一个应用来说是私有的,并且在应用当中数据库的名字也是唯一的

    SQLiteOpenHelper:根据名字,我们可以看出这是一个辅助类。主要生成一个数据库,并对数据库的版本进行管理。当在程序中调用getWriteableDatabase或getReadableDatabase方法时,如果没有数据库将自动创建。

    2:SQLiteOpenHelper是一个抽象类。我们通常需要继承它,并实现它的三个方法:

    onCreate(SQLiteDatabase):在数据库第一次生成的时候会调用这个方法。一般我们在这个方法里面生成数据库表

    onUpgrade(SQLiteDatabase, int, int):当数据库需要升级时,Android会主动调用这个方法

    onOpen(SQLiteDatabase):这是当打开数据库时的回调函数。很少用到

    3:Cursor:Cursor是在Android中一个非常有用的接口。通过Cursor我们可以对从数据库查询出来的结果集进行随机的读写访问。

    4:ContentValues类:ContentValues类和Hashtable比较类似。负责存储一些名值对。但其key是String类型,而值是基本类型

    四:ContentProvider——我的数据你来用

    注意:数据在Android程序中是私用的

    一个ContentProvider类实现了一组标准的方法接口,从而能够让其他的应用保存或者读取此ContentProvider的各种类型数据

    也就是说:一个程序可以通过实现一个ContentProvider抽象接口将自己的数据暴露出去

    常见接口:query、inset、update、delete

    ContentResolver:外界的程序可以通过ContentResolver接口可以访问ContentProvider提供的数据。

    在Activity当中通过getContentResolver()可以得到当前应用的ContentResolver的实例。

    ContentResolver提供的接口和ContentResolver中需要实现的接口对应,主要接口有:query、inset、update、delete

    五:网络存储

  • 相关阅读:
    java基础部分的一些有意思的东西。
    antdvue按需加载插件babelpluginimport报错
    阿超的烦恼 javaScript篇
    .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。
    JQuery获得input ID相同但是type不同的方法
    gridview的删除,修改,数据绑定处理
    jgGrid数据格式
    Cannot read configuration file due to insufficient permissions
    Invoke action which type of result is JsonResult on controller from view using Ajax or geJSon
    Entity model数据库连接
  • 原文地址:https://www.cnblogs.com/mumue/p/2489139.html
Copyright © 2011-2022 走看看