android sqlitedatabase的使用

来源:互联网 发布:数据库的er图怎么画 编辑:程序博客网 时间:2024/05/15 00:13

package com.itheima74.databaseday01;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.itheima74.databaseday01.dao.InfoDao;import com.itheima74.databaseday01.domain.InfoBean;import java.util.ArrayList;import static com.itheima74.databaseday01.R.id.bt_delete;import static com.itheima74.databaseday01.R.id.bt_insert;import static com.itheima74.databaseday01.R.id.bt_query;import static com.itheima74.databaseday01.R.id.bt_update;/** * 1.创建一个私有数据 * 2.完成对数据库的增删改查 * 3.使用listview展示查询结果 */public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private InfoDao mInfoDao;    private ListView lv;    private ArrayList<InfoBean> mList;    private MyAdapter mAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mInfoDao = new InfoDao(this);        initUI();        initData();        initAdapter();    }    private void initData() {        mList = mInfoDao.query();    }    private void initAdapter() {        mAdapter = new MyAdapter();        lv.setAdapter(mAdapter);    }    private void initUI() {        lv = (ListView) findViewById(R.id.lv);        findViewById(bt_insert).setOnClickListener(this);        findViewById(bt_delete).setOnClickListener(this);        findViewById(bt_update).setOnClickListener(this);        findViewById(bt_query).setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch (view.getId()) {            case bt_insert:                InfoBean infoBean = new InfoBean("习大大", "3000一个月");                boolean insert = mInfoDao.insert(infoBean);                if (insert) {                    Toast.makeText(this, "insert success", Toast.LENGTH_SHORT).show();                } else {                    Toast.makeText(this, "insert fail", Toast.LENGTH_SHORT).show();                }                break;            case bt_delete:                int delete = mInfoDao.delete();                Toast.makeText(this, "成功删除" + delete + "行", Toast.LENGTH_SHORT).show();                break;            case bt_update:                InfoBean infoBean1 = new InfoBean("习大大", "10000一个月");                int update = mInfoDao.update(infoBean1);                Toast.makeText(this, "成功更新" + update + "行", Toast.LENGTH_SHORT).show();                break;            case bt_query:                mList = mInfoDao.query();                mAdapter.notifyDataSetChanged();                Toast.makeText(this, "查询成功", Toast.LENGTH_SHORT).show();                break;        }    }    private class MyAdapter extends BaseAdapter {        @Override        public int getCount() {            return mList.size();        }        @Override        public InfoBean getItem(int position) {            return mList.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            ViewHolder holder;            if (convertView == null) {                holder = new ViewHolder();                convertView = View.inflate(getApplicationContext(), R.layout.listview_item, null);                holder.tv_id = (TextView) convertView.findViewById(R.id.tv_id);                holder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);                holder.tv_money = (TextView) convertView.findViewById(R.id.tv_money);                convertView.setTag(holder);            } else {                holder = (ViewHolder) convertView.getTag();            }            InfoBean infoBean = getItem(position);            holder.tv_id.setText(infoBean._id + "");            holder.tv_name.setText(infoBean.name);            holder.tv_money.setText(infoBean.money);            return convertView;        }    }    private static class ViewHolder {        TextView tv_id;        TextView tv_name;        TextView tv_money;    }}
package com.itheima74.databaseday01.domain;public class InfoBean {    public String _id;    public String name;    public String money;    public InfoBean() {    }    public InfoBean(String name, String money) {        this.name = name;        this.money = money;    }    @Override    public String toString() {        return "InfoBean{" +                "_id=" + _id +                ", name='" + name + '\'' +                ", money='" + money + '\'' +                '}';    }}
package com.itheima74.databaseday01.dao;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.itheima74.databaseday01.sqliteopenhelp.MySqliteOpenHelper;import com.itheima74.databaseday01.domain.InfoBean;import java.util.ArrayList;public class InfoDao {    private MySqliteOpenHelper mSqliteOpenHelper;    public InfoDao(Context context) {        mSqliteOpenHelper = new MySqliteOpenHelper(context);    }    public boolean insert(InfoBean infoBean) {        SQLiteDatabase db = mSqliteOpenHelper.getReadableDatabase();        ContentValues values = new ContentValues();        values.put("name", infoBean.name);        values.put("money", infoBean.money);        long insert = db.insert("info", null, values);        if (insert != -1) {            return true;        } else {            return false;        }    }    /**     * 全部删除     */    public int delete() {        SQLiteDatabase db = mSqliteOpenHelper.getReadableDatabase();        int delete = db.delete("info", null, null);        db.close();        return delete;    }    public int update(InfoBean infoBean) {        SQLiteDatabase db = mSqliteOpenHelper.getReadableDatabase();        ContentValues values = new ContentValues();        values.put("money", infoBean.money);        int update = db.update("info", values, "name=?", new String[]{infoBean.name});        db.close();        return update;    }    public ArrayList<InfoBean> query() {        SQLiteDatabase db = mSqliteOpenHelper.getReadableDatabase();        InfoBean infoBean = new InfoBean();        ArrayList<InfoBean> list = new ArrayList<>();        Cursor cursor = db.query("info", new String[]{"_id","name","money"}, null, null, null, null, null);        while (cursor != null && cursor.moveToNext()) {            infoBean._id = cursor.getString(0);            infoBean.name = cursor.getString(1);            infoBean.money = cursor.getString(2);            list.add(infoBean);            System.out.println(infoBean);        }        db.close();        return list;    }}
package com.itheima74.databaseday01.sqliteopenhelp;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MySqliteOpenHelper extends SQLiteOpenHelper {    public MySqliteOpenHelper(Context context) {        super(context, "info.db", null, 1);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        sqLiteDatabase.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),money varchar(20))");    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {    }}





0 0