帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:Provider  Providers  整合  生成  数据  INT  
Work easy with Android built-in and custom content providers data + Stetho extension + Sample app

  • 源代码名称:easy-content-providers
  • 源代码网址:http://www.github.com/EverythingMe/easy-content-providers
  • easy-content-providers源代码文档
  • easy-content-providers源代码下载
  • Git URL:
    git://www.github.com/EverythingMe/easy-content-providers.git
  • Git Clone代码到本地:
    git clone http://www.github.com/EverythingMe/easy-content-providers
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/EverythingMe/easy-content-providers
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 内容提供程序

    轻松集成内置的android和自定义内容提供程序数据。 它甚至还附带了一个示例应用程序和用于调试目的的Stetho扩展。

    Android Arsenal

    为什么和什么时候

    我们经常尝试新的特性,新的应用,新的想法或者我们只是通过hackathon提供商的内容编码。 在这种情况下,我们需要工具来获得我们想要的最小摩擦。 这就是easy-content-providers进入的地方- 我们可以以很容易地获得所有的android数据,我们可以以调试 Chrome 开发工具( 基于Stetho实现) 。

    库使用反射和一些额外的操作来使ORM实现通用,这对于高性能和高性能的生产应用非常有用。 此外,如果不定义所需的列,则映射将在所有列( 从。选择 * 。) 上进行。 有时候,这不是你想要的。

    示例用法

    Gradle:

    dependencies {
     compile 'me.everything:providers-android:1.0.1'
    }

    获取所有日历:

    CalanderProvider provider =newCalendarProvider(context);List<Calendar> calendars = provider.getCalendars().getList();

    可以找到完整的文档

    检查提供程序数据

    Gradle:

    dependencies {
     compile 'me.everything:providers-stetho:1.0.1' 
    }

    利用stetho检查SQLite数据库的能力,你可以可视化。浏览和修改所有提供程序数据。

    Screenshot

    在上面的示例中,可以以看到所有提供程序都可以以展开,选择"提供者日历"并将它的显示在右侧。

    添加你自己的提供程序

    当然,你可以通过registring看到你自己的供应商。 在我们的示例( 检查示例应用程序) 中:

    ... 
    providersStetho.registerProvider("provider-custom", "posts", newProvidersStetho.QueryExecutor<Post>() {
     @OverridepublicData<Post>onQuery(Stringquery) {
     PostsProvider provider =newPostsProvider(getApplicationContext());
     return provider.getPosts();
     }
    }); ...

    它的外观如下:

    Screenshot

    SQL Quering

    Stetho允许从它的控制台中查询SQLite数据库。 目前,Android提供程序是带有sql的interactable,具有以下限制:

    • 仅可以包含所有包含的查询 select * from"tablename"

    • 结果可能需要几秒钟才能显示出来。

    • 只能像这样在 provider-calendar 中查询表:

      • #events:id=3 - 从日历 id = 3的事件中选择
      • #instances:id=100 - 从事件 id = 100的实例中进行选择
      • #reminders:id=100 - 从提醒中选择事件 id = 100
      • #attendees:id=100 - 从事件 id = 100的与会者处选择

      Screenshot

    我们倾向于摆脱这些限制。 继续关注未来的发展。

    示例应用程序

    试用我们的示例应用程序。 在下载后,在连接的设备上运行它,在中打开 chrome://inspect,并开始检查提供者以获得你的满意。

    注意该应用程序列出来自每个提供商的项目。 看看应用程序代码的源代码,看看它是怎样实现的。

    Screenshot



    作者

    罗马 Kushnarenko sromku

    许可证

    Apache许可证 2.0



    文章标签:数据  INT  整合  Provider  生成  Providers  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语