day02_数据存储

来源:互联网 发布:ubuntu输入法设置中文 编辑:程序博客网 时间:2024/06/03 22:46
  • 回顾:

    • Android体系架构:

      • Applications:应用程序
      • Application FrameWork:应用程序框架层
        • 定义了JavaAPI调用c
      • Librarys:c和c++的代码库
        • 操作内核层
      • Linux Kernel:操作硬件设备
    • 开发步骤:
      1.创建Android项目
      2.设计布局
      3.添加事件监听
      4.发布运行


  • 相对布局:

  • 案例:短信发送器

  • LogCat:日志猫

    • 级别:
      version:黑色
      info:绿色
      debug:蓝色
      warning:橙色
      error:红色
  • 数据存储:

    • 文件:

      • 内部储存空间:

        • 路径:/data/data/包名/

          • cache:缓存目录,可以被清空
          • files:

            • getFilesDir():获取/data/data/包名/files目录
            • getCacheDir(): 获取/data/data/包名/cache目录
            • openFileOutput(String filename,int filemodel):打开/data/data/包名/files目录下文件对应的输出流

              • 其他应用对该应用的文件访问权限:
                private:私有的。只能当前项目访问
                readable:只读的。其他项目可以读取该文件,但不能修改
                writeable:可写的。其他项目只能写入数据,不能读取
                public:readable+writeable。其他项目可读可写该文件
            • openFileInput(String filename):打开/data/data/包名/files目录下文件对应的输入流

      • sd卡:

        • 路径:/mnt/sdcard/

        • 注意:
          1.访问sd卡需要添加权限:


          2.动态获取sd卡目录
          Environment.getExternalStorageDirectory().getPath();
          * 这个方法,只是理论方式。实际编码中应该判断当前手机,和市面上所有sd卡目录是否匹配

          3.判断sd卡是否可用?
          // 1.获取sd卡的状态
          String state = Environment.getExternalStorageState();
          // 2.判断状态是否可用
          if (Environment.MEDIA_MOUNTED.equals(state)) {
          4.判断sd卡的剩余空间是否足够?
          File storageDirectory = Environment.getExternalStorageDirectory();
          long freeSpace = storageDirectory.getFreeSpace();//最低支持到API 9

      • xml:

        • 写入:
          1.创建解析器工厂 XmlPullParserFactory
          2.获取序列化对象
          3.设置输出流
          4.写



          1232321
          sdfsdfds

        • 读取:
          //1.创建解析器工厂
          //2.获取解析器
          //3.设置输入流
          //4.获取事件类型
          //5.循环判断是否是文档结束
          //具体操作

          //6.向下移动一行

    • SharedPreference:对象,简化存储数据
      写入:
      1.获取该对象
      2.获取其编辑对象 Editor
      3.保存数据
      4.提交

      读取:
      1.获取该对象
      2.读取数据
      getXxx(String key,String defaultValue)

    • 数据库:SQLite

    • 网络上:
    • Conten Provider:内容提供者
原创粉丝点击