Android SQLite数据库实例教程与使用指南

版权申诉
0 下载量 53 浏览量 更新于2024-10-13 收藏 36KB RAR 举报
资源摘要信息:"Android SQLite数据库使用实例与介绍" 1. Android SQLite数据库概述 SQLite是一个轻量级的数据库,它包含在Android SDK中,允许开发者在Android应用程序中使用SQL语言来创建和操作数据库。它以文件的形式存储在设备上,适合用于存储少量数据,如应用配置信息、轻量级的数据缓存等。SQLite作为一个嵌入式数据库,不需要配置或安装,因此特别适合在移动设备上使用。 2. SQLite数据库在Android中的使用场景 在Android应用开发中,SQLite数据库可以用来处理数据存储的多种需求。例如,可以用来保存应用的设置选项、用户数据、搜索历史、应用日志等。尽管Android提供了SharedPreferences用于轻量级的数据存储,但当需要存储结构化数据时,使用SQLite数据库会更加方便和有效。 3. 使用SQLiteOpenHelper类管理数据库 在Android开发中,通常使用SQLiteOpenHelper类来管理数据库的创建和版本管理。SQLiteOpenHelper提供了onCreate()和onUpgrade()两个回调方法,分别用于数据库创建时执行的初始化操作和数据库升级时的处理。开发者可以通过覆写这些方法来执行建表、添加或修改表结构等操作。 4. Android数据库操作示例 以下是一个简单的示例,演示如何在Android中使用SQLite数据库来创建一个用户表,并进行简单的增删改查操作。 ```java public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "example.db"; private static final int DATABASE_VERSION = 1; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 创建用户表 String CREATE_USERS_TABLE = "CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT, age INTEGER, address TEXT)"; db.execSQL(CREATE_USERS_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 升级数据库时删除旧表并创建新表 db.execSQL("DROP TABLE IF EXISTS users"); onCreate(db); } // 添加用户 public void addUser(String name, int age, String address) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); values.put("address", address); db.insert("users", null, values); db.close(); } // 获取所有用户 public ArrayList<User> getAllUsers() { ArrayList<User> users = new ArrayList<>(); String query = "SELECT * FROM users"; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(query, null); if (cursor.moveToFirst()) { do { User user = new User(); user.setId(cursor.getInt(cursor.getColumnIndex("_id"))); user.setName(cursor.getString(cursor.getColumnIndex("name"))); user.setAge(cursor.getInt(cursor.getColumnIndex("age"))); user.setAddress(cursor.getString(cursor.getColumnIndex("address"))); users.add(user); } while (cursor.moveToNext()); } cursor.close(); db.close(); return users; } // 更新用户信息 public int updateUser(int id, String name, int age, String address) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); values.put("address", address); return db.update("users", values, "_id = ?", new String[] { String.valueOf(id) }); } // 删除用户 public void deleteUser(int id) { SQLiteDatabase db = this.getWritableDatabase(); db.delete("users", "_id = ?", new String[] { String.valueOf(id) }); db.close(); } } ``` 在上述代码中,首先创建了DatabaseHelper类继承自SQLiteOpenHelper,实现了创建和更新数据库的方法。通过onCreate()方法创建了一个用户表,表中包含了_id、name、age和address四个字段。然后,通过addUser()、getAllUsers()、updateUser()和deleteUser()方法分别实现了向数据库中添加用户、获取所有用户、更新用户信息和删除用户的操作。 5. Android WebView组件介绍 Android WebView是用于在Android应用程序中显示网页内容的一个组件。它允许开发者将Web内容嵌入到应用程序中,提供了一个浏览器环境来渲染网页。WebView可以加载任何有效的网址,也可以加载本地HTML文件。 6. WebView的使用示例 以下是一个简单的示例,演示如何在Android应用中使用WebView来加载一个网页。 ```java public class WebViewActivity extends AppCompatActivity { private WebView myWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); myWebView = (WebView) findViewById(R.id.webview); myWebView.getSettings().setJavaScriptEnabled(true); // 启用JavaScript myWebView.loadUrl("***"); // 加载网页 } @Override public void onBackPressed() { if (myWebView.canGoBack()) { myWebView.goBack(); // 在网页中可以返回则返回上一页面 } else { super.onBackPressed(); } } } ``` 在WebViewActivity中,首先获取布局中的WebView组件,并在onCreate()方法中进行配置,启用JavaScript并加载指定的网页URL。同时,重写了onBackPressed()方法来处理用户按下返回键时的行为,若WebView中有可返回的网页历史记录,则先返回到上一个页面,否则调用super.onBackPressed()方法执行默认的返回操作。 总结:在Android开发中,SQLite数据库提供了一种便捷的方式来进行本地数据存储。通过SQLiteOpenHelper类的帮助,开发者可以高效地管理数据库的版本、创建和升级操作。同时,WebView组件允许开发者在Android应用中嵌入网页,提供了一种简便的方式来显示网页内容。这两个知识点在构建复杂的Android应用时非常有用,能够帮助开发者处理数据存储和网页显示的需求。