2020-04-09-星期四-第八周 目 录 6.3.1 数据存储与访问之——初见SQLite数据库 https://www.runoob.com/w3cnote/android-tutorial-sqlite-intro.html Google官方文档 https://developer.android.google.cn/training/data-storage/room
创建数据库
insert()方法
查看数据库(Save as保存)
菜鸟教程—SQLite数据库
根据 列索引 获取 参数值
列比较多—根据列名,返回索引
删除数据
query
简单方式(增删改查)
插入数据、删除数据、修改数据
查询数据
数据分页(偏移量、取得数据的数量)、查询记录数
修改数据表结构
MyHelp.java代码
package cn.wangzg.course0802; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; /** * Time: 2020/4/9 * Author: wangzhiguo * Description: 功能描述 */ public class MyHelper extends SQLiteOpenHelper { public MyHelper(@Nullable Context context) { super(context, "mydb.db", null, 2);//创建数据库 } @Override public void onCreate(SQLiteDatabase db) {//创建数据表,只有第一次时执行 db.execSQL("create table person(id integer primary key autoincrement," + "name varchar(20),age int,zy);"); System.out.println("----------111111-----------"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("----------" + newVersion + "-----------"); db.execSQL("alter table person add column zy;"); } }
android-Room框架
Room-3大组件
MainActivity.java代码
package cn.wangzg.course0802; import androidx.appcompat.app.AppCompatActivity; import androidx.room.Room; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.TextView; import java.util.List; public class MainActivity extends AppCompatActivity { private MyHelper helper; private TextView tvSqlite; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); helper = new MyHelper(this); tvSqlite = findViewById(R.id.tv_sqlite); AppDatabase db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "dbroom.db") .allowMainThreadQueries().build(); User user1 = new User(); user1.firstName = "aaa"; user1.lastName = "bbb"; user1.uid = 3; User user2 = new User(); user2.firstName = "ccc"; user2.lastName = "ddd"; user2.uid = 2; db.userDao().insertAll(user1, user2); List<User> users = db.userDao().getAll(); for (User u : users) { System.out.println(u.firstName + "---" + u.lastName); } } public void btnInsert(View view) { SQLiteDatabase db = helper.getWritableDatabase(); //ContentValues等同于Map ContentValues values = new ContentValues(); values.put("name", "aaaa");//key:必须为数据表的列名 values.put("age", 23); //nullColumnHack:插入时需要忽略的列 db.insert("person", null, values); } public void btnUpdate(View view) { SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); //values.put("name","aaaa"); values.put("age", 25); /** * update table * set xxx=?,xxx=? --values * where xxx=? */ db.update("person", values, "name=?", new String[]{"aaaa"}); } public void btnDelete(View view) { SQLiteDatabase db = helper.getWritableDatabase(); /** * delete table * where xxx=? */ db.delete("person", "age<?", new String[]{"30"}); } public void btnQuery(View view) { SQLiteDatabase db = helper.getReadableDatabase(); /** * select * * from table * where name=? and age=? * group by * having * order */ Cursor cursor = db.query("person", null, null, null, null, null, null); if (cursor == null) return; int nameIndex = cursor.getColumnIndex("name"); int ageIndex = cursor.getColumnIndex("age"); while (cursor.moveToNext()) { String name = cursor.getString(nameIndex); int age = cursor.getInt(ageIndex); tvSqlite.setText(name + " " + age); //System.out.println(name); } cursor.close(); } }
期末考试内容
创建数据库
数据库的增删改查
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算