Android SQLite数据库

1.介绍

Android SQLite数据库

2.使用方法

Android SQLite数据库

3.简单SQL语句

Android SQLite数据库

4.xml文件页面布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity"
    >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="20dp">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="编号:" />

        <EditText
            android:id="@+id/editText_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="20dp">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="姓名:" />

        <EditText
            android:id="@+id/editText_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="20dp">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="年龄:" />

        <EditText
            android:id="@+id/editText_age"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="20dp">

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="请输入你要查找的编号:" />

        <EditText
            android:id="@+id/editText_qurryid"
            android:layout_width="70dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="" />

        <Button
            android:id="@+id/button_qurryById"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="查找" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="20dp">


        <Button
            android:id="@+id/button_add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="添加"
            android:layout_marginRight="10dp"/>

        <Button
            android:id="@+id/button_delete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="删除"
            android:layout_marginRight="10dp"/>
        <Button
            android:id="@+id/button_modify"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="修改" />
    </LinearLayout>

    <TextView
        android:id="@+id/textView5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

5.java后台

主界面

package com.lucky.test48sqlite;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
        Button button_queryByid;
        Button button_add;
        Button button_delete;
        Button button_modify;
        EditText editText_id;
        EditText editText_name;
        EditText editText_age;
        EditText editText_inputid;
        TextView textView_findresult;
        SQLiteDatabase sqLiteDatabase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        //实例化MyDataBase,创建数据库
        MyDataBase myDataBase=new MyDataBase(MainActivity.this);
        sqLiteDatabase=myDataBase.getWritableDatabase();

        //绑定按钮点击事件
        button_queryByid.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //根据id进行查询
                textView_findresult.setText("");
                String sql="select *from user where 编号=?";
                Cursor cursor=sqLiteDatabase.rawQuery(sql,new String[]{editText_inputid.getText().toString()});
                //判断游标是否可以移到下一行,若可以,则有数据
                while (cursor.moveToNext()){
                    String name=cursor.getString(cursor.getColumnIndex("姓名"));
                    int id=cursor.getInt(cursor.getColumnIndex("编号"));
                    textView_findresult.append("\n编号:"+id+"\t姓名:"+name);
                }
            }
        });

        button_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //向数据库中添加数据
                String sql="insert into user(编号,姓名,年龄) values(?,?,?)";
                sqLiteDatabase.execSQL(sql,new Object[]{Integer.parseInt(editText_id.getText().toString()),
                editText_name.getText().toString(),
                Integer.parseInt(editText_age.getText().toString())});
            }
        });

        button_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //删除数据库中的数据
                String sql="delete from user where 编号=?";
                sqLiteDatabase.execSQL(sql,new Object[]{Integer.parseInt(editText_id.getText().toString())});
            }
        });

        button_modify.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //修改数据库内容
                String sql="update user set 编号=?,姓名=?,年龄=?";
                sqLiteDatabase.execSQL(sql,new Object[]{Integer.parseInt(editText_id.getText().toString()),
                        editText_name.getText().toString(),
                        Integer.parseInt(editText_age.getText().toString())});
            }
        });


    }

    private void init() {
        button_add=findViewById(R.id.button_add);
        button_delete=findViewById(R.id.button_delete);
        button_modify=findViewById(R.id.button_modify);
        button_queryByid=findViewById(R.id.button_qurryById);
        editText_age=findViewById(R.id.editText_age);
        editText_id=findViewById(R.id.editText_id);
        editText_name=findViewById(R.id.editText_name);
        editText_inputid=findViewById(R.id.editText_qurryid);
        textView_findresult=findViewById(R.id.textView5);
    }

}

Mydatabase工具类

package com.lucky.test48sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class MyDataBase extends SQLiteOpenHelper {
    static int version=1;
    static String name="lucky.db";
    public MyDataBase( Context context) {
        super(context, name, null, version);
    }

    //创建数据库(注意:数据库创建在安卓app文件包内)
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql="create table user(编号 Integer,姓名 varchar(10),年龄 Integer)";
        db.execSQL(sql);
    }

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

    }
}

 

Android SQLite数据库

上一篇:wpf 如何让控件左右移动


下一篇:[零基础学python]啰嗦的除法