安卓app开发dy04

一、概述

安卓APP开发通常是指用Java语言或Kotlin语言构建Android设备上运行的应用程序。为了编写一个成功的Android应用程序,我们需要学习Android开发平台的入门和进阶知识。本教程主要围绕着Android开发的第四步:“第四步:组织和存储数据”。本篇文章将详细介绍在Android平台上组织和存储数据的原理和方法。

二、数据存储

在Android开发中,有四种常用的数据存储方式:Shared Preferences、内部存储、外部存储和SQLite数据库。

1. Shared Preferences

这是数据存储中最简单的方法。Shared Preferences用于存储键值对,是轻量级的数据存储方案。适用于保存用户偏好设置等简单的信息。

使用实例:

```java

SharedPreferences sharedPreferences = getSharedPreferences("my_preferences", MODE_PRIVATE);

SharedPreferences.Editor editor = sharedPreferences.edit();

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

editor.apply();

```

读取数据:

```java

SharedPreferences sharedPreferences = getSharedPreferences("my_preferences", MODE_PRIVATE);

String user_name = sharedPreferences.getString("username", "default_value");

```

2. 内部存储

内部存储用于在Android设备上保存文件。这些文件在默认情况下仅对创建它们的应用程序可见,也就是具有私有性。通常用于存储文件、文本、图片等数据。

使用实例:

```java

String fileName = "my_file.txt";

String fileContents = "Hello World!";

FileOutputStream outputStream = openFileOutput(fileName, MODE_PRIVATE);

outputStream.write(fileContents.getBytes());

outputStream.close();

```

读取文件:

```java

String fileName = "my_file.txt";

FileInputStream inputStream = openFileInput(fileName);

StringBuilder stringBuilder = new StringBuilder();

InputStreamReader inputStreamReader = new InputStreamReader(inputStream);

BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line;

while ((line = bufferedReader.readLine()) != null) {

stringBuilder.append(line);

}

bufferedReader.close();

inputStreamReader.close();

inputStream.close();

```

3. 外部存储

外部存储可以使数据对其他应用程序可见,或者使得用户轻松地通过电脑访问。使用外部存储需要在AndroidManifest.xml文件中请求相关权限。通常用于存储不包含敏感信息的数据,例如用户下载的图片。

4. SQLite数据库

SQLite是一个轻量级的关系型数据库,适用于存储查询、更新频繁的数据。在Android平台可以使用Android提供的API进行操作。通常用于存储复杂且频繁修改、查询的数据,例如购物车数据、玩家信息等。

使用实例:

```java

// 创建一个名为 my_db 的数据库

SQLiteDatabase db = openOrCreateDatabase("my_db", MODE_PRIVATE, null);

// 创建表

db.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL)");

// 插入一条记录

ContentValues contentValues = new ContentValues();

contentValues.put("name", "John Doe");

db.insert("users", null, contentValues);

// 查询数据

Cursor cursor = db.rawQuery("SELECT * FROM users", null);

// 读取数据

if (cursor.moveToFirst()) {

do {

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

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

Log.d("DB_INFO", "ID: " + id + " Name: " + name);

} while (cursor.moveToNext());

}

// 关闭数据库

db.close();

```

结束语

本教程详细介绍了Android开发中数据存储的原理和方法。通过学习Shared Preferences、内部存储、外部存储和SQLite数据库的使用,可以更好地在Android平台上组织和存储数据。

川公网安备 51019002001728号