Sqlite存储介绍

    技术2022-05-19  21

    本例实现SQlite数据库的简单插入、删除、查询和数据表的重建和删除,让大家了解Sqlite的使用方法,不多说了

     

    Xml布局,相信大家都没有问题吧。。。

    main.xml

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        >

    <Button  

    android:id="@+id/insert"

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        android:text="insert()"

        />

    <Button  

    android:id="@+id/delete"

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        android:text="delete()"

        />

    <Button  

    android:id="@+id/query"

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        android:text="query()"

        />

    <Button  

    android:id="@+id/drop"

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        android:text="drop table"

        />

    <Button  

    android:id="@+id/re_creat"

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        android:text="re_create_table"

        />

    </LinearLayout>

     

    JAVA代码:

    package com.xd.sqlite;

     

    import android.app.Activity;

    import android.content.ContentValues;

    import android.content.Context;

    import android.database.Cursor;

    import android.database.sqlite.SQLiteDatabase;

    import android.database.sqlite.SQLiteOpenHelper;

    import android.database.sqlite.SQLiteDatabase.CursorFactory;

    import android.os.Bundle;

    import android.view.View;

    import android.view.View.OnClickListener;

    import android.widget.Button;

    import android.widget.Toast;

     

    public class MainActivity extends Activity {

    private Context context = this ;

     

    private Button BtnInsert ;

    private Button BtnDelete ;

    private Button BtnQuery ;

    private Button BtnDrop ;

    private Button BtnReCreat ;

     

    DatabaseHelper mOpenHelper;

     

    private static class DatabaseHelper extends SQLiteOpenHelper{

     

     

    public DatabaseHelper(Context context, String name,

    CursorFactory factory, int version) {

    super(context, name, factory, version);

    }

     

    @Override

    public void onCreate(SQLiteDatabase db) {

    // 在数据库第一次生成的时候会调用这个方法,一般在这里生成数据表

    String sql = "create table sqlitetest (s_id integer primary key, "

    +"s_title text not null, s_context text not null)" ;

    db.execSQL(sql) ;

    }

     

    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    // 当数据库需要升级的时候,会主动调用这个方法。一般在这里删除数据表,并建立数据表

    }

     

    }

     

    private OnClickListener click = new OnClickListener(){

     

    public void onClick(View arg0) {

    int temp = arg0.getId() ;

    switch(temp){

    case R.id.insert:

    insert() ;

    Toast.makeText(context, "插入数据成功!", Toast.LENGTH_SHORT).show() ;

    break ;

    case R.id.delete:

    delete() ;

    Toast.makeText(context, "删除记录成功!", Toast.LENGTH_SHORT).show() ;

    break ;

    case R.id.query:

    int i = query() ;

    Toast.makeText(context, "查询到"+i+"条记录", Toast.LENGTH_SHORT).show() ;

    break ;

    case R.id.drop:

    drop() ;

    Toast.makeText(context, "删除表成功!", Toast.LENGTH_SHORT).show() ;

    break ;

    case R.id.re_creat:

    Re_Create() ;

    Toast.makeText(context, "重建表成功!", Toast.LENGTH_SHORT).show() ;

    break ;

    }

    }} ;

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

            mOpenHelper = new DatabaseHelper(this,"test.db",null,1);

            getView() ;

            

        }

        

        /**

         * 为控件设置值

         */

        private void getView(){

         BtnInsert = (Button) findViewById(R.id.insert) ;

         BtnInsert.setOnClickListener(click) ;

         BtnDelete = (Button) findViewById(R.id.delete) ;

         BtnDelete.setOnClickListener(click) ;

         BtnQuery = (Button) findViewById(R.id.query) ;

         BtnQuery.setOnClickListener(click) ;

         BtnDrop = (Button) findViewById(R.id.drop) ;

         BtnDrop.setOnClickListener(click) ;

         BtnReCreat = (Button) findViewById(R.id.re_creat) ;

         BtnReCreat.setOnClickListener(click) ;

        }

        

        /**

         * 插入数据

         * @param title

         * @param context

         */

        private void insert(){

         //得到一个可写的数据库,如果还没有建立就会调用mOpenHelperonCreate方法,否则返回一个可写的数据库

         SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;

         String sql = "insert into sqlitetest(s_title,s_context) values('插入的记录','记录的内容')" ;

         db.execSQL(sql) ;

         ContentValues initialValues = new ContentValues();

         initialValues.put("s_title","换种方式插入记录") ;

         initialValues.put("s_context","这条记录的内容") ;

         db.insert("sqlitetest",null,initialValues) ;

        }

        

        /**

         * 查询数据库记录

         * @return

         */

        private int query(){

         SQLiteDatabase db = mOpenHelper.getReadableDatabase() ;

         Cursor cur = db.query("sqlitetest", new String[]{"s_title,s_context"},null, null, null, null, null) ;

         return cur.getCount() ;

        }

        

        /**

         * 删除记录

         */

        private void delete(){

         SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;

         db.delete("sqlitetest", " s_title = '插入的记录'", null) ;

        }

        

        /**

         * 删除表

         */

        private void drop(){

         SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;

         String sql = "drop table sqlitetest" ;

         db.execSQL(sql) ;

        }

        

        private void Re_Create(){

         SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;

         String sql = "create table sqlitetest (s_id integer primary key, "

    +"s_title text not null, s_context text not null)" ;

         db.execSQL("drop table if exists sqlitetest") ;

         db.execSQL(sql) ;

        }

    }

     

    没有什么技术含量,只是初步看一下SQLite的使用。。。

    源码下载:http://u.115.com/file/f9b2fe5ae8


    最新回复(0)