Android存储选项

SharedPreferences

理解

SharedPreferences是一个轻量级的存储辅助类,可用来保存应用的一些常用配置,最终数据以xml形式(key-value)进行存储。

简单使用

  • 运用getSharedPreferencesgetPreferences获取应用的SharePreferences对象。

  • 若要写入值:调用edit()以获取SharedPreferences.Editor。调用putBoolean()putString() 等方法添加值。使用commit()提交新值。

  • 若要读取值,请使用getBoolean()getString()方法。

注意事项

  1. 不要每次都edit,因为每次都会创建一个新的Editorlmpl对象,最好是批量处理统一提交。
    2.SharedPreferences 不能跨进程通信(源码中Context.Mode_MULTI_PROCESS仅仅是重新加载了一遍数据到内存mMap中) https://www.jianshu.com/p/8eb2147c328b。
    3.记得提前初始化SharedPreferences。

内部存储

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
/MODE_PRIVATE MODE_APPEND
MODE_WORLD_READABLE MODE_WORLD_WRITEABLE
/
fos.write(string.getBytes());
fos.close();

/*同理 openFileInput() ;read(); colse();是从内部存储读取文件
*/

/*
保存缓存文件
getCacheDir();
*/

/*其他实用方法:
getFilesDir();
getDir();
deleteFile();
fileList(); //返回你的应用当前保存的一系列文件
*/

:自 API 级别 17 以来,常量MODE_WORLD_READABLEMODE_WORLD_WRITEABLE已被弃用。从 Android N 开始,使用这些常量将会导致引发SecurityException。这意味着,面向 Android N 和更高版本的应用无法按名称共享私有文件,尝试共享“file://”URI 将会导致引发FileUriExposedException。如果您的应用需要与其他应用共享私有文件,则可以将FileProvideFLAG_GRANT_READ_URI_PERMISSION配合使用。另请参阅共享文件。

外部存储(SD卡上的文件读写)

首先得获取读写权限。

在使用外部存储执行任何工作之前,应始终调用getExternalStorageState()以检查介质是否可用。介质可能已装载到计算机,处于缺失、只读或其他某种状态。

SQLite 数据库

创建新 SQLite 数据库的推荐方法是创建SQLiteOpenHelper的子类并覆盖onCreate()方法,在此方法中,您可以执行 SQLite 命令以创建数据库中的表。 例如:

public class DictionaryOpenHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DICTIONARY_TABLE_NAME = "dictionary";
    private static final String DICTIONARY_TABLE_CREATE =
                "CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
                KEY_WORD + " TEXT, " +
                KEY_DEFINITION + " TEXT);";

    DictionaryOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DICTIONARY_TABLE_CREATE);
    }
}

网络连接

使用以下包中的类:

java.net.*

android.net.*

官方文档:https://developer.android.com/guide/topics/data/data-storage

你可能感兴趣的:(Android存储选项)