美文网首页
Android 第十四天 数据存储

Android 第十四天 数据存储

作者: yezi1989 | 来源:发表于2018-06-23 16:21 被阅读0次

简书的文章编辑功能和印象笔记无法比,刚已经发布成功的文章莫名没有了,看来得重新找地方。

昨天准备写个小游戏,发现功力不足,继续充电补充内力。

Android数据存储:

  • 文件存储

  • SharedPreferences

  • SQLite数据库存储

  • ContentProvider
    一、文件存储
    默认存储路径:/data/data/<PackageName>/files
    文件操作模式:MODE_PRIVATE(默认):覆盖、MODE_APPEND:追加

    // 文件存储
    public void save(View view){
      data = editText.getText().toString();
      try {
          FileOutputStream fileOutputStream = openFileOutput(file,MODE_APPEND);
          fileOutputStream.write(data.getBytes());
          fileOutputStream.close();
      } catch (FileNotFoundException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
       }
    
    
        // 文件读取
        public void read(View view){
      try {
          FileInputStream fileInputStream = openFileInput(file);
          int c;
          String temp="";
          while((c = fileInputStream.read())!=-1){
              temp = temp + Character.toString((char)c);
          }
          editText.setText(temp);
      } catch (FileNotFoundException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
     }
    

二、SharedPreferences

默认存储路径:/data/data/<PackageName>/shared_prefs

操作模式:MODE_PRIVATE(默认):只有当前的应用程序才能对文件进行读写MODE_MULTI_PROCESS:用于多个进程对同一个SharedPreferences进行读写。

存储数据格式:键值对

获取SharedPreferences对象的方法

  • Context的getSharedPreferences()方法,参数一是文件名,参数二是操作模式

  • Activity的getPreferences()方法,参数为操作模式,使用当前应用程序包名为文件名

  • PreferenceManager的getDefaultSharedPreferences()静态方法,接收Context参数,使用当前应用程序包名为文件名

存储数据

  • 调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象

  • 向Editor对象中添加数据putBoolean、putString等

  • 调用commit()方法提交数据

     // sharedPreferences 存储
    public void ShareStroage(View view){
    
    // 提交数据
    SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
    editor.putString("name","zhangsan");
    editor.putInt("age",12);
    editor.putBoolean("isMarried",false);
    editor.commit();
    
    // 从SharedPreferences中读取数据
    SharedPreferences preferences = getSharedPreferences("data",MODE_PRIVATE);
    String name = preferences.getString("name","who");
    int age = preferences.getInt("age",1);
    boolean isMarried = preferences.getBoolean("isMarrid",false);
    
    Toast.makeText(getApplicationContext(),name+age+isMarried,Toast.LENGTH_LONG).show();
    
    }
    

三、SQLite数据库存储

默认存储路径:/data/data/<PackageName>/databases
支持的数据类型:

  • Integer 整型
  • real 浮点型
  • text 文本型
  • blob 二进制类型

具体看自己的DataStorage.加油

相关文章

  • Android ContentProvider(一)

    Android数据存储(一) Android数据存储(二) Android数据存储(三) Android数据存储(...

  • Android数据存储

    Android数据存储 Android提供了5种方式存储数据 SharedPreferences它是Android...

  • day07

    Android的存储方式 使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据...

  • SharedPreferences存储数据

    Android的存储方式 使用SharedPreferences存储数据文件存储数据SQLite数据库存储数据使用...

  • 面试相关之 Android(二)

    数据存储 1. Android 中提供哪些数据持久存储的方法?参考回答:Android 平台实现数据存储的常见几种...

  • SharePreferences 分析及正确使用姿势

    1.Android 常见数据存储方式 在 Android 中,常用数据存储方式通常有以下几类: 文件存储:将数据存...

  • Android数据存储(三)

    前面两篇文章Android数据存储(一)和Android数据存储(二)分别使用文件存储、SharedPrefere...

  • SharedPreference与文件存储

    Android常用数据存储方式有SharedPreferences存储数据(虽然还是属于内部存储)、文件存储(内部...

  • Android中的数据存储

    1. Android中有哪些数据存储方式? Android中的数据存储主要有以下5种方式: File:文件存储,通...

  • 06 Room组件架构原理解析

    前言 Android应用数据存储简单来说有这么几种:文件存储、SharePreference存储、SQLite数据...

网友评论

      本文标题:Android 第十四天 数据存储

      本文链接:https://www.haomeiwen.com/subject/iwxdyftx.html