帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签: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  |  如果智培  |  酷兔英语