在模拟器运行的情况下,进入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. Abdicate

    每次,打开背单词软件,背诵单词时,A打头的单词,第一个,永远会是 Abdicate,放弃,抛弃. 真是有意思. 想想在学习js高级程序设计一书时,一横心,决心手动输入书中出现过的每一个代码片段示例. ...

  2. Freezing Your Tuples Off 之 vacuum_freeze_min_age

    The vacuum_freeze_min_age setting determines the youngest XID which will be changed to FrozenXID on ...

  3. sql 2000 NOLOCK 和 ROWLOCK 和 UPDLOCK

    关系型数据库,如SQL Server,使用锁来避免多用户修改数据时的并发冲突.当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据. 有些数据库,包括SQL Se ...

  4. python分割数组里面重复的元素

    c=[1,1,1,1,2,2,2,3,3,4,4,4,4,4,5,5,5,] a = [] x = [] for i in range(0,len(c)): if i + 1 < len(c): ...

  5. C#实现数字字符串左补齐0的3种方法

    int n = 3; string s = n.ToString().PadLeft(4, '0'); //0003 s = string.Format("{0:d4}", n); ...

  6. 多线程操作(ThreadPool.QueueUserWorkItem

    主线程: private void GetPolicy_Load(object sender, EventArgs e) { ////ThreadPool.QueueUserWorkItem(new ...

  7. windows 系统中打开一个数字证书所经历的过程

         今天在使用Outlook express调试CSP程序时,发现数字证书总是加载不上(提示该数字证书已经被破坏),使用断点进去跟踪一下,发现在CSP程序中调用CPVerifySignature ...

  8. c#.net 访问SQL SERVER 时提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    解决方法: 管理员身份运行 cmd ->  输入 netsh winsock reset 然后重启电脑. 引用 :http://blog.csdn.net/laijieyao/article/d ...

  9. 真实赛车3,SPEEDRUSH TV 第3季,第3阶段(第3天),直线加速赛

    与其跳过,不如金币升级引擎和车身.因为后边紧跟一场计时赛.

  10. nodejs小问题:express不是内部或外部命令

    来源:http://jingyan.baidu.com/article/922554468a3466851648f419.html 一时兴起想学习点东西,准备在heroku上部署一个Node.js的小 ...