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
- Android SQLiteDatabase的使用
- Android SQLiteDatabase的使用
- Android SQLiteDatabase的使用
- android sqlitedatabase的使用
- Android 数据库SQLiteDatabase的使用
- Android 数据库SQLiteDatabase的使用
- Android 数据库SQLiteDatabase的使用!!
- android 中SQLiteDatabase的使用
- Android 数据库SQLiteDatabase的使用!!
- Android SQLiteDatabase的使用模板
- Android中SQLiteDataBase的使用
- 11.Android数据库SQLiteDatabase的使用
- Android数据库SQLiteDatabase的使用
- Android SQLiteDatabase帮助类SQLiteOpenHelper的使用
- Android SQLiteDatabase帮助类SQLiteOpenHelper的使用
- Android:SqliteDatabase 数据库的简单使用
- Android SQLiteDatabase帮助类SQLiteOpenHelper的使用
- Android SQLiteDatabase帮助类SQLiteOpenHelper的使用
- Java多线程基础之常用方法
- 如何阅读微信聊天时好友的撤回消息?技术老司机教你!
- CodeForces 110C 【构造】
- JVM笔记(一) Java内存区域
- 《ACM程序设计》书中题目 S
- android sqlitedatabase的使用
- IO流之输入输出
- -04-实时Prewitt边缘检测,第二步:Prewitt的NEON加速实现【ARM NEON加速】
- 在Jupyter中遇到的一些问题
- numpy学习日记(三)
- 310. Minimum Height Trees
- 流操作规律
- 1.redis 简介
- Example of Chain Rule in Gradient Back-propagation in LR