zoukankan      html  css  js  c++  java
  • 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生命周期不再使用的缓存

    四.使用数据库

    五.使用网络

  • 相关阅读:
    How To Scan QRCode For UWP (4)
    How To Crop Bitmap For UWP
    How To Scan QRCode For UWP (3)
    How To Scan QRCode For UWP (2)
    How To Scan QRCode For UWP (1)
    How to change windows applicatioin's position via Win32 API
    8 Ways to Become a Better Coder
    How to resize or create a thumbnail image from file stream on UWP
    C# winform压缩文件夹带进度条
    MS ACCESS MID函数
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6986159.html
Copyright © 2011-2022 走看看