当前位置: 首页 > wzjs >正文

源码下载网站有哪些中国响应式网站案例

源码下载网站有哪些,中国响应式网站案例,推荐好的网站或网页,广州天河区酒店在Android开发中,SQLite是一种非常常用的数据库存储方式。它轻量、简单,非常适合移动设备上的数据管理。本文将通过通俗易懂的语言,结合代码示例和具体场景,详细讲解SQLite在Android中的使用。 1. 什么是SQLite? SQLite是一个开…

在Android开发中,SQLite是一种非常常用的数据库存储方式。它轻量、简单,非常适合移动设备上的数据管理。本文将通过通俗易懂的语言,结合代码示例和具体场景,详细讲解SQLite在Android中的使用。


1. 什么是SQLite?

SQLite是一个开源的、嵌入式的关系型数据库。它不需要像MySQL那样运行一个独立的服务器,而是直接将数据存储在一个文件中。这个文件可以随着你的应用一起打包,方便管理。简单来说,SQLite就像一个“便携式笔记本”,你可以在里面记录和管理数据。


2. 为什么在Android中使用SQLite?

  • 轻量级: SQLite占用资源少,适合手机这种硬件资源有限的设备。
  • 无需服务器: 不需要额外的服务器支持,直接嵌入应用中使用。
  • 自包含: 数据库文件独立存在,易于备份和分发。
  • 支持SQL: 使用标准的SQL语法,如果你学过数据库,上手会很快。

总之,SQLite是Android开发中内置的“标配”数据库,特别适合存储结构化数据,比如用户信息、任务列表等。


3. SQLite在Android中的基本使用步骤

使用SQLite主要涉及以下几个步骤:

  1. 创建数据库: 通过SQLiteOpenHelper类来创建和管理数据库。
  2. 定义表结构: 在onCreate方法中用SQL语句创建表。
  3. 插入数据: 往表里添加数据。
  4. 查询数据: 从表中读取数据。
  5. 更新数据: 修改表中的数据。
  6. 删除数据: 删除表中的数据。

接下来,我们通过代码和一个具体的通讯录应用场景来详细讲解这些步骤。


4. 代码示例

4.1 创建数据库和表

首先,我们需要创建一个类继承SQLiteOpenHelper,用来管理数据库和表的创建。

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "my_database.db"; // 数据库文件名private static final int DATABASE_VERSION = 1; // 数据库版本号public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建表的SQL语句String createTableSQL = "CREATE TABLE users (" +"id INTEGER PRIMARY KEY AUTOINCREMENT," + // 主键,自增"name TEXT," + // 姓名,文本类型"age INTEGER)"; // 年龄,整型db.execSQL(createTableSQL); // 执行SQL,创建表}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 数据库升级时执行,比如删除旧表并重建db.execSQL("DROP TABLE IF EXISTS users");onCreate(db);}
}
  • DATABASE_NAME: 数据库文件名,通常以.db结尾。
  • DATABASE_VERSION: 数据库版本号,如果表结构有变化,需要增加版本号。
  • onCreate: 第一次创建数据库时调用,定义表的结构。
  • onUpgrade: 当版本号变化时调用,用于处理旧数据迁移。

4.2 插入数据

插入数据可以用insert方法,简单高效。

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;public void insertUser(String name, int age) {SQLiteDatabase db = getWritableDatabase(); // 获取可写数据库对象ContentValues values = new ContentValues(); // 用于存放键值对values.put("name", name); // 插入姓名values.put("age", age); // 插入年龄db.insert("users", null, values); // 插入到users表db.close(); // 关闭数据库连接
}
  • getWritableDatabase(): 获取一个可以读写的数据库对象。
  • ContentValues: 像一个“包裹”,把要插入的数据装进去。
  • insert: 将数据插入表中。

4.3 查询数据

查询数据可以用query方法,返回一个Cursor对象,类似于指针,指向查询结果。

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;class User {int id;String name;int age;public User(int id, String name, int age) {this.id = id;this.name = name;this.age = age;}
}public List<User> getAllUsers() {List<User> userList = new ArrayList<>();SQLiteDatabase db = getReadableDatabase(); // 获取只读数据库对象Cursor cursor = db.query("users", null, null, null, null, null, null); // 查询所有数据if (cursor.moveToFirst()) { // 移动到第一条数据do {int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnIndex("name"));int age = cursor.getInt(cursor.getColumnIndex("age"));User user = new User(id, name, age);userList.add(user);} while (cursor.moveToNext()); // 移动到下一条数据}cursor.close(); // 关闭游标db.close(); // 关闭数据库return userList;
}
  • getReadableDatabase(): 获取只读数据库对象。
  • Cursor: 查询结果的“指针”,可以逐行读取数据。
  • moveToFirstmoveToNext: 控制游标移动,遍历所有数据。

4.4 更新数据

更新数据可以用update方法。

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;public void updateUser(int id, String newName, int newAge) {SQLiteDatabase db = getWritableDatabase();ContentValues values = new ContentValues();values.put("name", newName);values.put("age", newAge);db.update("users", values, "id=?", new String[]{String.valueOf(id)}); // 根据id更新db.close();
}
  • update: 参数分别是表名、更新内容、条件和条件值。

4.5 删除数据

删除数据可以用delete方法。

import android.database.sqlite.SQLiteDatabase;public void deleteUser(int id) {SQLiteDatabase db = getWritableDatabase();db.delete("users", "id=?", new String[]{String.valueOf(id)}); // 根据id删除db.close();
}
  • delete: 参数分别是表名、条件和条件值。

5. 具体使用场景:通讯录应用

假设我们要开发一个简单的通讯录应用,存储联系人的姓名和电话号码。以下是如何用SQLite实现这个功能。

5.1 创建数据库和表

修改DatabaseHelper中的表结构:

@Override
public void onCreate(SQLiteDatabase db) {String createTableSQL = "CREATE TABLE contacts (" +"id INTEGER PRIMARY KEY AUTOINCREMENT," +"name TEXT," +"phone TEXT)";db.execSQL(createTableSQL);
}

5.2 插入联系人

public void insertContact(String name, String phone) {SQLiteDatabase db = getWritableDatabase();ContentValues values = new ContentValues();values.put("name", name);values.put("phone", phone);db.insert("contacts", null, values);db.close();
}

5.3 查询所有联系人

class Contact {int id;String name;String phone;public Contact(int id, String name, String phone) {this.id = id;this.name = name;this.phone = phone;}
}public List<Contact> getAllContacts() {List<Contact> contactList = new ArrayList<>();SQLiteDatabase db = getReadableDatabase();Cursor cursor = db.query("contacts", null, null, null, null, null, null);if (cursor.moveToFirst()) {do {int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnIndex("name"));String phone = cursor.getString(cursor.getColumnIndex("phone"));Contact contact = new Contact(id, name, phone);contactList.add(contact);} while (cursor.moveToNext());}cursor.close();db.close();return contactList;
}

5.4 更新联系人信息

public void updateContact(int id, String newName, String newPhone) {SQLiteDatabase db = getWritableDatabase();ContentValues values = new ContentValues();values.put("name", newName);values.put("phone", newPhone);db.update("contacts", values, "id=?", new String[]{String.valueOf(id)});db.close();
}

5.5 删除联系人

public void deleteContact(int id) {SQLiteDatabase db = getWritableDatabase();db.delete("contacts", "id=?", new String[]{String.valueOf(id)});db.close();
}

通过这些代码,我们可以实现一个简单的通讯录功能:添加联系人、查看所有联系人、修改联系人信息和删除联系人。


6. 注意事项

  1. 数据库版本管理: 如果表结构变了(比如增加字段),需要更新DATABASE_VERSION,并在onUpgrade中处理旧数据。
  2. 线程安全: 数据库操作不要阻塞主线程,可以用AsyncTask或线程池来处理。
  3. 关闭连接: 操作完数据库后,记得调用close()释放资源。
  4. 异常处理: 操作数据库时可能会出错,要用try-catch捕获异常,比如SQLiteException

7. 总结

SQLite是Android开发中强大又简单的数据库工具。通过SQLiteOpenHelperSQLiteDatabase,我们可以轻松实现数据的增删改查。结合通讯录这个例子,你应该已经掌握了SQLite的基本用法。在实际开发中,还可以根据需要使用更复杂的查询语句或事务管理,进一步提升应用的性能和功能。


文章转载自:

http://z37nV0i8.wqkzf.cn
http://oPvx5zME.wqkzf.cn
http://yPCn5FXp.wqkzf.cn
http://EEIncnR9.wqkzf.cn
http://f4uAMyZj.wqkzf.cn
http://F92m1wpL.wqkzf.cn
http://TbKZ7iLP.wqkzf.cn
http://JIldrp9t.wqkzf.cn
http://4nAFUTag.wqkzf.cn
http://kw3ZFrjn.wqkzf.cn
http://hkcF6Wzz.wqkzf.cn
http://FCiFclGM.wqkzf.cn
http://PovazXEN.wqkzf.cn
http://uOTdcRz5.wqkzf.cn
http://E2zD4RGs.wqkzf.cn
http://c0I4sgU7.wqkzf.cn
http://XC5Ko11c.wqkzf.cn
http://GcH2yw6h.wqkzf.cn
http://0KA1K94k.wqkzf.cn
http://yhc3XlLl.wqkzf.cn
http://OCR7aKNH.wqkzf.cn
http://D0PxEcFP.wqkzf.cn
http://iM39417n.wqkzf.cn
http://3QtxiTfw.wqkzf.cn
http://jsix5gbL.wqkzf.cn
http://xd2GYJnP.wqkzf.cn
http://l5R8eyWW.wqkzf.cn
http://eBN5knBZ.wqkzf.cn
http://XmHL7jb9.wqkzf.cn
http://cUY1rSR7.wqkzf.cn
http://www.dtcms.com/wzjs/634795.html

相关文章:

  • 做淘宝券网站建筑工程公司资质
  • wordpress文本编辑增强张家界seo优化首选
  • 网站动态效果怎么做公众号开发微商城
  • ucloud网站开发成功的企业网站案例
  • 旅游网站的功能及建设新邱建设网站
  • 上海网页制作与网站设网站的建设费 账务处理
  • 网站建设财务怎么入账公司策划书模板
  • 二级网站免费建wordpress标题主题
  • 福建省建设工程继续教育网站外贸网站有哪些?
  • 能源产品网站建设多少钱辽宁省建设局网站
  • 新浦建设集团网站中小企业网站设计总结
  • 太原百度网站快速优化如何ps做网站首页
  • 建设网站过程第一阶段海南百度网站建设
  • 长春网站建设多少钱wordpress rest api
  • 鹏鹞网站页面代码可信网站验证
  • 服装网站建设发展状况电商网站建站开发语言
  • 沈阳自主建站模板建站之星做的网站如何导出
  • 做个人网站要注意什么长沙发布app
  • 重庆网站备案多久团购网站开发语言
  • 做网站用啥语言wordpress移动版插件
  • 长春网站建设排名成都网站怎么推广
  • 关于网站图片网站建设的威胁
  • 全网影视vip网站建设指定网站建设前期规划方案
  • 五屏网站建设价位wordpress分类链接地址
  • 东平做网站绍兴seo网站推广
  • 电商 网站 备案做卖挖掘机的网站
  • 网站30g流量举例说明seo
  • 什么公司做网站会提供源代码平面设计需要什么基础
  • seo网站关键词排名快速中国最大的软件公司排名
  • iis添加网站的物理路径山东省建设安全监督站的网站