start.java

package com.example.myapplication;

import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity; import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast; import com.example.myapplication.database.Connect;
import com.example.myapplication.database.User; import java.util.Random; public class start extends AppCompatActivity implements View.OnClickListener { private TextView et_name;
private TextView et_class;
private TextView et_major;
private CheckBox cb_remember; private Button btn_add;
private Button btn_delete;
private Button btn_update;
private Button btn_check; private Connect mHelper; @Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
et_name=findViewById(R.id.et_name);
et_class=findViewById(R.id.et_class);
et_major=findViewById(R.id.et_major);
cb_remember=findViewById(R.id.cb_remember); btn_add=findViewById(R.id.btn_add);
btn_delete=findViewById(R.id.btn_delete);
btn_update=findViewById(R.id.btn_update);
btn_check=findViewById(R.id.btn_check); btn_add.setOnClickListener(this);
btn_delete.setOnClickListener(this);
btn_update.setOnClickListener(this);
btn_check.setOnClickListener(this); } @Override
protected void onStart() {
super.onStart(); //获取数据库帮助器实例
mHelper= Connect.getInstance(this); //读写操作
mHelper.openWriteLink();
mHelper.openWriteLink();
} @Override
protected void onStop() {
super.onStop();
//关闭操作
mHelper.closeLink();
} @Override
public void onClick(View view) {
String name=et_name.getText().toString();
String cla=et_class.getText().toString();
String major=et_major.getText().toString(); User user=null;
switch(view.getId()){
case R.id.btn_add:
user=new User(name,cla,major,cb_remember.isChecked());
//mHelper.insert(user);
if(mHelper.insert(user)>0){
Toast.makeText(this,"添加成功!",Toast.LENGTH_SHORT);
}
break;
}
}
}

activity_start.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_height="match_parent"
android:orientation="vertical"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="姓名:"> </TextView> <EditText
android:id="@+id/et_name"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1"> </EditText> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="班级:"> </TextView> <EditText
android:id="@+id/et_class"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1"> </EditText> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="专业:"> </TextView> <EditText
android:id="@+id/et_major"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1"> </EditText> </LinearLayout> <CheckBox
android:id="@+id/cb_remember"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="大学生否"> </CheckBox> <Button
android:id="@+id/btn_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加"> </Button> <Button
android:id="@+id/btn_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="修改"> </Button> <Button
android:id="@+id/btn_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除"> </Button> <Button
android:id="@+id/btn_check"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查询"> </Button> </LinearLayout>

User.java

package com.example.myapplication.database;

public class User {

    public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getCla() {
return cla;
} public void setCla(String cla) {
this.cla = cla;
} public String getMajor() {
return major;
} public void setMajor(String major) {
this.major = major;
} public Boolean getStudent(){
return student;
} public void setStudent(Boolean student){
this.student=student;
} private String name;
private String cla;
private String major;
private Boolean student; public User(){} public User(String name,String cla,String major,Boolean student){
this.name=name;
this.cla=cla;
this.major=major;
this.student=student;
} }

Connect.java

package com.example.myapplication.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class Connect extends SQLiteOpenHelper { //数据库名
private static final String db_name="user.db"; //表名
private static final String table_name="user_info"; //版本号
private static final int db_version=1; //数据库帮助器的初定义
private static Connect mHelper=null; //读写得初定义
private SQLiteDatabase mRDB=null;
private SQLiteDatabase mWDB=null; private Connect(Context context){
super(context,db_name,null,db_version); } //利用单例模式获取数据库帮助器的唯一实例
public static Connect getInstance(Context context){
if(mHelper==null){
mHelper=new Connect(context);
} return mHelper;
} //打开数据库得读操作
public SQLiteDatabase openReadLink(){
if(mRDB==null||!mRDB.isOpen()){
mRDB=mHelper.getReadableDatabase();
} return mRDB;
} //打开数据库的写操作
public SQLiteDatabase openWriteLink(){
if(mWDB==null||!mWDB.isOpen()){
mWDB=mHelper.getWritableDatabase();
} return mWDB;
} //关闭数据库连接
public void closeLink(){
if(mRDB!=null&&mRDB.isOpen()){
mRDB.close();
mRDB=null;
} if(mWDB!=null&&mWDB.isOpen()){
mWDB.close();
mWDB=null;
}
} //创建数据库,执行建表语句
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql="create table if not exists "+table_name+" ("+
"_name varchar primary key autoincrement not null," +
" cla varchar not null,"+
" major varchar not null);"; sqLiteDatabase.execSQL(sql);
} @Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } //添加语句
public long insert(User user){
ContentValues values=new ContentValues();
values.put("name",user.getName());
values.put("cla",user.getCla());
values.put("major",user.getMajor());
values.put("student",user.getStudent()); return mWDB.insert(table_name,null,values);
}
}

相关的增删改查代码没在这里,下一篇见吧!

Android笔记--基础的连接数据库的操作的更多相关文章

  1. 《Java笔记——基础知识点》

    Java笔记--基础知识点       位运算符操作的都是整型的数据. 位运算符是直接对整数的二进制进行计算. 整数不能进行逻辑运算. 运算符优先级别由高到低分别是:() > ! > 算术 ...

  2. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  3. AndroidApplication Fundamentals(Android应用基础)

    AndroidApplication Fundamentals(Android应用基础) Android应用采用Java编程语言来编写,AndroidSDK工具编译我们的代码,连同任何数据和资源文件一 ...

  4. 20145221 《Java程序设计》实验报告四:Android开发基础

    20145221 <Java程序设计>实验报告四:Android开发基础 实验要求 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管 ...

  5. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  6. 20145213 《Java程序设计》实验四 Android开发基础

    20145213 <Java程序设计>实验四 Android开发基础 说在前面的话 不同以往实验,对于这次实验具体内容我是比较茫然的.因为点我,打开实验四的链接居然能飘出一股熟悉的味道,这 ...

  7. 20145337实验四Android开发基础

    20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...

  8. 20145225《Java程序设计》 实验四 Android开发基础

    20145225<Java程序设计> 实验四 Android开发基础 实验报告 实验内容 安装Android Studio 运行安卓AVD模拟器 使用安卓运行出虚拟手机并显示HelloWo ...

  9. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  10. 【Xamarin开发 Android 系列 6】 Android 结构基础(上)

    原文:[Xamarin开发 Android 系列 6] Android 结构基础(上) 前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android ...

随机推荐

  1. cheerio中文文档

    这篇参考手册是对cheerio 官方文档的中文翻译 cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方 简介   让你在服务器端和htm ...

  2. 037_Clone Button

    ResolutionTo do this first go to Setup | Customize | Accounts | Buttons and Links | New. Enter the f ...

  3. python基于百度unit实现语音识别与语音交互

    一.百度Unit新建机器人 网址:https://ai.baidu.com/tech/speech/asr: 1.新建机器人并添加预置技能步骤 (1).新建机器人(添加预置技能),并填写机器人具体信息 ...

  4. Failed to apply plugin [id com.android.application]

    Failed to apply plugin [id com.android.application] 这种问题解决方法很简单,在BuildOutPut里面就能找到. 解决方法:在gradle.pro ...

  5. iClock数据服务器默认账号密码

    网络空间资产搜索: shodan 搜索 默认密码 admin/a***n End!!!

  6. 实验 四 [bx]和loop的使用

    1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H. 代码  assume cs:code code segme ...

  7. Flask之反向生成url

    from flask import Flask, url_forapp = Flask(__name__)endpoint:用来给url起别名,通过url_for来反向生成url,如果不写则默认是函数 ...

  8. freeswitch开启https,wss

    1.sip.js配置访问wss://域名:7443 2.freeswitch配置certs,使用cat   .pem .key >wss.pem,合成wss证书.需重启freeswitch 3. ...

  9. cin和缓存区问题

    稍微记录一下今天刷题遇到的C++问题 看到使用while(cin >> s);来读取最后一个字符串.百度了一下发现cin以空格,制表符和回车为终止依据.也就是说我输入"abc 1 ...

  10. [cisco]Configure private VLAN

    vlan 100 private-vlan isolated ! vlan 200 private-vlan community ! vlan 300 private-vlan primary pri ...