安卓app存储开发实例

Android中存储数据的方式有多种不同的选项,可以根据实际需求选择不同的存储方式。下面就简要介绍一下在Android中存储数据的三种主要方式。

1. SharedPreferences

SharedPreferences 是 Android 提供的轻量级的数据存储方式,它可以存储的数据类型是字符串、整型、布尔型、浮点型等,使用起来非常简单方便。

访问 SharedPreferences 需要先获取 SharedPreferences 对象,获取方式如下:

```java

SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);

```

其中,第一个参数是创建的文件名,第二个参数是操作模式。

写入数据可通过 SharedPreferences.Editor 生成一个编辑器对象,调用该对象的 putXXX() 方法存储数据。

```java

SharedPreferences.Editor editor = sp.edit();

editor.putString("username", "Tom");

editor.putInt("age", 18);

editor.putBoolean("married", false);

editor.apply();

```

读取数据可通过 SharedPreferences 对象的 getXXX() 方法。

```java

String username = sp.getString("username", "");

int age = sp.getInt("age", 0);

boolean isMarried = sp.getBoolean("married", false);

```

2. 文件存储

使用文件存储的方式,可将数据保存到本地文件系统中。在 Android 中,内部存储目录是每个应用程序私有的,并且只能被该应用程序访问。

文件存储有两种方式:内部存储和外部存储。

该方式需要先获取文件目录,再通过输出流写入数据。

```java

FileOutputStream fos = context.openFileOutput("filename", Context.MODE_PRIVATE);

fos.write("hello".getBytes());

fos.close();

```

读取数据可通过输入流的方式。

```java

FileInputStream fis = context.openFileInput("filename");

byte[] buffer = new byte[1024];

fis.read(buffer);

String result = new String(buffer);

fis.close();

```

3. SQLite

SQLite 是一个轻型的数据库引擎,它使用 SQL 语言操作数据。

使用 SQLite 存储数据需要先创建数据库,然后创建表格。

在 Android 中,使用 SQLiteDatabase 类的实例来操作数据库,可以执行 SQL 语句,并使用 Cursor 类查询数据库中的数据。

```java

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase("path", null);

db.execSQL("CREATE TABLE IF NOT EXISTS person(_id integer primary key autoincrement, name varchar(20), age integer)");

db.execSQL("INSERT INTO person(name, age) VALUES(?, ?)", new Object[]{"Tom", 18});

Cursor cursor = db.rawQuery("SELECT name, age FROM person", null);

while (cursor.moveToNext()) {

String name = cursor.getString(cursor.getColumnIndex("name"));

int age = cursor.getInt(cursor.getColumnIndex("age"));

}

cursor.close();

```

综上所述,Android 的存储方式有多种,开发者可根据实际需求选择不同的存储方式。对于小量的数据,SharedPreferences 是一种轻量级好用的存储方式;对于大量的数据,则使用 SQLite 更合适;而涉及到文件时,可使用文件存储。

川公网安备 51019002001728号