Android学习总结

您所在的位置:网站首页 存储基础知识点总结 Android学习总结

Android学习总结

2023-06-26 04:22| 来源: 网络整理| 查看: 265

目录

I. Shared Preferences(共享首选项)

1.创建和获取Shared Preferences对象:

 2.保存数据:

3.读取数据:

II. 文件系统存储

1.写入文件:

2.读取文件:

III. SQLite数据库

1.创建数据库:

2.插入数据:

3.查询数据:

4.更新数据:

5.删除数据:

总结

I. Shared Preferences(共享首选项)

Shared Preferences是Android提供的一种轻量级的数据存储方式,用于存储少量的键值对数据

1.创建和获取Shared Preferences对象: 使用getSharedPreferences()方法获取Shared Preferences对象,可以指定名称和访问模式示例代码: SharedPreferences sharedPref = getSharedPreferences("my_prefs", Context.MODE_PRIVATE);  2.保存数据: 使用SharedPreferences.Editor对象来写入数据,通过putXXX()方法设置键值对。调用apply()方法提交保存的数据。示例代码: SharedPreferences.Editor editor = sharedPref.edit(); editor.putString("key", value); editor.apply(); 3.读取数据: 使用Shared Preferences对象的getXXX()方法读取数据,可以指定默认值。示例代码: String value = sharedPref.getString("key", defaultValue);

II. 文件系统存储

Android提供了文件系统存储来保存应用程序的数据。

1.写入文件: 使用Java的文件操作类(如File、FileInputStream和FileOutputStream)来创建文件和写入数据。示例代码: String data = "Hello, Android!"; FileOutputStream outputStream; try { outputStream = openFileOutput("file.txt", Context.MODE_PRIVATE); outputStream.write(data.getBytes()); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } 2.读取文件: 使用文件输入流(FileInputStream)和相关类来读取文件内容。示例代码: FileInputStream inputStream; try { inputStream = openFileInput("file.txt"); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; StringBuilder stringBuilder = new StringBuilder(); while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); } inputStream.close(); String fileContents = stringBuilder.toString(); } catch (IOException e) { e.printStackTrace(); } III. SQLite数据库

SQLite是Android内置的关系型数据库引擎,可以在应用程序中创建和管理数据库。

1.创建数据库: 创建一个继承自SQLiteOpenHelper的类,并重写onCreate()方法,在其中执行创建表的SQL语句。示例代码: public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "my_database.db"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String createTableQuery = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)"; db.execSQL(createTableQuery); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 处理数据库版本升级 } }

2.插入数据: 获取SQLiteDatabase对象,通过ContentValues对象设置要插入的数据。使用insert()方法将数据插入到数据库中。示例代码: MyDatabaseHelper dbHelper = new MyDatabaseHelper(context); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "John Doe"); long newRowId = db.insert("my_table", null, values); 3.查询数据: 使用query()方法查询数据库中的数据。示例代码: Cursor cursor = db.query("my_table", null, null, null, null, null, null); if (cursor.moveToFirst()) { do { String name = cursor.getString(cursor.getColumnIndex("name")); // 处理数据 } while (cursor.moveToNext()); } cursor.close(); 4.更新数据: 使用update()方法更新数据库中的数据。示例代码: ContentValues updatedValues = new ContentValues(); updatedValues.put("name", "Jane Smith"); String selection = "id=?"; String[] selectionArgs = {"1"}; int rowsAffected = db.update("my_table", updatedValues, selection, selectionArgs); 5.删除数据: 使用delete()方法从数据库中删除数据。示例代码: String selection = "id=?"; String[] selectionArgs = {"1"}; int rowsDeleted = db.delete("my_table", selection, selectionArgs); Ⅳ.总结 Android中的存储分为内部存储和外部存储,内部存储是应用私有的,外部存储需要权限才能访问。内部存储可以通过Context的方法获取应用私有目录,使用FileOutputStream和FileInputStream进行读写操作。外部存储可以通过Environment.getExternalStorageDirectory()获取,使用File类进行文件操作。数据库操作使用SQLite数据库,可以通过SQLiteOpenHelper创建和管理数据库,使用SQLiteDatabase执行操作。使用Cursor类遍历查询结果。Content Provider是一种跨应用共享数据的机制,可以让应用暴露自己的数据给其他应用访问,使用ContentResolver访问其他应用的Content Provider提供的数据。Room Persistence Library是建立在SQLite之上的对象映射库,简化了数据库操作,使用注解定义实体类和数据访问对象。

这些知识点涵盖了Android存储和数据库的基本概念和操作方式。进一步学习和实践可以加深对这些概念的理解和运用能力。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3