这是一个正经的文章。。
————什么是SQLite?
SQLite是一款轻型的数据。
那我们先来看一下具体实例吧~~~
新增实体类Student
private String sql = "create table student("+"id integer primary ket autoincrement not null, "+
"age integer,"+"name text,"+"score real"+")";
插入一个数据
public static int Insert<T>(T obj)
{
int count;
using (var conn = GetDbConnection())
{
count=conn.Insert(obj);
}
return count;
}
插入一个List列表
public static int Insert<T>(List<T> objList)
{
int count=0;
using (var conn = GetDbConnection())
{
foreach (var item in objList)
{
count+=conn.Insert(item);
}
}
return count;
}
删除一个数据
public static void Delete<T>(T obj)
{
using (var conn = GetDbConnection())
{
conn.Delete(obj);
}
}
查询数据
public static List<T> Find<T>(string query) where T : class
{
using (var conn = GetDbConnection())
{
return conn.Query<T>(query);
}
}
更新数据
public static int Update<T>(T obj)
{
using (var conn = GetDbConnection())
{
return conn.Update(obj);
}
}
代码展示
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="com.example.lenovo.myapplication.MainActivity">
<EditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/insert_btn"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="插入"/>
<Button
android:id="@+id/search_btn"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="查询"/>
</LinearLayout>
package com.example.lenovo.myapplication;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button insertBtn;
private Button searchBtn;
private EditText nameEt;
private DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bind();
dbHelper = new DBHelper(this,"mydb",null,1);
}
private void bind() {
insertBtn = findViewById(R.id.insert_btn);
nameEt = findViewById(R.id.name_et);
searchBtn =findViewById(R.id.search_btn);
insertBtn.setOnClickListener(this);
searchBtn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.insert_btn:
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",nameEt.getText().toString());
sqLiteDatabase.insert("student",null,values);
break;
case R.id.search_btn:
break;
}
}
}
下面是DBHelper
package com.example.lenovo.myapplication; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by lenovo on 2018/3/20. */ public class DBHelper extends SQLiteOpenHelper { private String sql = "create table student("+"id integer primary ket autoincrement not null, "+ "age integer,"+"name text,"+"score real"+")"; public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { } }