Android学习之SQLite基础
1、新建MySQLiteHelper类继承自SQLiteOpenHelper
public class MySQLiteHelper extends SQLiteOpenHelper {
private Context context;
public MySQLiteHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
this.context=context;
}
public static final String createContact = "create table contact("
+ "id integer primary key autoincrement,"
+ "name text,phone text,email text)";
@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub
arg0.execSQL(createContact);
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
2、实现增加、修改、删除、查询
public class MainActivity extends Activity {
MySQLiteHelper mySQLiteHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//调用getWritableDatabase()方法,检测到当前程序中并没有contact.db数据库,于是会创建该数据库并调用MySQLiteHelper中的onCreate方法创建数据表。
mySQLiteHelper=new MySQLiteHelper(this, "contact.db", null, 1);
mySQLiteHelper.getWritableDatabase();
Button btnInsert=(Button)findViewById(R.id.btnInsert);
btnInsert.setOnClickListener(new OnClickListener() {
//增加
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db=mySQLiteHelper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("name", "aa");
values.put("phone", "13989999099");
db.insert("contact",null, values);
values.clear();
}
});
Button btnUpdate=(Button)findViewById(R.id.btnUpdate);
btnUpdate.setOnClickListener(new OnClickListener() {
//修改
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db=mySQLiteHelper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("email", "itzhb@163.com");
db.update("contact", values, "name=?",new String[]{"aa"});
values.clear();
}
});
Button btnDelete=(Button)findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(new OnClickListener() {
//删除
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db=mySQLiteHelper.getWritableDatabase();
//db.delete("contact", "id>?",new String[]{"1"});
//直接使用SQL操作数据库
String sqlString="delete from contact where id=(select max(id) from contact)";
db.execSQL(sqlString);
}
});
Button btnQuery=(Button)findViewById(R.id.btnQuery);
btnQuery.setOnClickListener(new OnClickListener() {
//查询
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db=mySQLiteHelper.getWritableDatabase();
//直接使用SQL查询
Cursor cursor=db.rawQuery("select * from contact where id>?", new String[]{"1"});
if(cursor.moveToFirst()){
do {
int id=cursor.getInt(cursor.getColumnIndex("id"));
String nameString=cursor.getString(cursor.getColumnIndex("name"));
String phoneString=cursor.getString(cursor.getColumnIndex("phone"));
String emailString=cursor.getString(cursor.getColumnIndex("email"));
Log.d("contact","id is "+id);
Log.d("contact","name is "+nameString);
Log.d("contact","phone is "+phoneString);
Log.d("contact","email is "+emailString);
} while (cursor.moveToNext());
}
}
});
}
}
另外可以通过sdk\platform-tools目录下的adb工具使用sqlite3命令管理SQLite数据库。
Android学习之SQLite基础的更多相关文章
- 七、Android学习第六天——SQLite与文件下载(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQ ...
- Android学习之SQLite学习
花了2天时间,系统学习了下Android开发过程中使用的轻量级数据库SQLite的使用. 并掌握其增,删,该,查的基本数据库操作. 首先要使用SQLite数据库,须要通过Android系统提供的SQL ...
- Android学习笔记--Sqlite数据库
前几天学习了Android中的数据存储,包括文件存储,SharedPreferences存储,还有就是Acndroid中的特色:SQLite数据库存储了.让我比较惊讶的是Android中竟然内嵌了一个 ...
- android学习——必学基础组件
android基础组件是一个Android的开发人员必须要了解,且深刻理解的东西: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3. ...
- Android学习笔记——SQLite
该工程的功能是实现关于数据库的操作,即creat.update.insert.query.delete 调试的时候请用模拟器,用真机调试的时候进入cmd-adb shell,再进入cd data/da ...
- (转)Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解
原文:http://blog.csdn.net/lidew521/article/details/8655229 1.SQLite介绍:最大特点是,无数据类型;除了可以使用文件或SharedPrefe ...
- Android学习总结——SQLite
SQLiteDatabase类: 一.使用sql语句操作数据库 SQLiteDatabase db = openOrCreateDatabase("database.db", MO ...
- Android学习之sqlite与listview
在android系统中使用的是sqlite数据库,前面的简易登录系统已经讲述了数据库的应用.本例的重点是实现数据库与listview的绑定.demo的数据是将个人的信息绑定到listview中,并存在 ...
- Android学习笔记-Adapter基础讲解
本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...
随机推荐
- 关于JAVA的参数列表传值的问题
java传参和C++传指针不一样.它不能传入一个参数,再用这个参数去new一个新的object,再调用者看来,这没用. java中传的参数是stack上复制的值,如果传的是object,那么传的是该o ...
- Rational Rose 2003 下载及破解方法
FROM:http://blog.csdn.net/fenglibing/archive/2007/08/17/1747693.aspx 这么好的东西,不拿来出分享,我对不起原作者呀.但是我这里不知道 ...
- [SQL Server 2014] 微软将于年底发布新版数据库SQL Server 2014
在今年的TechEd大会上,微软宣布SQL Server 2014的第一个技术预览版.SQL Server 2014的重点包括内存OLTP.实时的大数据分析.支持混合云端,以及提供更完整的商业智能(B ...
- SAP BI vs. Oracle BI
对比Oracle BI产品和SAP BI 产品,做一些简单的产品功能比较,经供参考. 这里把SAP和Oracle同类的产品放在一行,用于比较. SAP BI 特点 Oracle BI 特点 BW 和S ...
- ubuntu下安装与卸载软件方法
http://www.cnblogs.com/JamyWong/archive/2009/11/19/1606442.html 1.通过deb包安装的情况:安装.deb包:代码:sudo dpkg - ...
- 【Tensorflow】设置显存自适应,显存比例
用惯了theano.再用tensoflow发现一运行显存就满载了,吓得我吃了一个苹果. 用天朝搜索引擎毛都搜不到,于是FQ找了下问题的解决方法,原来有两种 按比例 config = tf.Config ...
- Windows系统盘瘦身指南
[本文出自天外归云的博客园] Windows系统的C盘空间越来越小,按以下四步进行清理,还你6个G: 1.开启腾讯管家之类的软件进行第一轮垃圾清理: 2.删除以下文件夹,"C:\Progra ...
- python导外部包
win7+python2.7下安装spark 最近在学习Spark,由于我的Python是在windows下安装的,好多库也已经配置好,所以需要将spark安装在windows环境下,下面是安装过程: ...
- 3. 支持向量机(SVM)拉格朗日对偶性(KKT)
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- phalcon无法更新分区字段解决办法
表里面有个分区字段,更新后,保存成功,结果实际上数据库没有更新. 后来使用原生sql,解决了这个问题. 获取di中的数据库连接,直接执行sql语句即可,下面的db为注册的数据库服务名 $db = $t ...