package com.jiahui.sqlite;
import java.util.ArrayList;
import java.util.Currency;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.Inflater;
import com.jiahui.model.Person;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class SQLiteDemoActivity extends Activity {
private Button btnAdd;
private Button btnQueryAll;
private ListView lvpersons;
private EditText edtname;
private EditText edtage;
private List<Person> persons;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//接到子线程发回来的数据,完成列表的显示
List<Map<String, Object>> data = (List<Map<String, Object>>) msg.obj;
SimpleAdapter simpleAdapter = new SimpleAdapter(
SQLiteDemoActivity.this, data, R.layout.list_item,
new String[] { "id", "name", "age" }, new int[] {
R.id.tvid, R.id.tvname, R.id.tvage });
lvpersons.setAdapter(simpleAdapter);
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnAdd = (Button) this.findViewById(R.id.btnAdd);
btnQueryAll = (Button) this.findViewById(R.id.btnQueryAll);
edtname = (EditText) this.findViewById(R.id.edtname);
edtage = (EditText) this.findViewById(R.id.edtage);
lvpersons = (ListView) this.findViewById(R.id.lvpersons);
persons = new ArrayList<Person>();
DBHelper dbHelper = new DBHelper(this);
final SQLiteDatabase database = dbHelper.getWritableDatabase();
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues values = new ContentValues();
values.put("name", edtname.getText().toString());
values.put("age", edtage.getText().toString());
long result = database.insert("person", null, values);
if (result != -1) {
Toast.makeText(SQLiteDemoActivity.this, "增加数据成功",
Toast.LENGTH_LONG).show();
}
}
});
btnQueryAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//查询数据可能花费太多时间交给子线程去做,在Handler完成数据的显示
myThread thread = new myThread(database);
thread.start();
}
});
}
class myThread extends Thread {
private SQLiteDatabase database;
public myThread(SQLiteDatabase database) {
this.database = database;
}
public void run() {
System.out.println("----------");
Cursor cursor = database.query("person", new String[] { "_id",
"name", "age" }, null, null, null, null, null);
while (cursor.moveToNext()) {
Person person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex("_id")));
person.setName(cursor.getString(cursor.getColumnIndex("name")));
person.setAge(cursor.getInt(cursor.getColumnIndex("age")));
persons.add(person);
}
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (int i = 0; i < persons.size(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", persons.get(i).getId());
map.put("name", persons.get(i).getName());
map.put("age", persons.get(i).getAge());
data.add(map);
System.out.println(persons.get(i));
}
Message msg = handler.obtainMessage();
msg.obj = data;
handler.sendMessage(msg);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
从头学Android之Android的数据存储--SQLite示例源代码
共34个文件
class:13个
png:6个
xml:4个
5星 · 超过95%的资源 需积分: 9 252 下载量 28 浏览量
2011-11-23
10:59:11
上传
评论 4
收藏 70KB ZIP 举报
温馨提示
从头学Android之Android的数据存储--SQLite示例源代码
资源推荐
资源详情
资源评论
收起资源包目录
SQLiteDemo.zip (34个子文件)
SQLiteDemo
bin
classes.dex 9KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
drawable-mdpi
ic_launcher.png 2KB
SQLiteDemo.apk 18KB
classes
com
jiahui
sqlite
R$layout.class 424B
R$id.class 597B
R$drawable.class 404B
SQLiteDemoActivity$2.class 2KB
SQLiteDemoActivity$1.class 1KB
R$attr.class 337B
SQLiteDemoActivity$myThread.class 3KB
R.class 524B
DBHelper.class 1KB
R$string.class 424B
SQLiteDemoActivity$3.class 1KB
SQLiteDemoActivity.class 3KB
model
Person.class 2KB
resources.ap_ 11KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
values
strings.xml 186B
drawable-mdpi
ic_launcher.png 3KB
layout
list_item.xml 788B
main.xml 2KB
assets
gen
com
jiahui
sqlite
R.java 1KB
proguard.cfg 1KB
src
com
jiahui
sqlite
DBHelper.java 794B
SQLiteDemoActivity.java 4KB
model
Person.java 1KB
.project 846B
.classpath 364B
project.properties 360B
AndroidManifest.xml 740B
共 34 条
- 1
90worker
- 粉丝: 864
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页