• Android数据持久化技术


    Android数据持久化

    文件

    1. 将数据存储到文件
      Context类(Activity的间接父类)中提供了一个openFileOutput()方法,第一个参数是文件名,无需包含路径,因为所有的文件都默认存储到/data/data/包名/files/目录下。第二个是操作模式,MODE_PRIVATE(覆盖)或MODE_APPEND(追加)。
    1. FileOutputStream out = openFileOutput("data",Context.MODE_PRIVATE);
    2. BufferedWriter writer =newBufferedWriter(newOutputStreamWriter(out));
    3. writer.write("要写入的数据")
    1. 从文件读取数据
      Context类(Activity的间接父类)还提供一个openFileInput()方法,需要一个参数,要读取的文件名。
    1. FileInputStream in = openFileInput("data");//文件名
    2. BufferedReader reader =newBufferedReader(newInputStreamReader(in));

    SharedPreferences

    使用键值对来进行存储。比文件存储方便很多。

    1. 将数据存入SharedPreferences中
      首先,获得SharedPreferences对象,有三种方法;
    1. //方法1:
    2. SharedPreferences share = getSharedPreferences("data", MODE_PRIVATE);
    3. //方法2:文件名默认为类名
    4. SharedPreferences share = getPreferences(MODE_PRIVATE);
    5. //方法3:静态方法,参数为一个Context,默认包名作为文件名的前缀
    6. SharedPreferences share =PreferenceManager.getDefaultSharedPreferences(this);

    第二步,调用SharedPreferences对象的edit()方法获取一个Editor对象。
    第三,向Editor中添加数据
    最后,调用commit()方法提交数据。

    1. SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVITE).edit();
    2. editor.putString("name","Tom");
    3. editor.putInt("age",28);
    4. editor.putBoolean("married",false);
    5. editor.commit();
    1. 从SharedPreferences中读取数据
      获取SharedPreferences对象之后get相应的类型即可。
    1. SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
    2. String name = pref.getString("name","");
    3. int age = pref.getInt("age",0);
    4. boolean married = pref.getBoolean("married",false);

    SQLite数据库

    Android专门提供了一个SQLiteOpenHelper帮助类。这个类是抽象类,提供两个抽象方法onCreate()和onUpgrade()。还提供了两个实例方法getReadableDatabase()和getWritableDatabase(),它们创建或打开一个数据库,区别是,当数据库不可写入时,前者会以只读方式打开,而后者会抛出异常。

    1. 创建数据库





  • 相关阅读:
    Spring系列(六):Spring事务源码解析
    Spring系列(五):Spring AOP源码解析
    Spring系列(四):Spring AOP详解
    Spring系列(三):Spring IoC源码解析
    Spring IoC源码解析之getBean
    Spring IoC源码解析之invokeBeanFactoryPostProcessors
    Spring系列(二):Spring IoC应用
    HDU-1276
    Codeforces Round #410 (Div. 2)-A
    ubuntu16.04安装wps
  • 原文地址:https://www.cnblogs.com/qianzi067/p/6015545.html
Copyright © 2020-2023  润新知