首页 > 数据库 >Android sqlite 数据库查询,插入,删除,更新demo<第1章>

Android sqlite 数据库查询,插入,删除,更新demo<第1章>

时间:2023-04-12 21:04:22浏览次数:48  
标签:sqlite String demo db public Android null id name




//20140424


创建数据库帮助类DataBaseHelper,继承SQLiteOpenHelper, 


1.  编写构造函数,实现数据库创建;


public static final String TAG = "ListViewActivity";


private static int VERSION = 1;
private static final String TABLE_NAME = "user1";
private static final String SQL_CREATE = "CREATE TABLE user1(_id integer not null primary key autoincrement,"
+ "name text not null,"
+ "number text not null)";/*  表中主键id 要写成 _id  
*   数据库版本 >=1
*/
public DataBaseHelper(Context context, String name){

this(context,TABLE_NAME,null,VERSION); // context是Activity
}

public DataBaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}


 2. 复写onCreate()方法,此方法只会在数据库不存在的时候调用,也就是说,数据库存在的情况下则不会调用。


public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
Log.i(TAG, "onCreate ");
db.execSQL(SQL_CREATE);
}

 3.  insert


public void insertDataBase(SQLiteDatabase db,String name,String number)throws SQLiteException{

ContentValues values = new ContentValues();

Log.i(TAG,"insertDataBase : name = "+name+"number = "+number);
values.put("name", name);
values.put("number",number);

db.insert(TABLE_NAME, null, values);
}

 4.  updata

 5. delete

public void updataDataBase(SQLiteDatabase db,int id,ContentValues values){

String[] args = {String.valueOf(id)};   //  args不能写成 new String[]{"id"}  下同

db.update(TABLE_NAME, values,"_id=?",args);
}

 

public void deleteUserDataToDataBase(SQLiteDatabase db,int id){

Log.i(TAG, "id = "+id);
String[] args = {String.valueOf(id)};

db.delete(TABLE_NAME, "_id=?", args);
}


  6.  select

public Cursor getCursor(SQLiteDatabase db){

return db.query(TABLE_NAME, new String[]{"_id","name","number"}, null, null, null, null, null);
}


 7. version  updata,在此没有使用。

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}//  不废话了,上代码:

package com.example.listviewdatabase;


 import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteDatabase.CursorFactory;
 import android.database.sqlite.SQLiteException;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.util.Log;


 public class DataBaseHelper extends SQLiteOpenHelper {

public static final String TAG = "ListViewActivity";


private static int VERSION = 1;
private static final String TABLE_NAME = "user1";
private static final String SQL_CREATE = "CREATE TABLE user1(_id integer not null primary key autoincrement,"
+ "name text not null,"
+ "number text not null)";

public DataBaseHelper(Context context, String name){

this(context,TABLE_NAME,null,VERSION);
}

public DataBaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
Log.i(TAG, "onCreate ");
db.execSQL(SQL_CREATE);
}

public void insertDataBase(SQLiteDatabase db,String name,String number)throws SQLiteException{

ContentValues values = new ContentValues();

Log.i(TAG,"insertDataBase : name = "+name+"number = "+number);
values.put("name", name);
values.put("number",number);

db.insert(TABLE_NAME, null, values);
}


public void updataDataBase(SQLiteDatabase db,int id,ContentValues values){

String[] args = {String.valueOf(id)};

db.update(TABLE_NAME, values,"_id=?",args);
}

public void deleteUserDataToDataBase(SQLiteDatabase db,int id){

Log.i(TAG, "id = "+id);
String[] args = {String.valueOf(id)};

db.delete(TABLE_NAME, "_id=?", args);
}

public Cursor getCursor(SQLiteDatabase db){

return db.query(TABLE_NAME, new String[]{"_id","name","number"}, null, null, null, null, null);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}
}



此文章是本人学习笔记,能力有限,相互学习,欢迎点评,谢谢...

标签:sqlite,String,demo,db,public,Android,null,id,name
From: https://blog.51cto.com/u_16068487/6186214

相关文章

  • Android App状态栏变色:ColorfulStatusBar
    适用于版本大于等于19以上。importandroid.annotation.TargetApi;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Color;importandroid.os.Build;importandroid.view.View;importandroid.view.ViewGroup;......
  • Android动态设置drawableRight
    DrawablerightDrawable=getResources().getDrawable(R.drawable.icon);//调用setCompoundDrawables时,必须调用Drawable.setBounds()方法,否则图片不显示rightDrawable.setBounds(0,0,rightDrawable.getMinimumWidth(),rightDrawable.getMinimumHeight());//left,top,r......
  • 直播电商平台开发,Android | 图片缩放、自动居中
    直播电商平台开发,Android|图片缩放、自动居中1、activity_main.xml <?xmlversion="1.0"encoding="utf-8"?><FrameLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"  a......
  • 搭建直播平台,Android ListView 长按删除列表项
    搭建直播平台,AndroidListView长按删除列表项一、核心代码监听器-长按弹出对话框AdapterView.OnItemLongClickListener    privatefinalAdapterView.OnItemLongClickListeneritemDeleteListener=newAdapterView.OnItemLongClickListener(){    @Over......
  • 直播平台软件开发,Android代码模拟触摸、点击及滑动等事件
    直播平台软件开发,Android代码模拟触摸、点击及滑动等事件一、应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 privatevoidsimulateClick(Viewview,floatx,floaty){  longdownTime=SystemClock.uptimeMillis();  finalMotionEventdownEve......
  • android Route模块化路由设计方案
    背景:我们在移动端开发过程,随着业务越来越多,越来越复杂,在架构中会将业务进行剥离和抽取,这样会出现许多业务模块。但是各业务模块又有业务关联,常见的就是Activity之间的跳转。但是,一些大的公司,或者业务线非常多的app大多数采用混合模式,常见的就是H5和app混合,特别是电商商业比较常见。......
  • Android Kotlin实战之高阶使用泛型扩展协程懒加载详解
    前言:通过前面几篇文章,我们已基本掌握kotlin的基本写法与使用,但是在开发过程中,以及一些开源的API还是会出现大家模式的高阶玩法以及问题,如何避免,接下来讲解针对原来的文章进行一些扩展,解决大家在工作中遇到的问题,如何去解决如果还有人不了解kotlin,可以查看我的基础篇kotlin。Android......
  • android监听耳机按键
    app在前台的监听方式:@OverridebooleanonKeyDown(intkeyCode,KeyEventevent){if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){returnsuper.onKeyDown(keyCode,event);}switch(keyCode){caseKeyE......
  • Chrome模拟手机浏览器(iOS/Android)的方法
    1、在chrome的开发者工具模式下,点击左上角的手机图标切换成手机模式(或者F12然后Ctrl+Shift+M),一般这个方法访问绝大多数设限的网站。2、第一种方法不行,则安装Google插件User-AgentSwitcherforGoogleChrome3、https://blog.csdn.net/gb4215287/article/details/64438603......
  • Android脱壳基础知识
    JVM的类加载器:BootstrapClassLoader引导类加载器:C/C++代码实现的加载器,用于加载制定的JDK核心库,比如java.lang.*、java.util.*等这些系统类。Java虚拟机的启动就是通过Bootstrap,该ClassLoader在java里无法获取,负责加载/lib下的类ExtensionsClassLoader拓展类加载器:Java中的......