安卓 Android 简单数据库(增删改查)

<Button
android:id="@+id/delete_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"/>

<Button
android:id="@+id/update_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="修改"/>
<Button
android:id="@+id/query_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询"/>

package net.bwie.localdata;

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.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import net.bwie.localdata.sqlite.DBHelper;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

protected Button mInsertBtn;
protected Button mDeleteBtn;
protected Button mUpdateBtn;
protected Button mQueryBtn;
private DBHelper mHelper;
private SQLiteDatabase mDatabase;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
initView();

mHelper = new DBHelper(this);
mDatabase = mHelper.getWritableDatabase();
}

private void initView() {
mInsertBtn = (Button) findViewById(R.id.insert_btn);
mInsertBtn.setOnClickListener(MainActivity.this);
mDeleteBtn = (Button) findViewById(R.id.delete_btn);
mDeleteBtn.setOnClickListener(MainActivity.this);
mUpdateBtn = (Button) findViewById(R.id.update_btn);
mUpdateBtn.setOnClickListener(MainActivity.this);
mQueryBtn = (Button) findViewById(R.id.query_btn);
mQueryBtn.setOnClickListener(MainActivity.this);
}

@Override
public void onClick(View view) {
if (view.getId() == R.id.insert_btn) {
insertData();
} else if (view.getId() == R.id.delete_btn) {
deleteData();
} else if (view.getId() == R.id.update_btn) {
updateData();
} else if (view.getId() == R.id.query_btn) {
queryData();
}
}

// 表名
// null。数据库如果插入的数据为null,会引起数据库不稳定。为了防止崩溃,需要传入第二个参数要求的对象
// 如果插入的数据不为null,没有必要传入第二个参数避免崩溃,所以为null
// 插入的数据
private void insertData() {
ContentValues values = new ContentValues();
values.put(DBHelper.NAME, "鹿晗");
values.put(DBHelper.AGE, 17);
mDatabase.insert(DBHelper.TABLE_NAME, null, values);
Toast.makeText(this, "插入成功", Toast.LENGTH_SHORT).show();
}

// 表名
// 删除条件
// 满足删除的值
private void deleteData() {
int count = mDatabase.delete(DBHelper.TABLE_NAME, DBHelper.NAME + " = ?", new String[]{"鹿晗"});
Toast.makeText(this, "删除数量:"+count, Toast.LENGTH_SHORT).show();
}

// 表名
// 修改后的数据
// 修改条件
// 满足修改的值
private void updateData() {
ContentValues values = new ContentValues();
values.put(DBHelper.NAME, "小茗同学");
values.put(DBHelper.AGE, 18);
int count = mDatabase
.update(DBHelper.TABLE_NAME, values, DBHelper.NAME + " = ?", new String[]{"鹿晗"});
Toast.makeText(this, "修改成功:" + count, Toast.LENGTH_SHORT).show();
}

// 表名
// 查询字段
// 查询条件
// 满足查询的值
// 分组
// 分组筛选关键字
// 排序
private void queryData() {
Cursor cursor = mDatabase.query(DBHelper.TABLE_NAME,
new String[]{DBHelper.NAME, DBHelper.AGE},
DBHelper.AGE + " > ?",
new String[]{"16"},
null,
null,
DBHelper.AGE + " desc");// 注意空格!

int nameIndex = cursor.getColumnIndex(DBHelper.NAME);
int ageIndex = cursor.getColumnIndex(DBHelper.AGE);
while (cursor.moveToNext()) {
String name = cursor.getString(nameIndex);
String age = cursor.getString(ageIndex);

Log.d("1507", "name: " + name + ", age: " + age);
}
}
}

package net.bwie.localdata.sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

// 数据库文件名
public static final String DB_NAME = "my_database.db";
// 数据库表名
public static final String TABLE_NAME = "t_person";
// 数据库版本号
public static final int DB_VERSION = 1;

public static final String NAME = "name";
public static final String AGE = "age";

public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}

// 当数据库文件创建时,执行初始化操作,并且只执行一次
@Override
public void onCreate(SQLiteDatabase db) {
// 建表
String sql = "create table " +
TABLE_NAME +
"(_id integer primary key autoincrement, " +
NAME + " varchar, " +
AGE + " varchar"
+ ")";

db.execSQL(sql);
}

// 当数据库版本更新执行该方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}

原文地址:https://www.cnblogs.com/hyhy904/p/10995900.html

时间: 2024-10-08 17:11:00

安卓 Android 简单数据库(增删改查)的相关文章

Android SQLite数据库增删改查操作

一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

【Android】Sqlite数据库增删改查

Android系统内置一个Sqlite数据库,如果app需要使用Sqlite数据库数据库存储数据,Android会为此app生成一个.db文件.这个数据库在data/data/<package_name>/databases里面,其中<package_name>为该安卓app的工程包名,这个目录必须root后才能看到.在Windows,单机的应用程序,存储数据,基本放到一个文件里面,正如游戏的存档,基本就是把当前的游戏状态存到一个用户很难找到的文件里面.每次存档读档就是一个从这个存

用CI框架向数据库中实现简单的增删改查

以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html CodeIgniter_2.1.3与PHP5.6的兼容问题请戳 http://www.cnblogs.com/corvoh/p/4649357.html 增: //insert//语法:$bool=$this->db->insert('表名',关联数组); $data=array( 'username'=

用PHP向数据库中实现简单的增删改查(纯代码,待完善)

<?php $con = mysql_connect("localhost:3306","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("test", $con); $result = mysql_query("SELECT * FROM user"); echo "

Android中内容提供者ContentProvider实现数据库增删改查

1.我们首先new一个我们自己的类集成ContentProvider,并实现方法如下 package com.wzw.sqllitedemo.providers; import com.wzw.sqllitedemo.db.PersonSQLiteOpenHelper; import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues;

Android学习--------实现增删改查数据库操作以及实现类似微信好友对话管理操作

最近的一个实验用到东西挺多,特地总结一下. 要求功能: 1.第一个页面添加歌曲名和歌手,跳到第二个页面列表显示所有记录,使用sqlite数据库 2.对于第二个页面显示的信息可以进行删除和修改操作,并自动刷新 最后我做的效果: 长按列表项弹出单个管理的菜单,像微信好友对话管理一样. 删除时可以直接删除这一条并在列表中直接显示,更新时弹出对话框更新内容提交后在列表中重新显示. 做此例遇到的困难: 1.菜单获取上下文 2.获取对话框中的内容 3.对话框按钮添加监听事件-----注意包不要导错:impo

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

Mybatis实现简单的数据库增删改查操作 框架:mybatis(3.5.2) 数据库:mysql 工具:idea 1.新建一个maven项目,在pom文件中添加mybatis依赖及MySQL依赖 <!-- mybatis核心依赖 --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId&g

使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的MySQL Community Server 选择想要的版本进行下载 之后的步骤,因为本人已经安装过MySQL数据库,而卸载重装会比较麻烦,卸载不干净会导致新的装不上,所以可以参考下面的博客,因为官网的改动,前面的部分已经与该博客不符,按照本人在上面的介绍寻找即可 https://blog.csdn

EF5(6) 简单三层 增删改查

1:项目结构 2:每层添加对其他层的引用,这里我们把除了Web层之外的所有的层生成的文件都放到解决方案下的Library文件夹下,然后每个项目分别来引用里面的dll项目文件. 我们在Model项目上,右键属性->生成-> 在下面的输出里面,选择上一级的 Library文件夹 2.2 我们调整项目的生成顺序 ,在解决方案或者是任意项目上右键,选择 生成依赖项,调整各个项目的依赖,这样的目的就是调整项目的生成顺序. 注意,这里你选择依赖项,并没有给项目与项目之间增加了dll的引用,只是单纯的修改了

(转)SQLite数据库增删改查操作

原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n).char(n).d