网站备案编号推广公司的新产品英文
news/
2025/9/28 7:39:34/
文章来源:
网站备案编号,推广公司的新产品英文,做哪类网站,2018做网站开发一个月工资多少在Android平台上#xff0c;集成了一个嵌入式关系型数据库—SQLite#xff0c;SQLite3支持 NULL、INTEGER、REAL#xff08;浮点数字#xff09;、TEXT(字符串文本)和BLOB(二进制对象)数据类型#xff0c;虽然它支持的类型只有五种#xff0c;但实际上sqlite3也接受varch…在Android平台上集成了一个嵌入式关系型数据库—SQLiteSQLite3支持 NULL、INTEGER、REAL浮点数字、TEXT(字符串文本)和BLOB(二进制对象)数据类型虽然它支持的类型只有五种但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s)等数据类型只不过在运算或保存时会转成对应的五种数据类型。 SQLite最大的特点是你可以把各种类型的数据保存到任何字段中但是主键只能是Integer类型的。Sqlite数据库一般要求主键是_id,当然也可以是id。android里面的数据库是由底层的sqilte.c的代码来动态生成的。
详细使用参考 【Android入门到项目实战--4.5】—— SQLite数据库存储实现增删改查_android sqlite数据库增删改查-CSDN博客 Android Room 是 Android 官方提供的一个持久性库用于在 Android 应用程序中管理数据库。它提供了一个对象关系映射ORM层允许您在应用程序中使用对象来表示数据库表和数据行并自动生成与之相关的SQL查询和操作。 Room使用 1.在build.gradle文件中添加依赖 def room_version 2.6.1implementation androidx.room:room-runtime:$room_versionannotationProcessor androidx.room:room-compiler:$room_version 2.创建一个数据实体类实体表示应用的数据库中的表。数据实体用于更新表中的行所存储的数据以及创建新行供插入。 使用 Room 实体定义数据 | Android Developers (google.cn) 3.创建一个数据访问对象 (DAO)提供在数据库中查询、更新、插入和删除数据的方法。 使用 Room DAO 访问数据 | Android Developers (google.cn) 4.创建一个数据库类数据库类用于定义实体和数据访问对象的列表。它也是底层连接的主要访问点。 Database(entities {Student.class},version 1,exportSchema false)
public abstract class StudentDatabase extends RoomDatabase {public abstract StudentDao getStudentDao();private static StudentDatabase INSTANCE;public static synchronized StudentDatabase getInstance(Context context){if (INSTANCE null){INSTANCE Room.databaseBuilder(context.getApplicationContext(),StudentDatabase.class,student_database).build();}return INSTANCE;}} 该类必须带有Database注解entities指明包含的实体 version表明版本将 version 设为 1。每当更改数据库表的架构时都必须提升版本号。将 exportSchema 设为 false这样就不会保留架构版本记录的备份。该类必须是一个抽象类用于继承RoomDatabase。对于与数据库关联的每个 DAO 类数据库类必须定义一个具有零参数的抽象方法并返回 DAO 类的实例。使用Room的Room.databaseBuilder创建数据库。不过仅当该数据库不存在时才应创建。否则请返回现有数据库。 5.创建一个类实现数据库异步操作 public class DBEngine {private StudentDao studentDao;public DBEngine(Context context) {StudentDatabase studentDatabase StudentDatabase.getInstance(context);studentDao studentDatabase.getStudentDao();}public void insertStudents(Student... students){new InsertAsyncTask(studentDao).execute(students);}public void deleteStudents(Student... students){new DeleteAsyncTask(studentDao).execute(students);}public void updateStudents(Student... students){new UpdateAsyncTask(studentDao).execute(students);}public void deleteAllStudent(){new DeleteAllAsyncTask(studentDao).execute();}public void queryStudents(){new QueryAllAsyncTask(studentDao).execute();}//插入static class InsertAsyncTask extends AsyncTaskStudent,Void,Void{private StudentDao dao;public InsertAsyncTask(StudentDao studentDao) {dao studentDao;}Overrideprotected Void doInBackground(Student... students) {dao.insertStudents(students);return null;}}//修改static class UpdateAsyncTask extends AsyncTaskStudent,Void,Void{private StudentDao dao;public UpdateAsyncTask(StudentDao studentDao) {dao studentDao;}Overrideprotected Void doInBackground(Student... students) {dao.updateStudents(students);return null;}}//删除static class DeleteAsyncTask extends AsyncTaskStudent,Void,Void{private StudentDao dao;public DeleteAsyncTask(StudentDao studentDao) {dao studentDao;}Overrideprotected Void doInBackground(Student... students) {dao.deleteStudents(students);return null;}}//全部删除static class DeleteAllAsyncTask extends AsyncTaskVoid,Void,Void{private StudentDao dao;public DeleteAllAsyncTask(StudentDao studentDao){dao studentDao;}Overrideprotected Void doInBackground(Void... voids) {dao.deleteAllStudents();return null;}}//全部查询static class QueryAllAsyncTask extends AsyncTaskVoid,Void,Void{private StudentDao dao;public QueryAllAsyncTask(StudentDao studentDao){dao studentDao;}Overrideprotected Void doInBackground(Void... voids) {ListStudent allStudents dao.getAllStudents();for (Student s : allStudents) {Log.e(search, doInBackground:全部查询每一项 s.toString() );}return null;}} 6.MainActivity public class MainActivity2 extends AppCompatActivity {private DBEngine dbEngine;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);dbEngine new DBEngine(this);}public void insertAction(View view) {Student student new Student(jerry,8);Student student1 new Student(tom,9);Student student2 new Student(jack,10);dbEngine.insertStudents(student,student1,student2);}public void deleteAction(View view) {Student student new Student(null,0);student.setId(2);dbEngine.deleteStudents(student);}public void updateAction(View view) {Student student new Student(lili,20);student.setId(3);dbEngine.updateStudents(student);}public void queryAction(View view) {dbEngine.queryStudents();}public void deleteAllAction(View view) {dbEngine.deleteAllStudent();}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920326.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!