简单实现Android数据库的增删改查操作。

MySQLiteHelper.java

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;public class MySQLiteHelper extends SQLiteOpenHelper {public static final String DB_NAME="bookstore.db";public static final int DB_VERSION=2;public MySQLiteHelper(@Nullable Context context){super(context,DB_NAME,null,DB_VERSION);}@Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase) {updateMyDatabase(sqLiteDatabase,0,DB_VERSION);}public static void insertBook(SQLiteDatabase sqLiteDatabase,String name,String isbn,String description,int imageId){ContentValues contentValues=new ContentValues();contentValues.put("NAME",name);contentValues.put("DESCRIPTION",description);contentValues.put("ISBN",isbn);contentValues.put("IMAGE_ID",imageId);sqLiteDatabase.insert("BOOK",null,contentValues);}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {}public void updateMyDatabase(SQLiteDatabase sqLiteDatabase,int i,int i1){if (i<1){sqLiteDatabase.execSQL("CREATE TABLE BOOK(_id INTEGER PRIMARY KEY AUTOINCREMENT," +"NAME TEXT,ISBN TEXT,DESCRIPTION TEXT,IMAGE_ID INTEGER)");insertBook(sqLiteDatabase,"Android移动应用基础教程","9787113252502","本书是第一本Android入门书籍,共15章", R.drawable.book1);insertBook(sqLiteDatabase,"Android第一行代码(第二版)","978711343434","本书案例非常实用,深入浅出",R.drawable.book2);insertBook(sqLiteDatabase,"Head First Android开发","9787113544356","开发Android应用的快速指南和参考书",R.drawable.book3);}if (i<2){}}
}

BookCategoryActivity.java

package com.example.computerbookstore;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;public class BookCategoryActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_book_category);ListView listBook = findViewById(R.id.list_item);SQLiteOpenHelper helper = new MySQLiteHelper(this);try {SQLiteDatabase db = helper.getWritableDatabase();Cursor cursor = db.query("BOOK", new String[]{"_id","NAME"},null, null,null,null,null);SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1, cursor, new String[]{"NAME"},new int[]{android.R.id.text1}, 0);listBook.setAdapter(adapter);} catch (SQLiteException e) {Toast.makeText(this, "数据库不能被创建", Toast.LENGTH_LONG).show();}listBook.setOnItemClickListener(this);}@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Intent intent = new Intent(this, BookActivity.class);intent.putExtra(BookActivity.EXTRA_BOOKID, (int) l);startActivity(intent);}}

BookActivity.java

package com.example.computerbookstore;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;import java.util.jar.Attributes;public class BookActivity extends AppCompatActivity {public static final String EXTRA_BOOKID="bookId";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_book);EditText etName=findViewById(R.id.et_name);EditText etIsbn=findViewById(R.id.et_isbn);EditText etdescription=findViewById(R.id.et_description);ImageView ivBook=findViewById(R.id.imageView);Button btx=findViewById(R.id.button);Button bts=findViewById(R.id.button2);SQLiteOpenHelper helper=new MySQLiteHelper(this);int bookId=getIntent().getIntExtra(EXTRA_BOOKID,0);try {SQLiteDatabase sqLiteDatabase=helper.getReadableDatabase();Cursor cursor=sqLiteDatabase.query("BOOK",new String[]{"NAME","ISBN","DESCRIPTION","IMAGE_ID"},"_id=?",new String[]{Integer.toString(bookId)},null,null,null);if (cursor.moveToFirst()){String name=cursor.getString(0);etName.setText(name);String isbn=cursor.getString(1);etIsbn.setText(isbn);String description=cursor.getString(2);etdescription.setText(description);int id=cursor.getInt(3);ivBook.setImageResource(id);}cursor.close();sqLiteDatabase.close();}catch (SQLException e){Toast.makeText(this, "数据库创建失败", Toast.LENGTH_SHORT).show();}try {bts.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {SQLiteDatabase sqLiteDatabase = helper.getWritableDatabase();sqLiteDatabase.delete("BOOK", "_id=?", new String[]{Integer.toString(bookId)});}});}catch (SQLException e){Toast.makeText(this,"此书信息已被删除",Toast.LENGTH_SHORT).show();}try {btx.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {SQLiteDatabase sqLiteDatabase=helper.getWritableDatabase();ContentValues isbnValues=new ContentValues();ContentValues nameValues=new ContentValues();ContentValues descriptionValues=new ContentValues();isbnValues.put("ISBN",etIsbn.getText().toString());sqLiteDatabase.update("BOOK",isbnValues,"_id=?",new String[]{Integer.toString(bookId)});nameValues.put("NAME",etName.getText().toString());sqLiteDatabase.update("BOOK",nameValues,"_id=?",new String[]{Integer.toString(bookId)});descriptionValues.put("DESCRIPTION",etdescription.getText().toString());sqLiteDatabase.update("BOOK",descriptionValues,"_id=?",new String[]{Integer.toString(bookId)});}});}catch (SQLException e){Toast.makeText(this,"修改成功",Toast.LENGTH_SHORT).show();}}
}

activity_book.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"tools:context=".BookActivity"><ImageViewandroid:id="@+id/imageView"android:layout_width="match_parent"android:layout_height="wrap_content"app:srcCompat="@drawable/book1" /><TextViewandroid:id="@+id/tv_name"android:layout_width="85dp"android:layout_height="60dp"android:gravity="center"android:layout_centerVertical="true"android:layout_below="@id/imageView"android:textSize="18sp"android:layout_marginTop="2dp"android:text="书籍名称: " /><EditTextandroid:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="60dp"android:layout_toRightOf="@id/tv_name"android:layout_below="@id/imageView"android:ems="100" /><TextViewandroid:id="@+id/tv_isbn"android:layout_width="85dp"android:gravity="center"android:layout_height="60dp"android:textSize="18sp"android:layout_below="@id/tv_name"android:text="ISBN: " /><EditTextandroid:id="@+id/et_isbn"android:layout_width="match_parent"android:layout_height="60dp"android:layout_below="@id/et_name"android:layout_toRightOf="@id/tv_isbn"android:ems="100" /><TextViewandroid:id="@+id/tv_description"android:layout_width="85dp"android:layout_height="60dp"android:gravity="center"android:textSize="18sp"android:layout_below="@id/tv_isbn"android:text="书籍简介: " /><EditTextandroid:id="@+id/et_description"android:layout_width="match_parent"android:layout_height="60dp"android:layout_below="@id/et_isbn"android:layout_toRightOf="@id/tv_description"android:ems="100" /><Buttonandroid:id="@+id/button"android:layout_marginLeft="20dp"android:layout_width="80dp"android:layout_height="50dp"android:padding="10dp"android:layout_below="@id/et_description"android:text="修改" /><Buttonandroid:id="@+id/button2"android:layout_width="80dp"android:layout_height="50dp"android:layout_marginRight="20dp"android:padding="10dp"android:layout_alignParentRight="true"android:layout_below="@id/et_description"android:text="删除" /></RelativeLayout>

activity_book_category.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"tools:context=".BookActivity"><ImageViewandroid:id="@+id/imageView"android:layout_width="match_parent"android:layout_height="wrap_content"app:srcCompat="@drawable/book1" /><TextViewandroid:id="@+id/tv_name"android:layout_width="85dp"android:layout_height="60dp"android:gravity="center"android:layout_centerVertical="true"android:layout_below="@id/imageView"android:textSize="18sp"android:layout_marginTop="2dp"android:text="书籍名称: " /><EditTextandroid:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="60dp"android:layout_toRightOf="@id/tv_name"android:layout_below="@id/imageView"android:ems="100" /><TextViewandroid:id="@+id/tv_isbn"android:layout_width="85dp"android:gravity="center"android:layout_height="60dp"android:textSize="18sp"android:layout_below="@id/tv_name"android:text="ISBN: " /><EditTextandroid:id="@+id/et_isbn"android:layout_width="match_parent"android:layout_height="60dp"android:layout_below="@id/et_name"android:layout_toRightOf="@id/tv_isbn"android:ems="100" /><TextViewandroid:id="@+id/tv_description"android:layout_width="85dp"android:layout_height="60dp"android:gravity="center"android:textSize="18sp"android:layout_below="@id/tv_isbn"android:text="书籍简介: " /><EditTextandroid:id="@+id/et_description"android:layout_width="match_parent"android:layout_height="60dp"android:layout_below="@id/et_isbn"android:layout_toRightOf="@id/tv_description"android:ems="100" /><Buttonandroid:id="@+id/button"android:layout_marginLeft="20dp"android:layout_width="80dp"android:layout_height="50dp"android:padding="10dp"android:layout_below="@id/et_description"android:text="修改" /><Buttonandroid:id="@+id/button2"android:layout_width="80dp"android:layout_height="50dp"android:layout_marginRight="20dp"android:padding="10dp"android:layout_alignParentRight="true"android:layout_below="@id/et_description"android:text="删除" /></RelativeLayout>

Android Studio数据库增删改查。相关推荐

  1. Android:数据库增删改查、SQLite、ORM、Cursor

    1.继承类SQLiteOpenHelper: public class MySQLiteHelper extends SQLiteOpenHelper {//重写构造方法public MySQLite ...

  2. Android SQLite数据库增删改查操作

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...

  3. IntelliJ Idea SpringBoot 数据库增删改查实例

    . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \\\\( ( )\___ | '_ | '_| | '_ \/ _` | \\\\ \\/ ___)| | ...

  4. 利用SQLite在android上实现增删改查

    利用SQLite在android上实现增删改查 方法: 一.直接利用database.execSQL()方法输入完整sql语句进行操作 这种方法适用于复杂的sql语句,比如多表查询等等 这里适合于增删 ...

  5. 常用的Mybatis-Plus方法,让你的数据库增删改查(CRUD)一键实现

    常用的Mybatis-Plus方法,让你的数据库增删改查(CRUD)一键实现 以下方法全部亲测可用 //测试查找全部@Testpublic void testSelectAll(){List<U ...

  6. Mysql (一)Mysql 数据库增删改查

    mysql数据库增删改查增:create database DBname charset gbk; 删:drop database DBname; 改:alter database DBname ch ...

  7. sql增删改查_快速搞定数据库增删改查|附思维导图

    数据库学习,增删改查一直是测试工程师面试笔试的必考知识点,对于常用sql语法我们一定要牢记于心,尤其是各种查询的用法,在面试的时候,一个小小的知识点,面试官都可以推断出求职者的基础是否扎实. 下面是关 ...

  8. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  9. php+mysql+into_PHP+Mysql 如何实现数据库增删改查

    PHP+Mysql实现数据库增删改查的方法:1.创建入口文件[index.html]连接数据库.查询数据:2.点击增加按钮,通过[addnews.html]添加数据:3.点击删除按钮,通过服务端文件[ ...

  10. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

最新文章

  1. Tableau实战系列构建基本视图以浏览数据
  2. Python学习中的点点滴滴
  3. java哈希_Java Hashtable 类
  4. Linux移植随笔 tslib
  5. 从1~N中任选出三个数,最小公倍数最大
  6. Linux中安装nc(netcat)常见问题
  7. r语言rank降序_R语言rank函数详细解析
  8. Audio之音频帧周期(四十三)
  9. composer 介绍及安装
  10. 如何判断一个网页是否更新
  11. dnf 跨服 服务器 位置,dnf跨区怎么跨_dnf国服跨区表_快吧游戏
  12. 有一种爱情,叫沉、重!
  13. jpa的批量修改_jpa批量处理
  14. 好看的热力图seaborn.heatmap配色
  15. 计算机命令提示符开热点,win10电脑可以使用cmd命令创建wifi热点吗
  16. 第十九周学习周报(20180709-20180715)
  17. java自动化word报告
  18. 安装SolidWorks显示服务器,SolidWorks 映像管理安装详解
  19. SQL查询语句注入实战(手注,显注)
  20. 自动修复工具介绍——SemFix [ICSE 2013]

热门文章

  1. 海思移动侦测和视频遮挡实现
  2. Python制作动态爱心函数动图
  3. user_agent浏览器头部
  4. 【计算机组成原理】实验2:十六位数据总线实验
  5. C语言malloc函数详解(通俗易懂)
  6. Excel图表配色原理
  7. 10.计算机基础之程序设计基础
  8. HRTF音频3D定位技术
  9. EEG有效连接工具包SIFT的介绍与安装
  10. PHP HTML转PDF