android sqlite和listview 使用小例子
来源:互联网 发布:jquery点击事件源码 编辑:程序博客网 时间:2024/05/16 15:07
博客迁移
sdk: mini8 target18
项目截图
演示
主要代码
adapter
package com.my.dbtest.adapter;import java.util.ArrayList;import java.util.List;import com.icedcap.dbtest.R;import com.my.dbtest.helper.Persion;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.TextView;public class PersionAdapter extends BaseAdapter { public ArrayList<Persion> persions = null; Activity context; public ArrayList<String> checkedIds; public PersionAdapter(Activity context) { super(); checkedIds = new ArrayList<String>(); this.context = context; persions = new ArrayList<Persion>(); } public void setPersions(ArrayList<Persion> persions){ this.persions = persions; } @Override public int getCount() { return persions.size(); } @Override public Object getItem(int position) { return persions.get(position); } @Override public long getItemId(int position) { return position; } @SuppressWarnings("static-access") @Override public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder holder; final Persion item = this.persions.get(position); if (convertView == null) { convertView = LayoutInflater.from(context).from(context).inflate(R.layout.persionitem, null); holder = new ViewHolder(); holder.ck = (CheckBox)convertView.findViewById(R.id.ck); holder.tv1 = (TextView)convertView.findViewById(R.id.tv1); holder.tv2 = (TextView)convertView.findViewById(R.id.tv2); holder.tv3 = (TextView)convertView.findViewById(R.id.tv3); holder.tv4 = (TextView)convertView.findViewById(R.id.tv4); holder.tv5 = (TextView)convertView.findViewById(R.id.tv5); holder.ck.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ checkedIds.add(holder.tv1.getText().toString()); }else{ checkedIds.remove(holder.tv1.getText().toString()); } item.CheckState = isChecked; } }); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tv1.setText(item.Id); holder.tv2.setText(item.Name); holder.tv3.setText(item.Age); holder.tv4.setText(item.Height); holder.tv5.setText(item.Weight); holder.ck.setChecked(item.CheckState); //赋值 return convertView; } class ViewHolder { CheckBox ck; TextView tv1; TextView tv2; TextView tv3; TextView tv4; TextView tv5; }}
dbHeper
package com.my.dbtest.helper;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class DbHelper extends SQLiteOpenHelper { private SQLiteDatabase db = null; private Cursor cursor = null; private String TAG = "DBTest"; private boolean isInit; private String createString; public DbHelper(Context context, String dbName, CursorFactory factory, int version) { super(context, dbName, factory, version); } // 建表 @Override public void onCreate(SQLiteDatabase db) { this.db = db; db.execSQL(createString); } public void inItDb(String createString) { if (isInit) return; this.createString = createString; this.isInit = true; } // 增 public void insert(ContentValues values, String tableName) { SQLiteDatabase db = getWritableDatabase(); System.out.println("values" + values.get("id") + values.get("name") + values.get("age")); db.insert(tableName, null, values); Log.i(TAG, "增加一行"); db.close(); } // 删除某一行 public void delete(String id, String tableName) { // if (db == null) { SQLiteDatabase db = getWritableDatabase(); // } db.delete(tableName, "id=?", new String[] { String.valueOf(id) }); Log.i(TAG, "删除一行"); } // 更新某一行 public void update(ContentValues values, String string, String tableName) { SQLiteDatabase db = getWritableDatabase(); db.update(tableName, values, "id=?", new String[] { string }); db.close(); Log.i(TAG, "更新一行"); } // 按id查询 public Cursor query(String string, String tableName) { SQLiteDatabase db = getWritableDatabase(); System.out.println("id---->" + string); cursor = db.query(tableName, null, "id=?", new String[] { string }, null, null, null); Log.i(TAG, "按id查询一行"); return cursor; } public Cursor query(String tableName) { SQLiteDatabase db = getWritableDatabase(); cursor = db.query(tableName, null, null, null, "id", null, "id"); Log.i(TAG, "查询所有"); return cursor; } // 按sql语句操作数据库 public void handleBySql(String sql) { SQLiteDatabase db = getWritableDatabase(); db.execSQL(sql); Log.i(TAG, "执行sql语句"); } // 关闭数据库 public void close() { if (db != null) { db.close(); db = null; } if (cursor != null) { cursor.close(); cursor = null; } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
项目源码:http://pan.baidu.com/s/1c0fR48S
1 0
- android sqlite和listview 使用小例子
- sqlite和listview联合使用
- [Android]仿通讯录ListView小例子
- [Android]仿通讯录ListView小例子
- Android--ListView和ArrayAdapter例子
- SQLite 小例子。
- Sqlite 的小例子
- SQLite小例子
- Android----基础----第三天----SQLite和ListView
- 【Android核心基础03】 - SQLite和ListView
- Android基础知识:单元测试、SQLite数据库和ListView
- Android sqlite例子 有外键的使用
- Android使用SQLite数据库的简单例子
- SQLite的事务处理和listview的使用
- SQLite数据库和自定义ListView的使用
- android ListView 几个重要属性和使用小技巧
- android AlarmManager使用小例子
- Android Notification使用小例子
- Linux学习日记--基础命令(6)--grep及正则表达式
- PLC中用量累加时,精度越来越差的原因和处理方法:
- Android 布局管理器学习
- name选择器所以一级节点偶数行换样式(juqery)
- 八皇后问题(最简单的递归解法)
- android sqlite和listview 使用小例子
- 表单的建立和PHP的交互
- 对于async的错误理解
- HDU 1595 find the longest of the shortest (最短路+记录路径+枚举删边)
- javascript中window对象及属性
- Runtime学习笔记
- stochastic noise and deterministic noise
- 通过工具来监控webService请求和返回时的数据
- java保留两位小数