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