Android Sqlite的基本用法
来源:互联网 发布:linux全局翻墙教程 编辑:程序博客网 时间:2024/05/28 23:20
package com.lixiangjian.android_sqlite;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.util.Log;import android.view.View;/** * Sqlite的基本用法 * * @author lixiangjian * */public class MainActivity extends Activity {private MySqliteOpenHelpter mOpenHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mOpenHelper = new MySqliteOpenHelpter(MainActivity.this, 1);}/** * 打开数据库 第一次打开数据库时才会创建数据库 * getWritableDatabase():首先会以读写的方式打开数据库,当数据库磁盘满时就只能读不能写了,再次写入就会报错 * getReadableDatabase():首先会以读写的方式打开数据库,当数据库磁盘满时就会以读取的方式继续尝试打开数据库 * * @param view */public void openDb(View view) {// SQLiteDatabase db = mOpenHelper.getWritableDatabase();SQLiteDatabase db = mOpenHelper.getReadableDatabase();db.close();}// 新增数据public void insertData(View view) {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "insert into person values(1,'张三',20)";String sql2 = "insert into person values(2,'李四',30)";db.execSQL(sql);db.execSQL(sql2);db.close();}// 修改数据public void updateData(View view) {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "update person set name = '犀利哥' where _id = 1";db.execSQL(sql);db.close();}// 删除数据public void delData(View view) {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "delete from person where _id = 2";db.execSQL(sql);db.close();}// 查询数据public void selectData(View view) {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "select * from person where _id = ?";Cursor cursor = db.rawQuery(sql, new String[] { "1" });// 参数2:占位符的值// 遍历结果集while (cursor.moveToNext()) {// columnIndex:列的下标//int id = cursor.getInt(0);//String name = cursor.getString(1);//int age = cursor.getInt(2);//cursor.getColumnIndex(columnName):通过列名获取列的下标int id = cursor.getInt(cursor.getColumnIndex("_id"));String name = cursor.getString(cursor.getColumnIndex("name"));int age = cursor.getInt(cursor.getColumnIndex("age"));Log.i("TAG", "_id:" + id + " name:" + name + " age:" + age);}}}<pre name="code" class="java">package com.lixiangjian.android_sqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.util.Log;import android.database.sqlite.SQLiteOpenHelper;/** * 数据库操作的帮助类 * 用来关联数据库的创建以及版本更新 * @author lixiangjian * */public class MySqliteOpenHelpter extends SQLiteOpenHelper {private static String db_name = "info_db.db";//数据库的名称/** * * @param context:上下文对象 * @param name :要创建的数据库的名字 * @param factory:游标工厂 * @param version:要创建的数据库的版本 */public MySqliteOpenHelpter(Context context, int version) {super(context, db_name, null, version);}/** * 创建数据库是回调的方法 */@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "create table person(_id integer primary key,name varchar(10),age integer)";db.execSQL(sql);//除了查询之外都可以调用}/** * 数据库版本更新时回调的方法 */@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {if(newVersion !=oldVersion){Log.i("TAG", "数据库版本改变了");}}}
activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="打开数据库" android:onClick="openDb" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="新增数据" android:onClick="insertData" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="修改数据" android:onClick="updateData" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="删除数据" android:onClick="delData" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查询数据" android:onClick="selectData" /></LinearLayout>
0 0
- Android Sqlite的基本用法
- android的SQLite基本用法
- android SQLite基本用法
- Android SQLite基本用法
- Android ,SQLite基本用法
- SQLite在Android上的基本用法
- Android中SQLite的基本用法
- Sqlite的基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- 用户代码未处理MetadataException
- 【动态规划】爬台阶
- 从零开始搭建属于自己的博客
- JSON for java入门总结
- [Stellaris][群星]Mod制作指南-编写中-预计6月完成。。大概
- Android Sqlite的基本用法
- Python函数
- 括号匹配
- CS231n 卷积神经网络与计算机视觉 10 卷积神经网络学了些什么?
- 51NOD 1010 只包含因子2 3 5的数(二分 + 预处理)
- 从头学android_ListView的使用
- Android MVP架构简单封装
- TOEFL writing——6 vocabulary words
- 尺取法 poj3061