在模拟器运行的情况下,进入cmd运行adb shell 可进入模拟器的linux系统
输入 lite3 mars_test_db 可进入sqlite模式
.schema或者.sch 查看有哪些表

SQLite帮助类

package com.example.mars_1400_sqlite01;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper; //DatabaseHelper作为一个访问SQLite的助手类,提供两个方面的功能
//第一:getReadableDatabase(),getWritableDatabase()可以获得SQLiteDatabase对象,通过该对象可以对数据库进行操作
//第二:提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作
public class DatabaseHelper extends SQLiteOpenHelper { private static final int VERSION = 1;
//在SQLiteOpenHelper子类中,必须有该构造函数
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
// 必须通过super调用父类当中的构造函数
super(context, name, factory, version);
} public DatabaseHelper(Context context, String name) {
this(context, name, VERSION);
} public DatabaseHelper(Context context, String name, int version) {
this(context, name, null, version);
} //该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabase对象的时候
@Override
public void onCreate(SQLiteDatabase db) {
System.out.println("create a Database");
//execSQL函数用于执行sql语句
db.execSQL("create table user(id int,name varchar(20))");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//当数据库的版本更新时执行
System.out.println("update a Database");
} }

SQLite增删改查

public class MainActivity extends Activity {
private Button createDatabase = null;
private Button updateDatabase = null;
private Button insert = null;
private Button update = null;
private Button query = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); createDatabase = (Button) findViewById(R.id.createDatabase);
updateDatabase = (Button) findViewById(R.id.updateDatabase);
insert = (Button) findViewById(R.id.insert);
update = (Button) findViewById(R.id.update);
query = (Button) findViewById(R.id.query); createDatabase.setOnClickListener(new CreateListener());
updateDatabase.setOnClickListener(new UpdateListener());
insert.setOnClickListener(new InsertListener());
update.setOnClickListener(new UpdateRecordListener());
query.setOnClickListener(new QueryListener()); /*
* if (savedInstanceState == null) {
* getSupportFragmentManager().beginTransaction() .add(R.id.container,
* new PlaceholderFragment()).commit(); }
*/
} class CreateListener implements OnClickListener {
@Override
public void onClick(View v) {
// 创建一个DatabaseHelper对象
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"mars_test_db");
// 只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之一
// 才会创建数据库
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
} class UpdateListener implements OnClickListener {
@Override
public void onClick(View v) {
// 更新数据库的版本
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"mars_test_db", 2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
} // 更新操作就相当于执行SQL语句当中的update语句
// update table_name set xxcol=xx where xxclo=xx...
class InsertListener implements OnClickListener {
@Override
public void onClick(View v) {
System.out.println("insert data");
// 生成ContentValues对象
ContentValues values = new ContentValues();
// 想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据类型匹配
values.put("id", 2);
values.put("name", "zhangsan");
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"mars_test_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 调用insert方法,就可以将数据插入到数据库当中
db.insert("user", null, values);
}
} class UpdateRecordListener implements OnClickListener {
@Override
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"mars_test_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "wzh");
db.update("user", values, "id=?", new String[] { "1" });
}
} class QueryListener implements OnClickListener {
@Override
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"mars_test_db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("user", new String[] { "id", "name" },
"id=?", new String[] { "1" }, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}

Android之SQLite的更多相关文章

  1. Android之SQLite数据存储

    一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句. ...

  2. android安卓Sqlite数据库实现用户登录注册

    看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...

  3. Android中SQLite数据库小计

    2016-03-16 Android数据库支持 本文节选并翻译<Enterprise Android - Programing Android Database Applications for ...

  4. android 对sqlite数据库的增删改查等各种操作

    转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...

  5. Android学习---SQLite数据库的增删改查和事务(transaction)调用

    上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...

  6. android数据库SQLite的设计模式

    Dao设计模式可能是使用最多的数据库的设计模式其基本思路是将数据库操作的代码 与设计代码分离以便于维护和升级.具体的实现方法是使用包,然后在设计代码中调 用数据库的操作代码,dao设计模式需要创建5个 ...

  7. Android使用SQLite数据库(2)

    打开SQLite数据库,首先要建立一个DatabaseHelper类的实例,然后,再获得数据库: DatabaseHelper mDBH; SQLiteDatabase db; mDBH = new ...

  8. 我的Android六章:Android中SQLite数据库操作

    今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...

  9. Android和SQLite版本对应关系

    Android和SQLite版本对应关系 今天Xamarin群有人问到Android和SQLite版本如何对应,顺手查了一下,贴出来. SQLite 3.8.4.3: • 21-5.0-Lollipo ...

  10. Android中SQLite应用详解

    上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite. 现在的主流移动设备像Android.i ...

随机推荐

  1. jQuery序列化后的表单值转换成Json

    $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() ...

  2. GPU的革命

    CUDA 线程执行模型分析(一)招兵------ GPU的革命 CUDA 线程执行模型分析(二)大军未动粮草先行------GPU的革命 CUDA硬件实现分析(一)------安营扎寨-----GPU ...

  3. vi 常用命令行

    vi 常用命令行 1.vi 模式  a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.  b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...

  4. Knockout JS 入门示例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  5. JavaScript遍历table的行和列

    来源:http://blog.csdn.net/bobwu/article/details/7497412 <HTML> <head> <SCRIPT LANGUAGE= ...

  6. javascript中in和hasOwnProperty区别

    in操作符只要通过对象能访问到属性就返回true.hasOwnProperty()只在属性存在于实例中时才返回true. function Person(){ } Person.prototype.n ...

  7. js/jquery 操作document对象

    一.获取对象 //js获取的是dom对象,jquery获取的是jquery对象 //jquery对象可以输出dom对象,索引方式输出dom对象,eq()[]方式输出dom对象;eq()输出jquery ...

  8. 【jmeter】non-gui模式运行

    operty文件,默认是使用JMETER_HOME/bin目录下的jmeter.properties,如果用户自定义有其它的配置,在这里加上 #用法如下: -p user.properties -q, ...

  9. 【设计模式】单件模式(Singleton)--各类单件模式的比较

    单件模式 确保一个类只有一个实例,并提供一个安全的访问点. 线程安全+延时初始化+高性能(使用:延时初始化占位符模式) ------测试----------- 线程安全+[非]延时初始化 线程安全+延 ...

  10. Linux Modules Introduction

    Modules are small kernel extensions ,that may be loaded and unloaded at will● Can implement drivers, ...