SQLite数据库操作
来源:互联网 发布:刷单淘宝老号在哪里买 编辑:程序博客网 时间:2024/06/10 23:45
今天学习了SQLLite数据的的相关内容。SQLLite是Android内置的数据库,既有自己独立的增删改查方法,又支持sql语句的增删改查。
下面是使用sql语句的来操作SQLLite数据库的demo:
步骤:
当用户点击“插入”按钮时,将输入的数据插入到数据库中
1、创建一个my.db3数据库。
2、定义一个user表,属性包括姓名name 性别sex
3、定义两个编辑框,输入姓名和性别
4、点击插入数据后,将数据插入(insert)到数据库表中
5、使用ListView将所有数据显示出来
MainActivity.java
package lzl.edu.com.dbtest;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteException;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleCursorAdapter;public class MainActivity extends Activity { Button mInsert; EditText mName,mSex; ListView mListView; public static final String CREATE_TABLE = "Create table user(_id integer primary " + "key autoincrement,name varchar(50),sex varchar(50))"; SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); mInsert = (Button)findViewById(R.id.insert_btn); mName = (EditText)findViewById(R.id.myname); mSex = (EditText)findViewById(R.id.mysex); mListView = (ListView)findViewById(R.id.mylistview); // 1、创建一个my.db3数据库,此处需要使用绝对路径。 db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/my.db3", null); Log.i("lujing---",this.getFilesDir().toString()+"/my.db3"); /** * 使用sql语句进行数据库的存储操作 1、创建一个my.db3数据库,此处需要使用绝对路径。 2、定义一个user表,属性包括姓名name 性别sex 3、定义两个编辑框,输入姓名和性别 4、点击插入数据后,将数据插入(insert)到数据库表中 5、使用ListView将所有数据显示出来 */ mInsert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //2.获得输入框中输入的内容 String name = mName.getText().toString(); String sex = mSex.getText().toString(); try { //插入数据 db.execSQL("insert into user values(null,?,?)", new String[]{name, sex}); // 查询数据 Cursor cursor = db.rawQuery("select * from user ", null); inflateList(cursor); }catch (SQLiteException e){ Log.i("Create Table","数据库表不存在"); db.execSQL(CREATE_TABLE); //插入数据 db.execSQL("insert into user values(null,?,?)", new String[]{name, sex}); // 查询数据 Cursor cursor = db.rawQuery("select * from user ", null); inflateList(cursor); } } }); } //将数据库中的数据显示到 ListViewz中 public void inflateList(Cursor cursor){ //SimpleCursorAdapter和simpleAdapter传入的数据类似,就是一个是封装了cursor对象,另一个封装了List集合 SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter(this,R.layout.line,cursor,new String[]{"name","sex"}, new int[]{R.id.name,R.id.sex}); mListView.setAdapter(simpleCursorAdapter); } @Override protected void onDestroy() { super.onDestroy(); if(db!=null&&db.isOpen()){ db.close(); } }}activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <LinearLayout android:id="@+id/fistLinear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名"/> <EditText android:id="@+id/myname" android:layout_width="321dp" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/secondLinear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/fistLinear" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别"/> <EditText android:id="@+id/mysex" android:layout_width="305dp" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/insert_btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/secondLinear" android:text="插入信息"/> <ListView android:id="@+id/mylistview" android:layout_below="@+id/insert_btn" android:layout_width="wrap_content" android:layout_height="match_parent"></ListView></RelativeLayout>line.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="250dp" android:layout_height="wrap_content" android:text="姓名" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/name"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="50dp" android:layout_height="wrap_content" android:text="性别"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/sex"/> </LinearLayout> </LinearLayout></LinearLayout>
1 0
- Qt操作SQLite数据库
- sqlite数据库基本操作
- sqlite 数据库的操作
- SQLite数据库的操作
- SQLite数据库操作类
- android sqlite数据库操作
- Fasm操作数据库sqlite
- QT 操作Sqlite数据库
- sqlite数据库查看操作
- SQLite 数据库操作
- SQLite数据库操作
- C++操作SQLite数据库
- .C# 操作SQLite数据库
- sqlite数据库加密操作
- SQLite数据库基本操作
- 如何操作sqlite数据库
- python SQlite数据库操作
- SQLite数据库操作
- OC属性中setter和getter的实现
- BaiDu校招2016计算机视觉笔试试题
- ios机器上,应用列表的获得
- 如何查看手机型号,最好的查询方法
- Memcached 安装配置
- SQLite数据库操作
- java mock 工具
- mysql的配置文件详解
- XMPP协议_smack源码分析(一)
- Android的权限permission
- Openstack 快速入门(官方文档直译)
- weiphp微信支付开发教程
- 优秀博客收藏
- UI - UIPageControl