SQLite3 特征
和传统关系数据库比较
有的:
Sql 语句: SELECT INSERT UPDATE
CREATE DROP
数据类型:
不区分大小写
TEXT 文本
NUMERIC 数值
INTEGER 整型
REAL 小数
NONE 无类型
没有的:
FOREIGN KEY 外键约束
RIGHT OUTER JOIN 和 FULL OUTER JOIN
ALTER TABLE
开始动手
动手之前,确认你的机器中已经配置好如下环境:
Android 开发环境(怎么配置问 Google ,有很多)
本文档适用环境 Android 1.0
1, 建库
方式一:命令行方式(适合调试用)
可以使用 adb shell 进入设备后台,命令行方式手动创建,步骤如下:
Eclipse 中启动模拟器之后, cmd 下输入进入设备 Linux 控制台
D:\>adb shell
之后进入应用 data 目录
# cd /data/data
ls 列表目录,查看文件,找到你的项目目录并进入
查看有无 databases 目录,如果没有,则创建一个
# mkdir databases
cd databases 进入并创建数据库
# sqlite3 friends.db
sqlite3 friends.db
SQLite version 3.5.9
Enter ".help" for instructions
sqlite>
ctrl+d 退出 sqlite 提示符 ls 列表目录会看到有一个文件被创建 friends.db
他就是 SQLite 的库文件
# ls
ls
friends.db
方式二:编码方式(使用更多)
android.content.Context 中提供了函数 , 注: Activity 是 Context 的子类
openOrCreateDatabase () 来创建我们的数据库
db = context .openOrCreateDatabase(
String DATABASE_NAME , int Context. MODE_PRIVATE , null );
String DATABASE_NAME 数据库的名字
Int MODE 操作模式 Context.MODE_PRIVATE 等
CursorFactory 指针工厂 ,本例中传入 null ,暂不用
2, 建表
命令行方式
# sqlite3
sqlite> create table widgets (id integer primary key autoincrement,name text);
3, 插入数据
命令行 增加,查询数据
sqlite> insert into widgets values(null,'tom');
insert into widgets values(null,'tom');
sqlite> select * from widgets;
select * from widgets;
1|tom
sqlite>
API 方式
- packageorg.imti;
- importandroid.app.Activity;
- importandroid.database.Cursor;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.Button;
- importandroid.widget.EditText;
- importandroid.widget.TextView;
- publicclassDbDemoextendsActivity{
- EditTextinputTxt;
- ButtonbtnAdd;
- ButtonbtnViewAll;
- TextViewviewAll;
- DBHelperdb;
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- this.setContentView(R.layout.dbdemo);
- btnAdd=(Button)findViewById(R.id.btnAdd);
- btnViewAll=(Button)findViewById(R.id.btnViewAll);
- viewAll=(TextView)findViewById(R.id.viewAll);
- inputTxt=(EditText)findViewById(R.id.txtInput);
- db=newDBHelper(this);
- OnClickListenerlistener=newOnClickListener(){
- publicvoidonClick(Viewv){
- if(v.getId()==R.id.btnAdd){
- db.save(inputTxt.getText().toString());
- db.close();
- }elseif(v.getId()==R.id.btnViewAll){
- Cursorcur=db.loadAll();
- StringBuffersf=newStringBuffer();
- cur.moveToFirst();
- while(!cur.isAfterLast()){
- sf.append(cur.getInt(0)).append(":").append(
- cur.getString(1)).append("\n");
- cur.moveToNext();
- }
- db.close();
- viewAll.setText(sf.toString());
- }
- }
- };
- btnAdd.setOnClickListener(listener);
- btnViewAll.setOnClickListener(listener);
- }
- }
Java代码
- packageorg.imti;
- importandroid.content.Context;
- importandroid.database.Cursor;
- importandroid.database.sqlite.SQLiteDatabase;
- importandroid.util.Log;
- publicclassDBHelper{
- privatestaticfinalStringTAG="DBDemo_DBHelper";
- privatestaticfinalStringDATABASE_NAME="dbdemo.db";
- SQLiteDatabasedb;
- Contextcontext;
- DBHelper(Context_context){
- context=_context;
- db=context.openOrCreateDatabase(DATABASE_NAME,Context.MODE_PRIVATE,null);
- CreateTable();
- Log.v(TAG,"dbpath="+db.getPath());
- }
- publicvoidCreateTable(){
- try{
- db.execSQL("CREATETABLEt_user("+
- "_IDINTEGERPRIMARYKEYautoincrement,"
- +"NAMETEXT"
- +");");
- Log.v(TAG,"CreateTablet_userok");
- }catch(Exceptione){
- Log.v(TAG,"CreateTablet_usererr,tableexists.");
- }
- }
- publicbooleansave(Stringuname){
- Stringsql="";
- try{
- sql="insertintot_uservalues(null,'"+uname+"')";
- db.execSQL(sql);
- Log.v(TAG,"insertTablet_userok");
- returntrue;
- }catch(Exceptione){
- Log.v(TAG,"insertTablet_usererr,sql:"+sql);
- returnfalse;
- }
- }
- publicCursorloadAll(){
- Cursorcur=db.query("t_user",newString[]{"_ID","NAME"},null,null,null,null,null);
- returncur;
- }
- publicvoidclose(){
- db.close();
- }
- }
分享到:
相关推荐
Android sqlite数据库的创建和使用,入门知识
我自己寻找整理的SQLite资料,希望对大家有帮助。清单如下: Android 数据库技术 sqlite3-基础教程 sqlite3使用详解 sqlite命令行手册(中文) ...SQLite入门与分析 SQLite数据库文件格式全面分析
很好的android轻量级数据库sqlite使用入门教程
SQLite是Android平台软件开发中会经常用到的数据库产品,作为一款轻型数据库,SQLite的设计目标就是是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的...
用于帮助刚刚入门androidstudio的朋友 学习链接SQLite数据库
android数据库经典教材SQLite入门.pdf
Android SQLite入门课程 开始使用Android开发所需的所有工具 在这部影片中我当然非常详细,我教你的内置附带在每一个Android设备标准数据库。 学习SQLite的来龙去脉对于每位Android开发人员而言都是基础。 每个应用...
Android入门_-_数据库支持(SQLite),_内容提供器(ContentProvider).doc
SQLite是一个非常流行的嵌入式数据库,它提供了一个清爽的 SQL 接口,相当小的内存占用和高速的响应,更 Happy 的是他还是免费的,大家都可以尽情的使用,很多牛叉的公司(诸如 Adobe,Apple,Google,Sun,Symbian ),...
DbOpenHelper.java的压缩文件 博文链接:https://zengyan2012.iteye.com/blog/1000732
slqlite3基础,入门机同学的福音。
新手操作的基本数据库实例,适合android入门
6 3 在Android中使用SQLite 6 4 面向对象数据库:db4o 第7章 网络与加密 7 1 客户端Socket 7 2 服务端Socket 7 3 非阻塞I O 7 4 WebView控件 7 5 HTTP和HTTPS 7 6 加密技术 第8章 蓝牙与Wi Fi 8 1 蓝牙 8 2 Wi Fi 第...
android数据库开发--入门经典 - 基于sqlite的Android数据库开发经典教程,很适合Android初学者
包括以下文档 : sqlite3使用详解.pdf SQLite教程.pdf 嵌入式数据库在sqlite3中的应用.pdf SQLite数据库文件格式全面分析.pdf android-database.pdf SQLite入门与分析.pdf
书中不仅结合数独游戏开发案例形象生动地讲解了Android生命周期、用户界面、2D图形、多媒体,以及本地数据存储等基础知识,而且通过“Hello, Android”项目深入探讨了外部通信、基于位置的服务、内置SQLite数据库、...
sqlite3-基础教程 sqlite3使用详解 SQLite权威指南 [SQLite权威指南(第二版)].Grant.Allen.扫描版 SQLite入门与分析 SQLite数据库文件格式全面分析 The Definitive Guide to SQLite The Definitive Guide to ...
3.SQLite入门与分析 4.SQLite使用详解 5.Android-Database 6.SQLite中文手册 7.SQLite简明教程 8.嵌入式数据库在SQLite中的应用 9.SQLite数据库文件格式全面分析 10.Android的SQLite使用教程 等等.. 下载一个不用去...