Android---SQLite数据库存储
来源:互联网 发布:最好的平面设计软件 编辑:程序博客网 时间:2024/04/30 03:13
推荐使用:LitePal 这个开源库
1、新建一个继承于SQLiteOpenHelper
package com.mycompany.databasesqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;/** * Created by sstek_mars on 2017/9/1. */public class MyDatabaseHelper extends SQLiteOpenHelper { // 建表 public static final String CREAT_BOOK = "create table book (" + "id integer primary key autoincrement, " + "author text, " + "price real, " + "pages integer, " + "name text)"; // 建新表 public static final String CREATE_CATEGORY = "create table Category (" + "id integer primary key autoincrement, " + "category_name text, " + "category_code text)"; private Context mContext; /** * * @param context 必须有它才可以对数据库进行操作 * @param name 数据库名 * @param factory 参数运行我们在查询数据的时候返回一个自定义的Cursor,一般为 null * @param version 数据库的版本号 */ public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } // 创建数据库,如果已经存在了,是不会再去创建数据库 @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREAT_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mContext, "创建数据库成功", Toast.LENGTH_SHORT).show(); } // 升级数据库 // 解决在已有数据库的情况下,再新建一个新的数据库失败问题 // 必须传一个大于之前版本的数,才会执行 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table if exists Book"); db.execSQL("drop table if exists Category"); onCreate(db); }}
2、使用
package com.mycompany.databasesqlite;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity { private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 第一次新建 // dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 1); // 升级 版本号必须大于前一次版本号 dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2); // 新建按钮 Button createDatabase = (Button) findViewById(R.id.create_database); createDatabase.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dbHelper.getWritableDatabase(); } }); // 增 Button addDatabase = (Button) findViewById(R.id.add_data); addDatabase.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); // 开始组装第一条数据 values.put("name", "The da vinvi code"); values.put("author", "dan brown"); values.put("pages", 222); values.put("price", 111); // 插入第一条数据 db.insert("Book", null, values); values.clear(); // 开始第二条数据 values.put("name", "11 da vinvi code"); values.put("author", "11 brown"); values.put("pages", 222); values.put("price", 111); db.insert("Book", null, values); } }); // 改 Button updateData = (Button) findViewById(R.id.update_data); updateData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "hahaha"); db.update("Book", values, "name = ?", new String[]{"The da vinvi code"}); } }); // 删 Button deleteData = (Button) findViewById(R.id.delete_data); deleteData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("Book", "pages > ?", new String[]{"500"}); } }); // 查 Button queryData = (Button) findViewById(R.id.query_data); queryData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("Book", null , null, null, null, null, null); if (cursor.moveToFirst()){ do { // 遍历Cursor 取出数据并打印 String name = cursor.getString(cursor.getColumnIndex("name")); Log.d("MainActivity", "书名是:" + name); } while (cursor.moveToNext()); } cursor.close(); } }); }}
阅读全文
0 0
- Android 数据库存储 SQLite
- Android -SQLite数据库存储
- Android SQLite数据库存储
- Android SQLite数据库存储
- Android SQLite 数据库存储
- Android SQLite 数据库存储
- Android----SQLite数据库存储
- Android---SQLite数据库存储
- Android存储---SQLite数据库存储
- android-数据存储-SQLite数据库
- android-SQLite数据库存储数据
- Android的SQLite数据库存储
- android数据存储----SQLite数据库
- Android SQLite数据库存储实现
- Android的SQLite数据库存储
- Android存储之SQLite数据库
- Android中的SQLite数据库存储
- Android中SQLite数据库存储
- 阿里云倾力扶持技术社区 CDN流量免费放送
- redis类型[string 、list 、 set 、sorted set 、hash]
- Kotlin学习
- 编程,因为懂得,所以热爱
- jQuery选择器大全
- Android---SQLite数据库存储
- SQL语言 四大类
- USACO-Section2.2 Runaround Numbers
- 简单聊聊VPC和SDN/NFV
- Java读取Html网页
- 软件测试电梯,杯子的测试方法
- 旋转数组的最小数字
- 【大牛经验】探讨Java的异常与错误处理
- 交易清单(京东2016实习生真题)