1、先创建一个Product类 Product.java

变量如下:

    int id;
String code;
String name;
int qty;

2、创建一个DBHelper类 DBHelper.java

DBHelper类继承于SQLiteOpenHelper ,创建一个test.db的数据库,创建一张product表,并对product表进行增删改查操作。

import java.util.ArrayList;
import java.util.HashMap; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper { public final static String DB_NAME = "test.db";
public final static int VERSION = 1;
private static DBHelper instance = null;
private SQLiteDatabase db; public static DBHelper getInstance(Context context) {
if (instance == null) {
instance = new DBHelper(context);
}
return instance;
} private void openDatabase() {
if (db == null) {
db = getWritableDatabase();
}
} private DBHelper(Context context) {
super(context, DB_NAME, null, VERSION);
} /** 第一次安装程序后创建数据库 */
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table product (_id integer primary key autoincrement,code text,name text,qty Integer )");
} /** 版本升级时,先删除原有的数据库,再重新创建数据库 */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exist product");
onCreate(db);
} /** 添加一条数据 */
public long saveLamp(Product pro) {
ContentValues value = new ContentValues();
value.put("code", pro.getCode());
value.put("name", pro.getName());
value.put("qty", pro.getQty());
return db.insert("product", null, value);
} /** 根据id删除数据 */
public int deleteLamp(int id) {
return db.delete("product", "_id=?", new String[] { String.valueOf(id) });
} /** 根据id更新数据 */
public int updateLamp(Product pro, int id) {
ContentValues value = new ContentValues();
value.put("code", pro.getCode());
value.put("name", pro.getName());
value.put("qty", pro.getQty());
return db.update("product", value, "_id=?", new String[] { String.valueOf(id) });
} /** 查询所有数据 */
public ArrayList<HashMap<String, Object>> getLampList() {
openDatabase();
Cursor cursor = db.query("product", null, null, null, null, null, null);
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
while (cursor.moveToNext()) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id", cursor.getInt(cursor.getColumnIndex("_id")));
map.put("code", cursor.getString(cursor.getColumnIndex("code")));
map.put("name", cursor.getString(cursor.getColumnIndex("name")));
map.put("qty", cursor.getString(cursor.getColumnIndex("qty")));
list.add(map);
}
return list;
} /** 根据编码查询数据 */
public Product getALamp(String code) {
openDatabase();
Cursor cursor = db.query("product", null, "code=?", new String[] { code }, null, null, null);
Product pro = new Product();
while (cursor.moveToNext()) {
pro.setId(cursor.getInt(cursor.getColumnIndex("_id")));
pro.setCode(cursor.getString(cursor.getColumnIndex("code")));
pro.setName(cursor.getString(cursor.getColumnIndex("name")));
pro.setQty(cursor.getInt(cursor.getColumnIndex("qty")));
}
return pro;
} /** 查询有多少条记录 */
public int getLampCount() {
openDatabase();
Cursor cursor = db.query("product", null, null, null, null, null, null);
return cursor.getCount();
} }

3、测试数据 MainActivity .java

import java.util.ArrayList;
import java.util.HashMap; import android.app.Activity;
import android.os.Bundle;
import android.util.Log; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
exec();// 测试数据 } private void exec() {
/** 添加数据 */
Product product1 = new Product("pingguo", "红富士苹果", 100);
long sucess1 = DBHelper.getInstance(MainActivity.this).saveLamp(product1);
Log.d("test", "sucess=" + sucess1);
if (sucess1 > 0) {
// "添加成功!"
} else {
// "添加失败,请重新操作!"
} /** 修改数据 */
Product product2 = new Product("pingguo", "红富士苹果", 100);
int updateId = 5;
int sucess2 = DBHelper.getInstance(MainActivity.this).updateLamp(product2, updateId);
if (sucess2 > 0) {
// "修改成功!"
} else {
// "修改失败,请重新操作!"
} /** 删除数据 */
int deleteId = 5;
int sucess = DBHelper.getInstance(MainActivity.this).deleteLamp(deleteId);
if (sucess > 0) {
// "删除成功!"
} else {
// "删除失败!"
} /** 获取表记录数 */
int count = DBHelper.getInstance(MainActivity.this).getLampCount(); /** 获取所有数据 */
ArrayList<HashMap<String, Object>> data = DBHelper.getInstance(MainActivity.this).getLampList(); }
}

最新文章

  1. DHCP服务器原理
  2. LINUX 内核文档地址
  3. html 动态添加TABLE的行。
  4. 服务器 tfs不提供 TeamFoundation服务。基础连接已经关闭
  5. Kakfa揭秘 Day2 Kafka内核再揭秘
  6. POJ1329题
  7. action中实现对批量文件上传的封装
  8. DynamicReports
  9. Swift学习之元组(Tuple)
  10. DFA算法的简单说明!
  11. 初探linux子系统集之timer子系统(一)
  12. 前端随笔 - JavaScript中的闭包
  13. tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理
  14. Docker网络和容器的通信
  15. vscode隐藏运行ts生成的js文件和map文件
  16. 技巧性极强的strings命令
  17. SDK Manager 基础下载
  18. 【Ubuntu】录屏软件
  19. 《Windows核心编程》第2章——字符和字符处理
  20. SBT树

热门文章

  1. Spark Scala当中reduceByKey(_+_) reduceByKey((x,y) =&gt; x+y)的用法
  2. MVCC原理 4步 什么是MVCC、事务ACID、事物隔离级别、Innodb存储引擎是如何实现MVCC的
  3. 15.Ansible安装与配置简单版
  4. 计算机概论 64bit和32bit的CPU的不同
  5. 《深入理解 Java 虚拟机》学习 -- Java 内存模型
  6. element-ui当中table组件的合并行和列的属性:span-method的用法
  7. MyEclipse的Server标签出现:Could not create the view: An unexpected exception was thrown
  8. springboot打包war包部署到tomcat
  9. 【原创】大叔经验分享(81)marathon上app无法重启
  10. python selenium3 模拟点击+拖动+保存验证码 测试对象 58同城验证码