[Android] SharePreferences de armazenamento de dados Android

Prefácio

  • AndroidExistem 5 métodos de armazenamento de dados comumente usados: SharePreferencesbanco de dados SQLite, armazenamento de arquivos ContentProvidere armazenamento de rede

índice

Diagrama esquemático

1. Introdução

  • Definição: um método de armazenamento de dados
  • Essência: armazenado em xml na forma de pares de valores-chave
  • Características: Leve
  • Cenário do aplicativo: armazenamento leve (como configuração do aplicativo, atributos de parâmetro)
  • Caminho de armazenamento padrão:/data/data/<PackageName>/shared_prefs

2. Contraste

Além disso SharedPreferences, Androidos métodos comuns de armazenamento de dados incluem principalmente:

  • Banco de dados SQLite
  • Armazenamento de arquivo
  • Provedor de conteúdo
  • Armazenamento de Rede

Os detalhes são os seguintes:

Diagrama esquemático


3. Uso específico

Para SharePreferenceso uso, inclui principalmente salvar dados e ler dados.

3.1 Salvar dados

  • Essência: armazenado no arquivo xml na forma de pares de valores-chave
  • Os arquivos são armazenados no diretório / data / data // shared_prefs
  • As etapas de uso são as seguintes:
// 步骤1
SharedPreferences sharedPreferences =getSharedPreferences("mltest", Context.MODE_PRIVATE);
	// 参数1:指定该文件的名称,名称不用带后缀,后缀会由Android自动加上
	// 参数2:指定文件的操作模式,共有4种操作模式,分别是:
	// Context.MODE_PRIVATE = 0:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
	// Context.MODE_APPEND = 32768:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
	// Context.MODE_WORLD_READABLE = 1:表示当前文件可以被其他应用读取
	// Context.MODE_WORLD_WRITEABLE = 2:表示当前文件可以被其他应用写入

// 步骤2:通过Editor获取编辑器对象
Editor editor = sharedPreferences.edit();

// 步骤3:以键值对的方式写入数据
editor.putString("name", "四种模式");
editor.putInt("age", 4);

// 步骤4:提交修改
editor.commit();

3.2 Ler dados

// 步骤1
SharedPreferences sharedPreferences = getSharedPreferences("ljq", Context.MODE_PRIVATE);
	// 参数1:指定该文件的名称,名称不用带后缀,后缀会由Android自动加上
	// 参数2:指定文件的操作模式,共有4种操作模式,分别是:
	// Context.MODE_PRIVATE = 0:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
	// Context.MODE_APPEND = 32768:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
	// Context.MODE_WORLD_READABLE = 1:表示当前文件可以被其他应用读取
	// Context.MODE_WORLD_WRITEABLE = 2:表示当前文件可以被其他应用写入

// 步骤2
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);
// getxxx():xxx为获取数据的数据类型
// 参数1:要获取的key
// 参数2:缺省值,即preference中不存在该key时返回默认值

 


 


Acho que você gosta

Origin blog.csdn.net/xfb1989/article/details/110121471
Recomendado
Clasificación