初学Android,使用ContentResolver获取自己实现的ContentProvider的数据(五十六)
来源:互联网 发布:知乎苏联大清洗 编辑:程序博客网 时间:2024/06/05 09:06
下面的例子是使用ContentResolver获取自己实现的ContentProvider的数据
界面和上一篇相同
下面是主界面
package WangLi.IO.DictResolver;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;import android.content.ContentResolver;import android.content.ContentValues;import android.content.Intent;import android.database.Cursor;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class DictResolver extends Activity{ContentResolver contentResolver;Button insert = null;Button search = null;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取系统的ContentResolver对象contentResolver = getContentResolver();insert = (Button)findViewById(R.id.insert);search = (Button)findViewById(R.id.search);// 为insert按钮的单击事件绑定事件监听器insert.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){//获取用户输入String word = ((EditText)findViewById(R.id.word)).getText().toString();String detail = ((EditText)findViewById(R.id.detail)).getText().toString();//插入生词记录ContentValues values = new ContentValues();values.put(Words.Word.WORD , word);values.put(Words.Word.DETAIL , detail);contentResolver.insert(Words.Word.DICT_CONTENT_URI , values);//显示提示信息Toast.makeText(DictResolver.this, "添加生词成功!" , 8000).show();}});// 为search按钮的单击事件绑定事件监听器search.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){// 获取用户输入String key = ((EditText) findViewById(R.id.key)).getText().toString();// 执行查询Cursor cursor = contentResolver.query(Words.Word.DICT_CONTENT_URI, null , "word like ? or detail like ?", new String[]{"%" + key + "%" , "%" + key + "%"} , null);//创建一个Bundle对象Bundle data = new Bundle();data.putSerializable("data", converCursorToList(cursor));//创建一个IntentIntent intent = new Intent(DictResolver.this, ResultActivity.class);intent.putExtras(data);//启动ActivitystartActivity(intent);}});}private ArrayList<Map<String, String>> converCursorToList(Cursor cursor){ArrayList<Map<String, String>> result = new ArrayList<Map<String, String>>();// 遍历Cursor结果集while (cursor.moveToNext()){// 将结果集中的数据存入ArrayList中Map<String, String> map = new HashMap<String, String>();// 取出查询记录中第2列、第3列的值map.put(Words.Word.WORD, cursor.getString(1));map.put(Words.Word.DETAIL, cursor.getString(2));result.add(map);}return result;}}
注意这两处代码,使用了Uri作为参数
contentResolver.insert(Words.Word.DICT_CONTENT_URI , values); Cursor cursor = contentResolver.query( Words.Word.DICT_CONTENT_URI, null , "word like ? or detail like ?" , new String[]{"%" + key + "%" , "%" + key + "%"} , null);
- 初学Android,使用ContentResolver获取自己实现的ContentProvider的数据(五十六)
- Android ContentProvider与ContentResolver实现应用程序间的数据共享
- 使用ContentProvider和ContentResolver实现应用程序间的数据共享
- Android ContentProvider、ContentResolver和ContentObserver的使用
- Android ContentProvider(内容提供者{模拟底层})和Contentresolver(内容接受者{实现对ContentProvider数据的修改})
- android数据存储ContentProvider数据获取ContentResolver
- ContentProvider实现数据共享 ContentResolver来操作暴露的数据
- ContentProvider和ContentResolver的使用
- ContentProvider+ContentResolver实现应用程序内的数据共享
- ContentProvider+ContentResolver实现应用程序内的数据共享
- 使用内容提供者ContentProvider与内容访问者ContentResolver实现拿到另外一个项目的数据库数据
- 我的android 第25天 - 使用ContentResolver操作ContentProvider中的数据
- Android开发之ContentProvider与ContentResolver的使用
- ContentProvider的创建和ContentResolver的使用
- 实现ContentResolver对ContentProvider内容的修改
- 初学Android,自己实现ContentProvider(五十五)
- android 中使用ContentResolver操作ContentProvider中的数据
- Android笔记使用ContentResolver操作ContentProvider中的数据
- mysqlsniffer :: MySQL network protocol sniffer
- Phusion Passenger apache配置
- Qt的系统变量
- BULK INSERT 操作文件是不是被当做一个Transcation?
- Ubuntu设置静态IP和DNS
- 初学Android,使用ContentResolver获取自己实现的ContentProvider的数据(五十六)
- 初学mfc
- XP安装U盘Win7 64bit
- Ubuntu wubi卸载
- JVM Problem
- VOIP DTMF 笔记
- Servlets and JSP overview
- Smalltalk发展历程
- leopardDm365 mt9p031 encode-demo输出