@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
switch (sUriMatcher.match(uri)) {
case SP:
SharedPreferences sp = getSharedPreference(SP_NAME_STRING);
//两列 数据
MatrixCursor cursor = new MatrixCursor(new String[] { "key", "value" });
Map<String, ?> map = sp.getAll();
if (map == null || map.size() == 0) {
Log.i(getClass().getSimpleName(), "map 为空");
return null;
}
if (selection != null) {
Log.i(getClass().getSimpleName(), "查询 单条");
//统一以String 类型返回
cursor.addRow(new String[] { selection, String.valueOf(map.get(selection)) });
} else {
Log.i(getClass().getSimpleName(), "查询 全部");
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
cursor.addRow(new String[] { key, String.valueOf(map.get(key)) });
}
}
return cursor; default:
break;
} return null;
} private SharedPreferences getSharedPreference(String spName) {
return getContext().getSharedPreferences(spName, Context.MODE_PRIVATE);
}
Cursor cursor = getContentResolver().query(
Uri.parse("content://com.secapp.auth/SEC"), null,
selection, null, null);
if(cursor==null)
{
Toast.makeText(this, "cursor==null", Toast.LENGTH_SHORT).show();
return;
}
while (cursor.moveToNext()) {
System.out.println("key=" + cursor.getString(0) + " value="
+ cursor.getString(1)); // if (cursor.getString(0).equals("keyInt")) {
// int i = cursor.getInt(1);
// if (i == 10) {
// System.out.println("i=" + i);
// }
// } }

使用ContentProvider访问其他应用的SharedPreferences数据的更多相关文章

  1. 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)

    1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and ...

  2. 访问cv::Mat中的数据时遇到的指针类型问题

    在用Opencv的时候由于下图原本的图像尺寸是1111*1111,要进行resize,代码如下: cv::Mat img = cv::imread("//Users//apple//td3/ ...

  3. 如何解析android访问webservice返回的SoapObject数据(可用)

    怎么解析android访问webservice返回的SoapObject数据 本帖最后由 kkDragon123 于 2013-03-26 15:50:07 编辑 我的数据如下:mingdanResp ...

  4. Android之SharedPreferences数据存储

    一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...

  5. 使用ContentProvider进行应用程序间的数据交互

    什么是ContentProvider: ContentProvider用来管理数据的访问规则.它允许你的应用程序向外界暴露需要被访问的数据. 是Android的四大组件之一. ContentProvi ...

  6. android 通过访问 php 接受 or 传送数据

    先说传送数据,可以在 利用 php 代替传送,直接把 访问的url加上 xxx.php?informatin=xxxxxx 就行了 接收的看代码吧,详细注释. 首先是 我自己定义的php 文件 < ...

  7. Android 一个对sharedpreferences 数据进行加密的开源库

    1.项目地址 https://github.com/iamMehedi/Secured-Preference-Store 2.使用方法 2.1.存数据 //存数据 SecuredPreferenceS ...

  8. 18.Android之SharedPreferences数据存储学习

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...

  9. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...

随机推荐

  1. ehcache报错

    jfinal2.0+tomcat7+ehcache2.6.11+Linux Linux version 2.6.18-164.el5 (mockbuild@x86-002.build.bos.redh ...

  2. 使用Spark分析拉勾网招聘信息(三): BMR 入门

    简述 本文,意在以最小的篇幅,来帮助对大数据和Spark感兴趣的小伙伴,能尽快搭建一个可用的Spark开发环境.力求言简意赅.文章,不敢自称BMR的最佳实践,但绝对可以帮助初学者,迅速入门,能够专心于 ...

  3. 一、Stream,sink,source,transform

    1. 蓝牙核心概述 2.Stream,sink,source,transform 在ADK的blueCore里面,Stream作为一个逻辑结构用来描述一个数据终点(data Endpoint).通常, ...

  4. SQL--存储过程

    声明和调用有返回值的存储过程 分页存储过程 转账的存储过程:

  5. 读卡器的Win32 Dll调用

    unsafe class Program { [DllImport("mwhrf_bj.dll")] public static extern int rf_card(int ic ...

  6. ASP.NET MVC使用jQuery实现Autocomplete

    Insus.NET的以前的ASP.NET MVC的练习中,也有实现过Autocomplete的功能.依次是使用jQuery来实现. 首先在数据库准备一些数据: CREATE TABLE [dbo].[ ...

  7. asp.net应用程序生命周期

    asp.net应用程序生命周期(流程文字描述版) 请求——>IIS——>ISAPI映射——>交给asp.net(即为IIS的扩展)——>通知Application类创建一个应用 ...

  8. $("").click与onclick的区别示例介绍

    Html代码: <script type="text/javascript"> $(function(){ $("#btn4").click(fun ...

  9. 【Java每日一题】20161121

    package Nov2016.use01; class Test { public String getString(){ return "123"; } } package N ...

  10. 【Qt】2.3 使用Qt设计师来创建对话框

    安装完Qt OpenSource之后,在开始菜单目录下会有这几个东西. 其中[Designer]是用来设计窗口界面的程序.所以现在可以使用它来设计一个对话框.在[Qt Creator]中,[设计]这一 ...