• android数据储存之存储方式


            能够将数据储存在内置或可移动存储,数据库,网络。sharedpreference。

            android能够使用Content provider来使你的私有数据暴漏给其它应用程序。

    一.sharedpreference

            得到sharedpreference的两种方法:

            1.getSharedPreferenced():使用这种方法你能够定义多个preference文件

            2.getPreferenced():仅仅创建一个preference文件

            sharedpreference不是严格用来储存“用户配置”的。比方说储存用户的铃声。若你的应用程序对创建用户配置感兴趣,能够使用PreferenceActivity、

    二.内置储存

            创建并写一个文件的步骤:

            使用openFileOutPut得到FileOutputStream。通过这个流来写数据。

            从内置储存读数据步骤:

            使用openFileInput得到FileInputStream,通过这个流来读数据。

            假设你想在编译的时候在你应用中保存一个静态的文件。能够保存在res/raw/路径,通过调用openRawResource传入R.raw.<filename>打开。

            假设你想缓存数据而不是将数据持久化,那当你想缓存数据时能够使用openCacheDir()来打开一个内部储存空间的文件。

            当设备的内置储存空间不足时。Android会删除这些文件来恢复空间。然而你不必主动删除这些文件,可是你应该对缓存文件占的空间大小做个限制,不如说1M.

            其它实用的方法:

              getFileDir():得到你内置文件的绝对路径。

              getDir()创建(或打开一个存在)的路径。

              deleteFile()删除一个内置文件

              fileList()返回当前应用程序中全部内置文件列表

    三.外部储存

            假设你既想write外部储存,又想read外部储存,仅仅需请求 WRITE_EXTERNAL_STORAGE 的权限。

    <manifest ...>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                         android:maxSdkVersion="18" />
        ...
    </manifest>
    (当版本号低于18的使用加入权限)


        从Android4.4開始,若想使用应用程序的私有文件不许要读写外部储存的权限。

        能够通过将文件放入Music/,Pictures/,RingTone/来和其它应用分享这个文件。

        若你不想系统的多媒体浏览器能够浏览你的多媒体文件,能够在你的目录中加入.nomedia的文件。

        得到公共目录的方法 getExtenrnalStoragePublicDirectory()将參数DIRECTORY_MUSIC/DIRECTORY_PICTURES/DIRECTORY_RINGTONE传入。

        以下为在公共图片目录下加入一个相冊:

    public File getAlbumStorageDir(String albumName) {
        // Get the directory for the user's public pictures directory.
        File file = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_PICTURES), albumName);
        if (!file.mkdirs()) {
            Log.e(LOG_TAG, "Directory not created");
        }
        return file;
    }
        你能够使用getExtenrnalFileDir()在外置储存中得到私有多媒体储存路径

        当用户删除你的应用的时候这些文件将会被删除

        这些文件不会被系统的多媒体浏览器发现可是对于有READ_EXTERNAL_STORAGE权限的应用是可access的。

        通过getExternalCacheDir()来得到外置储存空间的缓存区。当应用程序被卸载时。这些文件也将被删除。

        须要细致管理缓存区。删除那些在你app生命周期不再使用的缓存

    四.使用数据库

    五.使用网络

  • 相关阅读:
    docker 安装mysql5.7 加my.cnf
    docker安装redis 配置文件
    私库nexus 配置
    mysql 多个字段建立唯一索引
    scm 一些记录
    tomcat 线程数、NIO配置、内存配置
    为什么简单的一个select查询都要加上事务控制
    powerdeginer report layout
    powerdesigner-连接mysql
    [转载]如何让自己变得有趣
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6986159.html
Copyright © 2020-2023  润新知