基础篇1.7 SQLite
基础篇1.7 SQLite 一、SQLite简介 1、 英文官网:http://www.sqlite.org/,中文社区:http://www.sqlite.com.cn/ 2、 Android 下的sqlite不需要身份验证,可以直接建立连接,且属于单文件数据库。 3、 只需获得SQLiteDatabase对象后,就可以通过其方法对数据进行操作,如execSQL等。 二、使用adb访问SQLite 1、 进入到adb.exe所在的目录,输入adb shell,可以进入android的shell窗口中
2、 进入到shell界面后,此界面下的操作和linux操作类似,可以使用Linux的常用命令,如ll、ls、cd等。系统自带的一些程序,以及自己开发的一些程序在/data/data目录下,如图: 3、 查看数据库和表结构命令:sqlite3mydb3(mydb3为数据库的名字)可以进入到mydb3这个数据库中,.schema命令可以查看表结构。 4、 查看表中的字段信息。 三、SQLite的增、删、改、查 1、例子界面: 2、layout配置文件: <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" tools:context=".MainActivity"> <TableRow> <Button android:id="@+id/open" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="创建或者打开数据库"/> <Button android:id="@+id/close" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="关闭数据库"/> </TableRow> <TableRow> <Button android:id="@+id/add" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="新增"/> <Button android:id="@+id/modify" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="修改"/> </TableRow> <TableRow> <Button android:id="@+id/query" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="查询"/> <Button android:id="@+id/del" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="删除"/> </TableRow> <TableRow> <TextView android:id="@+id/myTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="显示内容"/> </TableRow> </TableLayout> 4、 源代码: packagecom.solidwang.sqllite; importandroid.app.Activity; importandroid.database.Cursor; importandroid.database.sqlite.SQLiteDatabase; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.TextView; importandroid.widget.Toast; publicclass MainActivity extends Activity { private SQLiteDatabase sld; private Button open,close,add,modify,query,del; private TextView textView; @Override protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); open = (Button)findViewById(R.id.open); close = (Button)findViewById(R.id.close); add = (Button)findViewById(R.id.add); modify = (Button)findViewById(R.id.modify); query = (Button)findViewById(R.id.query); del = (Button)findViewById(R.id.del); open.setOnClickListener(newOpenListener()); close.setOnClickListener(newCloseListener()); add.setOnClickListener(newAddListener()); query.setOnClickListener(newQueryListener()); del.setOnClickListener(newDelListener()); modify.setOnClickListener(newModifyListener()); } class OpenListener implements OnClickListener { @Override public void onClick(View v) { //创建或者打开数据库 createOrOpenDatabase(); } } class CloseListener implements OnClickListener{ @Override public void onClick(View v) { //关闭数据库 closeDatabase(); } } class AddListener implements OnClickListener { @Override public void onClick(View v) { //插入数据 insert(); } } class QueryListener implements OnClickListener{ @Override public void onClick(View v) { //查询数据 query(); } } class DelListener implements OnClickListener { @Override public void onClick(View v) { //删除数据 del(); } } class ModifyListener implements OnClickListener{ @Override public void onClick(View v) { modify(); } } private void createOrOpenDatabase() { try { sld =SQLiteDatabase.openDatabase("/data/data/com.solidwang.sqllite/mydb3",null,SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY); System.out.println("sld="+ sld); setText("打开数据库"); String sql = "createtable if not exists students(sname varchar(20),sphone varchar(20));"; sld.execSQL(sql); } catch (Exception e) { Toast.makeText(MainActivity.this,"创建数据库失败",Toast.LENGTH_LONG).show(); } } private void closeDatabase() { sld.close(); setText("关闭数据库"); } private void insert() { createOrOpenDatabase(); String sql = "insert intostudents values('solidwang','123456');"; sld.execSQL(sql); setText("创建一条记录"); } private void query() { createOrOpenDatabase(); String sql = "select sname,sphone from students"; Cursor cursor = sld.rawQuery(sql,newString[]{}); String rs = ""; while(cursor.moveToNext()) { rs = rs + cursor.getString(0)+ " " + cursor.getString(1); } setText(rs); } private void del() { createOrOpenDatabase(); String sql = "delete fromstudents"; sld.execSQL(sql); setText("清空所有数据"); } private void modify() { createOrOpenDatabase(); String sql = "update studentsset sphone='2595411' where sname='solidwang'"; sld.execSQL(sql); setText("修改成功"); } private void setText(String text) { textView = (TextView)findViewById(R.id.myTextView); textView.setText(text); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |