首页 > 代码库 > sqlite 增删改查

sqlite 增删改查

技术分享

 

PersonDao1.java

package mm.shandong.com.testsqlsqllite.dao;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import java.util.ArrayList;import java.util.List;import mm.shandong.com.testsqlsqllite.entity.Person;import mm.shandong.com.testsqlsqllite.util.StudySQLiteOpenHelper;/** * Created by buyadong on 2016/8/7. */public class PersonDao1 {    Context context;    StudySQLiteOpenHelper studySQLiteOpenHelper;    public PersonDao1(Context context) {        this.context = context;        studySQLiteOpenHelper = new StudySQLiteOpenHelper(context, "androidStudy.db", 7);    }    public void addPerson(Person person) {        SQLiteDatabase db = studySQLiteOpenHelper.getWritableDatabase();        String sql = "insert into person(_id,name,sex,age,code) values(null,?,?,?,?)";        db.execSQL(sql,new Object[]{person.getName(),                person.getSex(), person.getAge(), person.getCode()});    }    public void deletePerson(Person person) {        SQLiteDatabase db = studySQLiteOpenHelper.getWritableDatabase();        String sql = "delete from person where _id=?";        db.execSQL(sql, new Object[]{person.get_id()});    }    public void updatePerson(Person person) {        SQLiteDatabase db = studySQLiteOpenHelper.getWritableDatabase();        String sql = "update person set name=?,sex=?,age=?,code=? where _id=?";        db.execSQL(sql, new Object[]{person.getName(), person.getSex(),                person.getAge(), person.getCode(), person.get_id()});    }    public List<Person> getAllPerson() {        List<Person> persons = new ArrayList<Person>();        SQLiteDatabase db = studySQLiteOpenHelper.getWritableDatabase();        String sql = "select * from person";        Cursor cursor = db.rawQuery(sql, null);        while (cursor.moveToNext()) {            String name = cursor.getString(cursor.getColumnIndex("name"));            String sex = cursor.getString(cursor.getColumnIndex("sex"));            int age = cursor.getInt(cursor.getColumnIndex("age"));            String code = cursor.getString(cursor.getColumnIndex("code"));            int _id = cursor.getInt(cursor.getColumnIndex("_id"));            Person person = new Person(name, sex, age, code);            person.set_id(_id);            persons.add(person);        }        return persons;    }}

   Person实体类

 

package mm.shandong.com.testsqlsqllite.entity;import java.io.Serializable;/** * Created by 安卓无忧 on 2016/7/27. */public class Person implements Serializable{      private  String name;      private  int age;      private String code;      private String sex;    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    private String first_letter;      private int _id;    public void set_id(int _id) {        this._id = _id;    }    public int get_id() {        return _id;    }    public void setFirst_letter(String first_letter) {        this.first_letter = first_letter;    }    public String getFirst_letter() {        return first_letter;    }    public Person(){    }    public Person(String name, int age, String code){        this.name=name;        this.age=age;        this.code=code;    }    public Person(String name,String sex, int age, String code){        this.name=name;        this.age=age;        this.code=code;        this.sex=sex;    }    @Override    public String toString() {        return  name +" "+age+" "+code;    }    public void setAge(int age) {        this.age = age;    }    public void setCode(String code) {        this.code = code;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public String getCode() {        return code;    }    public String getName() {        return name;    }}

 StudySQLiteOpenHelper

package mm.shandong.com.testsqlsqllite.util;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by 安卓无忧 on 2016/7/10. */public class StudySQLiteOpenHelper extends SQLiteOpenHelper {    String dataBase_name;    Context context;    String create_TABLE_sql="create table person(_id INTEGER PRIMARY KEY AUTOINCREMENT," +            "name varchar(30),age integer,sex varchar(30),code varchar(30))" ;    String delete_Sql="delete from person";    public StudySQLiteOpenHelper(Context context, String name, int verson){        super(context,name,null,verson);        this.context=context;    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {          sqLiteDatabase.execSQL(create_TABLE_sql);    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {           }}

  activity

package mm.shandong.com.testsqlsqllite;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.TextUtils;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.EditText;import android.widget.ListView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView;import android.widget.Toast;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import mm.shandong.com.testsqlsqllite.dao.PersonDao1;import mm.shandong.com.testsqlsqllite.entity.Person;public class TestSQLSqlLiteActivity extends AppCompatActivity {    ListView listView;    List<Person> persons;    PersonDao1 personDao;    BaseAdapter personAdapter;    Map<String,Boolean> radioStates;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test_sqlsql_lite);        radioStates=new HashMap<String,Boolean>();        personDao=new PersonDao1(this);        listView= (ListView) findViewById(R.id.listView);        persons=personDao.getAllPerson();        initListView();    }    public void initListView(){        personAdapter=new BaseAdapter() {            @Override            public int getCount() {                return persons.size();            }            @Override            public Object getItem(int position) {                return persons.get(position);            }            @Override            public long getItemId(int position) {                return position;            }            @Override            public View getView(final  int position, View view, ViewGroup viewGroup) {                view=getLayoutInflater().inflate(R.layout.item_sqlite_listview,null);                TextView textViewPerson_name= (TextView) view.findViewById(R.id.textViewPerson_name);                TextView textViewPerson_sex= (TextView) view.findViewById(R.id.textViewPerson_sex);                TextView textViewPerson_code=(TextView)view.findViewById(R.id.textViewPerson_code);                TextView textViewPerson_age= (TextView) view.findViewById(R.id.textViewPerson_age);                final Person person= (Person) getItem(position);                textViewPerson_name.setText(person.getName());                textViewPerson_age.setText(person.getAge()+"");                textViewPerson_sex.setText(person.getSex());                textViewPerson_code.setText(person.getCode());                RadioButton radioButton= (RadioButton) view.findViewById(R.id.radioButton);                radioButton.setOnClickListener(new View.OnClickListener() {                       @Override                       public void onClick(View view) {                           if(view instanceof RadioButton) {                               RadioButton radioButton = (RadioButton) view;                               if (radioButton.isChecked()) {                                   radioStates.put(String.valueOf(position), true);                                   for (String key : radioStates.keySet()) {                                       if (!key.equals(String.valueOf(position))) {                                           radioStates.put(key, false);                                       }                                   }                                   notifyDataSetChanged();                               }                           }                       }                   }                );                Boolean tempState=radioStates.get(String.valueOf(position));                if(tempState!=null&&tempState){                    radioButton.setChecked(true);                    view.setBackgroundColor(Color.BLUE);                }else{                    radioButton.setChecked(false);                    view.setBackgroundColor(Color.WHITE);                }                return view;            }        };        listView.setAdapter(personAdapter);    }    public void addPerson(View view){        AlertDialog.Builder builder= new AlertDialog.Builder(this);        builder.setTitle("新增用户").create();        View childView=getLayoutInflater().inflate(R.layout.layout_sqlite_alert,null);        builder.setView(childView);        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialogInterface, int i) {                Field field = null;                try {                    field = dialogInterface.getClass().getSuperclass().getDeclaredField("mShowing");                    field.setAccessible(true);                    field.set(dialogInterface, true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialogInterface, int i) {                try {                    Field field = dialogInterface.getClass().getSuperclass().getDeclaredField("mShowing");                    field.setAccessible(true);                    field.set(dialogInterface,false);                    AlertDialog ad;                    if(dialogInterface instanceof AlertDialog){                        ad= (AlertDialog) dialogInterface;                        EditText editViewPerson_name=                                (EditText) ad.findViewById(R.id.editViewPerson_name);                        EditText editViewPerson_code=                                (EditText) ad.findViewById(R.id.editViewPerson_code);                        EditText editViewPerson_age=                                (EditText) ad.findViewById(R.id.editViewPerson_age);                        RadioGroup radioGroupSex=                                (RadioGroup) ad.findViewById(R.id.radioGroupSex);                        if(TextUtils.isEmpty(editViewPerson_name.getText().toString())){                            Toast.makeText(TestSQLSqlLiteActivity.this,                                    "姓名不能为空",Toast.LENGTH_SHORT).show();                            return;                        }                        if(TextUtils.isEmpty(editViewPerson_code.getText().toString())){                            Toast.makeText(TestSQLSqlLiteActivity.this,                                    "编号不能为空",Toast.LENGTH_SHORT).show();                            return;                        }                        if(TextUtils.isEmpty(editViewPerson_age.getText().toString())){                            Toast.makeText(TestSQLSqlLiteActivity.this,                                    "年龄不能为空",Toast.LENGTH_SHORT).show();                            return;                        }                        Person person=new Person();                        person.setAge(Integer.parseInt(editViewPerson_age.getText().toString()));                        person.setName(editViewPerson_name.getText().toString());                        person.setCode(editViewPerson_code.getText().toString());                        RadioButton radioButton= (RadioButton) radioGroupSex.                                findViewById(radioGroupSex.getCheckedRadioButtonId());                        person.setSex(radioButton.getText().toString());                        personDao.addPerson(person);                        persons=personDao.getAllPerson();                        radioStates=new HashMap<String,Boolean>();                        personAdapter.notifyDataSetChanged();                        field.set(dialogInterface,true);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        });        builder.show();    }    public void deletePerson(View view){        int position=-1;        for(int i=0;i<listView.getChildCount();i++){            View childView=listView.getChildAt(i);            RadioButton radioButton= (RadioButton) childView.findViewById(R.id.radioButton);            if(radioButton.isChecked()){                position=i;                break;            }        }        if(position!=-1){            Person person= persons.get(position);            personDao.deletePerson(person);            persons=personDao.getAllPerson();            radioStates=new HashMap<String,Boolean>();            personAdapter.notifyDataSetChanged();        }else{            Toast.makeText(this,"请选择要删除的行",Toast.LENGTH_SHORT);        }    }    public void updatePerson(View view){        int position=-1;        for(int i=0;i<listView.getChildCount();i++){            View childView=listView.getChildAt(i);            RadioButton radioButton= (RadioButton) childView.findViewById(R.id.radioButton);            if(radioButton.isChecked()){                position=i;                break;            }        }        if(position!=-1){            final Person person= persons.get(position);            AlertDialog.Builder builder= new AlertDialog.Builder(this);            builder.setTitle("修改用户").create();            View childView=getLayoutInflater().inflate(R.layout.layout_sqlite_alert,null);            EditText editViewPerson_name=                    (EditText) childView.findViewById(R.id.editViewPerson_name);            EditText editViewPerson_code=                    (EditText) childView.findViewById(R.id.editViewPerson_code);            EditText editViewPerson_age=                    (EditText) childView.findViewById(R.id.editViewPerson_age);            RadioGroup radioGroupSex=                    (RadioGroup) childView.findViewById(R.id.radioGroupSex);            editViewPerson_name.setText(person.getName());            editViewPerson_age.setText(String.valueOf(person.getAge()));            editViewPerson_code.setText(person.getCode());            if(person.getSex().equals("男")){                ((RadioButton)radioGroupSex.getChildAt(0)).setChecked(true);            }else{                ((RadioButton)radioGroupSex.getChildAt(1)).setChecked(true);            }            builder.setView(childView);            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialogInterface, int i) {                }            });            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialogInterface, int i) {                    try {                        Field field = dialogInterface.getClass().getSuperclass().getDeclaredField("mShowing");                        field.setAccessible(true);                        field.set(dialogInterface,false);                        AlertDialog ad;                        if(dialogInterface instanceof AlertDialog){                            ad= (AlertDialog) dialogInterface;                            EditText editViewPerson_name=                                    (EditText) ad.findViewById(R.id.editViewPerson_name);                            EditText editViewPerson_age=                                    (EditText) ad.findViewById(R.id.editViewPerson_age);                            EditText editViewPerson_code=                                    (EditText) ad.findViewById(R.id.editViewPerson_code);                            RadioGroup radioGroupSex= (RadioGroup) ad.findViewById(R.id.radioGroupSex);                            if(TextUtils.isEmpty(editViewPerson_name.getText().toString())){                                Toast.makeText(TestSQLSqlLiteActivity.this,                                        "姓名不能为空",Toast.LENGTH_SHORT).show();                                return;                            }                            if(TextUtils.isEmpty(editViewPerson_age.getText().toString())){                                Toast.makeText(TestSQLSqlLiteActivity.this,                                        "年龄不能为空",Toast.LENGTH_SHORT).show();                                return;                            }                            person.setAge(Integer.parseInt(editViewPerson_age.getText().toString()));                            person.setName(editViewPerson_name.getText().toString());                            RadioButton radioButton= (RadioButton) radioGroupSex.                                    findViewById(radioGroupSex.getCheckedRadioButtonId());                            person.setSex(radioButton.getText().toString());                            person.setCode(editViewPerson_code.getText().toString());                            personDao.updatePerson(person);                            persons=personDao.getAllPerson();                            radioStates=new HashMap<String,Boolean>();                            personAdapter.notifyDataSetChanged();                            field.set(dialogInterface,true);                        }                    } catch (Exception e) {                        e.printStackTrace();                    }                }            });            builder.show();        }else{            Toast.makeText(this,"请选择要删除的行",Toast.LENGTH_SHORT);        }    }}

  布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical">    <LinearLayout        android:id="@+id/linearLayout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:onClick="addPerson"            android:text="新增" />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:onClick="deletePerson"            android:text="删除" />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:onClick="updatePerson"            android:text="修改" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content">        <TextView            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:gravity="center_horizontal"            android:text="姓名" />        <TextView            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:gravity="center_horizontal"            android:text="编号" />        <TextView            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:gravity="center_horizontal"            android:text="年龄" />        <TextView            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:gravity="center_horizontal"            android:text="性别" />        <TextView            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:gravity="center_horizontal"            android:text="请选择" />    </LinearLayout>    <ListView        android:id="@+id/listView"        android:layout_width="match_parent"        android:layout_height="match_parent" /></LinearLayout>

  

如果想要源码,请留下邮箱。

Demo下载
最后,以上例子都来源与安卓无忧,请去应用宝或者豌豆荚下载:http://android.myapp.com/myapp/detail.htm?apkName=com.shandong.mm.androidstudy,源码例子文档一网打尽

sqlite 增删改查