一、概述
安卓APP开发通常是指用Java语言或Kotlin语言构建安卓设备上运行的应用程序。为了编写一个成功的安卓应用程序,我们需要学习安卓开发平台的入门和进阶知识。本教程主要围绕着安卓开发的第四步“第四步组织和存储数据”。本篇文章将详细介绍在安卓平台上组织和存储数据的原理和方法。
二、数据存储
在安卓开发中,有四种常用的数据存储方法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. 内部存储
内部存储用于在安卓设备上保存文件。这些文件在默认情况下仅对创建它们的应用程序可见,也就是具有私有性。通常用于存储文件、文本、图片等数据。
使用实例
```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. 外部存储
外部存储可以使数据对其他应用程序可见,或者使得用户轻松地通过电脑访问。使用外部存储需要在安卓Manifest.xml文件中请求相关权限。通常用于存储不包含敏感信息的数据,例如用户下载的图片。
4. SQLite数据库
SQLite是一个轻量级的关系型数据库,适用于存储查询、更新频繁的数据。在安卓平台可以使用安卓提供的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();
```
结束语
本教程详细介绍了安卓开发中数据存储的原理和方法。通过学习Shared Preferences、内部存储、外部存储和SQLite数据库的使用,可以更好地在安卓平台上组织和存储数据。