热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidStudioSQLite数据库增删改查简单(代码参考)

一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat

一个建表
一个执行crud操作

建表代码

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;public class DatabaseHelper extends SQLiteOpenHelper {public DatabaseHelper(Context context){super(context,"Test.db",null,1);}//第一个参数是上下文,第二个参数是数据库名称,//第三个参数是CursorFactory对象,一般设置为null,第四个参数是数据库的版本public void onCreate(SQLiteDatabase db) {db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),age INTEGER)");}//创建表 表名information 表结构 自增id,字符串姓名,int年龄public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {Log.d("myDeBug","数据库版本已更新");}//数据库版本发生变化时调用
}

执行crud代码

import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;import java.util.ArrayList;
import java.util.List;public class DictActivity extends AppCompatActivity {private Button insertButton,updateButton,searchButton,deleteButton;private EditText name,age;private TextView show,showAge;final DatabaseHelper dbHelper=new DatabaseHelper(DictActivity.this);@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_dict);insertButton=findViewById(R.id.btn_insert);updateButton=findViewById(R.id.btn_update);searchButton=findViewById(R.id.btn_search);deleteButton=findViewById(R.id.btn_delete);name=findViewById(R.id.name);age=findViewById(R.id.age);show=findViewById(R.id.tv_show);showAge=findViewById(R.id.tv_showAge);SQLiteDatabase db=dbHelper.getReadableDatabase();myShow();insertButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {SQLiteDatabase db=dbHelper.getWritableDatabase();ContentValues values=new ContentValues();values.put("name",name.getText().toString());values.put("age",age.getText().toString());long id =db.insert("information",null,values);Log.d("myDeBug","insert");myShow();db.close();name.setText(null);age.setText(null);}});updateButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {SQLiteDatabase db=dbHelper.getWritableDatabase();ContentValues values=new ContentValues();values.put("age",age.getText().toString());db.update("information",values,"name=?",new String[]{name.getText().toString()});myShow();db.close();Log.d("myDebug","update");name.setText(null);age.setText(null);}});searchButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {SQLiteDatabase db=dbHelper.getWritableDatabase();String name1=name.getText().toString();show.setText(null);if(name1.equals("")){
// show.setText("姓名");
// showAge.setText("年龄");
// Cursor cursor = db.rawQuery("select * from information",null);
//
// while (cursor.moveToNext()) {
// String newName = cursor.getString(cursor.getColumnIndex("name"));
// int newAge = cursor.getInt(cursor.getColumnIndex("age"));
// show.setText(show.getText() + "\n" + newName);
// showAge.setText(showAge.getText()+"\n" + newAge);
// }myShow();db.close();}else {show.setText("姓名");showAge.setText("年龄");Cursor cursor = db.rawQuery("select * from information where name = ? ", new String[]{name1});while (cursor.moveToNext()) {String newName = cursor.getString(cursor.getColumnIndex("name"));int newAge = cursor.getInt(cursor.getColumnIndex("age"));
// show.setText(show.getText() + "\n" + newName + "\t" + newAge);show.setText(show.getText() + "\n" + newName);showAge.setText(showAge.getText()+"\n" + newAge);}cursor.close();db.close();name.setText(null);age.setText(null);}}});deleteButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {SQLiteDatabase db=dbHelper.getWritableDatabase();db.delete("information","name=?",new String[]{name.getText().toString()});myShow();db.close();Log.d("myDeBug","DeleteSuccess");name.setText(null);age.setText(null);}});}public void myShow(){SQLiteDatabase db=dbHelper.getReadableDatabase();show.setText("姓名");showAge.setText("年龄");Cursor cursor = db.rawQuery("select * from information",null);while (cursor.moveToNext()) {String newName = cursor.getString(cursor.getColumnIndex("name"));int newAge = cursor.getInt(cursor.getColumnIndex("age"));show.setText(show.getText() + "\n" + newName);showAge.setText(showAge.getText()+"\n" + newAge);}cursor.close();}

界面布局

<?xml version&#61;"1.0" encoding&#61;"utf-8"?>
<LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"android:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent"android:orientation&#61;"vertical"><LinearLayoutandroid:orientation&#61;"horizontal"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"><TextViewandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:text&#61;"姓名"android:textSize&#61;"30sp"/><EditTextandroid:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:hint&#61;"请输入姓名"android:textSize&#61;"20sp"android:id&#61;"&#64;&#43;id/name"/></LinearLayout><LinearLayoutandroid:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"><TextViewandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:text&#61;"年龄"android:textSize&#61;"30sp"/><EditTextandroid:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:hint&#61;"请输入年龄"android:textSize&#61;"20sp"android:id&#61;"&#64;&#43;id/age"/></LinearLayout><LinearLayoutandroid:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:orientation&#61;"horizontal"><Buttonandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:textSize&#61;"20sp"android:text&#61;"插入"android:id&#61;"&#64;&#43;id/btn_insert"android:textAllCaps&#61;"false"/><Buttonandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:textSize&#61;"20sp"android:text&#61;"更新"android:id&#61;"&#64;&#43;id/btn_update"android:textAllCaps&#61;"false"/><Buttonandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:textSize&#61;"20sp"android:text&#61;"查询"android:id&#61;"&#64;&#43;id/btn_search"android:textAllCaps&#61;"false"/><Buttonandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:textSize&#61;"20sp"android:text&#61;"删除"android:id&#61;"&#64;&#43;id/btn_delete"android:textAllCaps&#61;"false"/></LinearLayout><LinearLayoutandroid:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:orientation&#61;"horizontal"><TextViewandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:id&#61;"&#64;&#43;id/tv_show"android:textSize&#61;"20sp"android:gravity&#61;"center_horizontal"/><TextViewandroid:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_weight&#61;"1"android:id&#61;"&#64;&#43;id/tv_showAge"android:textSize&#61;"20sp"android:gravity&#61;"center_horizontal"/>
</LinearLayout></LinearLayout>


推荐阅读
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文详细介绍了 Android 开发中 layout_gravity 属性的使用方法及其在不同布局下的效果,旨在帮助开发者更好地理解和利用这一属性来精确控制视图的布局。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • Qt QTableView 内嵌控件的实现方法
    本文详细介绍了在 Qt QTableView 中嵌入控件的多种方法,包括使用 QItemDelegate、setIndexWidget 和 setIndexWidget 结合布局管理器。每种方法都有其适用场景和优缺点。 ... [详细]
author-avatar
是不是有谁代替我陪在你身旁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有