加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite数据库操作

发布时间:2020-12-12 23:46:10 所属栏目:百科 来源:网络整理
导读:今天学习了SQLLite数据的的相关内容。SQLLite是Android内置的数据库,既有自己独立的增删改查方法,又支持sql语句的增删改查。 下面是使用sql语句的来操作SQLLite数据库的demo: 步骤: 当用户点击“插入”按钮时,将输入的数据插入到数据库中 1、创建一个my

今天学习了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,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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读