浅谈Android数据库CRUD操作的封装与实现(一)
2011-01-16 08:56:00 来源:WEB开发网核心提示:这样就可以在你需要查寻数据的地方创建一个"SimpleMessageDao"对象来实现数据库的操作了,比如要查询所有消息,浅谈Android数据库CRUD操作的封装与实现(一)(2),并以ListView显示出来就很简单了(呵呵,再也不用被那个变态的"SimpleCursorAdapter
这样就可以在你需要查寻数据的地方创建一个"SimpleMessageDao"对象来实现数据库的操作了。
比如要查询所有消息,并以ListView显示出来就很简单了(呵呵,再也不用被那个变态的"SimpleCursorAdapter"搞崩溃了吧!):
/**
* 初始化消息列表
*/
public void initMessageListView(){
ListView list = (ListView) Main.this.findViewById(R.id.message_list);
//列表数据
List<HashMap<String, String>> messageListData = new ArrayList<HashMap<String, String>>();
//查询数据
SimpleMessageDao smDao = new SimpleMessageDao(Main.this);
List<SimpleMessage> messages = smDao.getScroolData(1, 20);
//添加数据
HashMap<String, String> message;
for(SimpleMessage sm : messages){
message = new HashMap<String, String>();
message.put("id", String.valueOf(sm.getId()));
message.put("content", sm.getContent());
message.put("time", sm.getTime());
messageListData.add(message);
}
//组装适配器
SimpleAdapter adapter = new SimpleAdapter(
Main.this,
messageListData,
R.layout.message_list_item,//列表条目的布局样式
new String[]{"id", "content", "time"},//对应HashMap的Key
new int[]{R.id.message_id, R.id.message_content, R.id.message_time});//对应TextView的id
list.setAdapter(adapter);
//设置条目监听器
list.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ListView listView = (ListView) parent;
@SuppressWarnings("unchecked")
HashMap<String, String> data = (HashMap<String, String>) listView.getItemAtPosition(position);
Toast.makeText(Main.this,
"ID: " + data.get("id") + " \nContent: " + data.get("content") + "\nTime: " + data.get("time"),
Toast.LENGTH_SHORT).show();
}
});
}到目前为止,这个工具类还很简单。如果加上BeanUtils实现方向解析实体,整个代码会更加简洁。
本文分两次编写:
更多精彩
赞助商链接
