WEB开发网
开发学院手机开发Android 开发 浅谈Android数据库CRUD操作的封装与实现(一) 阅读

浅谈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实现方向解析实体,整个代码会更加简洁。

本文分两次编写:

浅谈Android数据库CRUD操作的封装与实现(一)

浅谈Android数据库CRUD操作的封装与实现(二)

上一页  1 2 

Tags:Android CRUD

编辑录入:coldstar [复制链接] [打 印]
赞助商链接