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是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...
随机推荐
- OpenGL学习脚印:深度測试(depth testing)
写在前面 上一节我们使用AssImp载入了3d模型,效果已经令人激动了.可是绘制效率和场景真实感还存在不足,接下来我们还是要保持耐心,继续学习一些高级主题,等学完后面的高级主题,我们再次来改进我们载入 ...
- RSA算法 JS加密 JAVA解密
有这样一个需求,前端登录的usernamepassword,password必需加密.但不可使用MD5,由于后台要检測password的复杂度,那么在保证安全的前提下将password传到后台呢,答案 ...
- Android 源码解析:单例模式-通过容器实现单例模式-懒加载方式
本文分析了 Android 系统服务通过容器实现单例,确保系统服务的全局唯一. 开发过 Android 的用户肯定都用过这句代码,主要作用是把布局文件 XML 加载到系统中,转换为 Android 的 ...
- Bug:java.lang.StackOverflowError: stack size 8MB
在开发的时候遇到了这个Bug:java.lang.StackOverflowError: stack size 8MB Log: 11-27 14:16:37.093 21892-21892/com. ...
- Windows 虚拟桌面工具 Desktops v2.0
https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx
- 每日英语:Welcome to the Global Middle-Class Surge
The mass uprisings this summer in Egypt, Turkey and Brazil are powerful reminders that the middle cl ...
- (转)Windows7安装OpenSSH
(转自:http://blog.sina.com.cn/s/blog_4a0a8b5d01015b0n.html) OpenSSH很老了,所以... 最开始只是因为openSSH启动不了,才用的Mob ...
- 解决IntelliJ IDEA控制台乱码问题[包含程序运行时的log4j日志以及tomcat日志乱码]
这里使用的IntelliJ IDEA版本为[IntelliJ IDEA 14.1.4]: 一.控制台打印的程序运行时的log4j日志中包含中文乱码 在IDEA安装目录的bin目录下找到名为" ...
- SFTP文件上传与下载(window 上传文件到linux服务器)
一.文件上传 说明1:所谓上传window上的文件上传到linux上 说明2:上传的文件会自动放到当前的用户的家目录 1:打开SFTP的窗口 Alt+p 输入上传命令: 语法: put path/f ...
- django模型相关的知识点
定义属性 概述: django根据属性的类型确定以下信息 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模 ...