您的位置:首页 > 移动开发 > Android开发

Android使用谷歌封装好的api进行增删改查

2018-11-17 22:17 288 查看

本博文是对上一篇使用sql语句进行增删改查的修改,上一篇地址:
https://blog.csdn.net/liyunfu233/article/details/84193577

本篇主界面代码:

package com.example.createsqlitedemo02;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
MyOpenHelper myOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

myOpenHelper=new MyOpenHelper(getApplicationContext());
//打开或者创建数据库  如果是第一次就是创建
//SQLiteDatabase sqLiteDatabase=myOpenHelper.getWritableDatabase();

//打开或创建数据库 如果是第一次就是创建  如果磁盘满了只返回一个可读的
SQLiteDatabase sqLiteDatabase=myOpenHelper.getReadableDatabase();

}

//点击按钮增加一条记录
public void click1(View view) {
//[1]获取数据库对象
SQLiteDatabase db=myOpenHelper.getReadableDatabase();
//[2]执行增加一条的sql语句
//db.execSQL("insert into info(name,phone) values(?,?)",new Object[]{"张三","138888"});

/**
* table 表名
* contentvalues 内部封装了一个map key:对应列的名字 value对应的值
*
*/
ContentValues values=new ContentValues();
values.put("name","王五");
values.put("phone","110");

//返回值代表插入新行的id
long insert=db.insert("info",null,values);

//[3]数据库用完需要关闭
db.close();

if (insert>0){
Toast.makeText(getApplicationContext(),"添加成功",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getApplicationContext(),"添加失败",Toast.LENGTH_SHORT).show();
}

}

//删除
public void click2(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

//db.execSQL("delete from info where name=?",new Object[]{"张三"});

//返回值代表影响的行数
int delete=db.delete("info","name=?",new String[]{"王五"});

db.close();

Toast.makeText(getApplicationContext(),"删除了"+delete+"行",Toast.LENGTH_SHORT).show();

}

//更新
public void click3(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

//db.execSQL("update info set phone=? where name=?",new Object[]{"139999"});

ContentValues values=new ContentValues();
values.put("phone","145");
int update=db.update("info",values,"name=?",new String[]{"王五"});

db.close();
Toast.makeText(getApplicationContext(),"更新了"+update+"行",Toast.LENGTH_SHORT).show();

}

//查找
public void click4(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

//colums 代表你要查询的列
Cursor cursor=db.query("info",new String[]{"phone"},"name=?",new String[]{"王五"},null,null,null);
//Cursor cursor=db.rawQuery("select * from info",null);

if (cursor!=null&&cursor.getCount()>0){
while (cursor.moveToNext()){
//columindex代表列的索引
String phone=cursor.getString(0);

System.out.println("phone"+phone);

}
}
}
}

下面是纯使用sql语句进行的增删改查

package com.example.a15114.createsqlitedemo;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {
MyOpenHelper myOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

myOpenHelper=new MyOpenHelper(getApplicationContext());
//打开或者创建数据库  如果是第一次就是创建
//SQLiteDatabase sqLiteDatabase=myOpenHelper.getWritableDatabase();

//打开或创建数据库 如果是第一次就是创建  如果磁盘满了只返回一个可读的
SQLiteDatabase sqLiteDatabase=myOpenHelper.getReadableDatabase();

}

//点击按钮增加一条记录
public void click1(View view) {
//[1]获取数据库对象
SQLiteDatabase db=myOpenHelper.getReadableDatabase();
//[2]执行增加一条的sql语句
db.execSQL("insert into info(name,phone) values(?,?)",new Object[]{"张三","138888"});
//[3]数据库用完需要关闭
db.close();
}

//删除
public void click2(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

db.execSQL("delete from info where name=?",new Object[]{"张三"});

db.close();
}

//更新
public void click3(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

db.execSQL("update info set phone=? where name=?",new Object[]{"139999"});

db.close();

}

//查找
public void click4(View view) {

SQLiteDatabase db=myOpenHelper.getReadableDatabase();

Cursor cursor=db.rawQuery("select * from info",null);
if (cursor!=null&&cursor.getCount()>0){
while (cursor.moveToNext()){
//columindex代表列的索引
String name=cursor.getString(1);
String phone=cursor.getString(2);
System.out.println("name:"+name+"---------"+phone);
}
}
}
}

可以看出在对一个数据库进行操作时谷歌api更好用,他封装了 insert 添加方法 delete删除方法
update更新方法 以及 query 查询方法

但是对多个数据库进行操作时 纯sql语句 更好使用,他可以随意修改sql语句。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: