欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android筆記之:App模塊化及工程擴展的應用

 更新時間:2013年04月28日 09:28:24   作者:  
這篇文章是android開發(fā)人員的必備知識,是我特別為大家整理和總結的,不求完美,但是有用

1.需求
    無論是在.net還是java平臺,合理的分層架構是最普遍的模塊化思路之一。
    dll,jar文件無不風靡盛行,無處不在。
    一天,tx團隊和我說,我們現(xiàn)在要做android上做三個論壇的客戶端,一個是新聞論壇,一個是文學論壇,一個是音樂論壇。除了數(shù)據(jù),界面和很少的模塊不一樣,其他的都一摸一樣。
    jar是我第一刻就想到的東西,但是共用的jar文件無法方便的共享資源或者覆蓋資源。
    而我們也不會傻傻的單獨做三個客戶端的吧,也不會傻傻的做3個客戶端再傻傻的copy3份,依次修改吧。

2.問題
   在Android工程中如何開發(fā)一個共用Framework,能共用資源,代碼,但是也能擴展? 

3.使用硬編碼判斷
   有人提出了一種方案, 在代碼里面判斷:

復制代碼 代碼如下:

if(新聞論壇) {
   //加載新聞論壇的資源
   //執(zhí)行新聞論壇的代碼
   //顯示新聞論壇的效果
}else if(文學論壇) {
   //加載文學論壇的資源
   //執(zhí)行文學論壇的代碼
   //顯示文學論壇的效果
}else if(音樂論壇) {
   //加載音樂論壇的資源
   //執(zhí)行音樂論壇的代碼
   //顯示音樂論壇的效果
}
PS:這是一種很無奈的辦法,代碼丑陋,擴展性差,有沒有更好的辦法呢?

4.使用Android Library分離工程
    Android Library提供了一個類似于其他平臺的庫的概念,這個庫不僅能公用代碼,還能共用資源,還能覆寫資源。
    Android Library是以工程的顆粒來復用,引用它的工程,其實就是引用它的代碼,然后生成R.java和主工程需要的資源,而剔除Library中被覆蓋的資源。其中Library中的AndroidManifest.xml不能復用,也就是說主工程必須重新定義AndroidManifest.xml,這個也很容易理解,AndroidManifest.xml本來就是工程的一個配置文件,一般來說不具備共用的庫的通用性。
    步驟如下:
    第一步:新建Android工程common。
    第二步:右鍵common,選擇Properties,在Android標簽頁,選中"Is Library" ,如下圖。
 
    第三步: 新建主工程新聞論壇tianxianews。
    第四步: 右鍵tianxianews,選擇Properties,在Android標簽頁,點擊Add,選中common。如下圖。
    查看最后的工程結構:
    此時此刻,common工程天衣無縫成了tianxianews工程的一部分。
    我們展開tianxianews工程的gen目錄:
    
    eclipse為了生成了兩個R.java,一個是common工程的,一個tianxianews工程的,但是內(nèi)容是一摸一樣的,這樣做的好處是:R.java里面的內(nèi)容包括兩個工程資源,第一,tianxianews工程通過R.java能調(diào)用到common工程的資源;第二,如果有覆寫的資源,生成apk的時候,tianxianews工程覆蓋common工程的資源,因為兩個R.java內(nèi)容一樣,common代碼調(diào)用的R.java中的資源,實際上調(diào)用的是tianxianews資源,這個特性類似如面向?qū)ο蟮睦^承的概念。
    我們還可以另外新建tianxiamusic,tianxialiterature工程,都引用common,這樣我們?nèi)齻€工程就能共用common,這樣我們就可以只在common一個工程中開發(fā)了。
    在這里,具體的使用步驟我沒有截圖出來,主要是沒什么技術,也沒什么好說的,就是兩個字:覆蓋。 

5.小結
    Android Library為Android模塊化和工程擴展提供了一個很好的工具或者方式。隨著項目的增大,資源的共享,模塊化和擴展的這種需求更是日益凸顯,它不僅去掉了代碼的丑陋,而且減少了開發(fā)量,帶來的益處不少。同時由此我們也可以看出來Android的不成熟,他們?yōu)槲覀兇笮凸こ烫峁┑姆桨高€是太少,這可能也有源自手機平臺本身的局限性吧,我們期待Android市場走向更強大,技術走向更強悍。

相關文章

  • android中Activity橫豎屏切換的那些事

    android中Activity橫豎屏切換的那些事

    本篇文章主要介紹了android中Activity橫豎屏切換的那些事,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Listvie簡單實現(xiàn)購物車功能

    Listvie簡單實現(xiàn)購物車功能

    這篇文章主要為大家詳細介紹了Listvie簡單實現(xiàn)購物車功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Android Studio將程序打包成APK的步驟詳解

    Android Studio將程序打包成APK的步驟詳解

    這篇文章主要介紹了Android Studio將程序打包成APK的步驟詳解,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Android ScrollView嵌套橫向滑動控件時沖突問題

    Android ScrollView嵌套橫向滑動控件時沖突問題

    本篇文章主要介紹了Android ScrollView嵌套橫向滑動控件時沖突問題,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Android中簡單調(diào)用圖片、視頻、音頻、錄音和拍照的方法

    Android中簡單調(diào)用圖片、視頻、音頻、錄音和拍照的方法

    這篇文章主要介紹了Android中簡單調(diào)用圖片、視頻、音頻、錄音和拍照的方法,涉及Android多媒體操作的常用技巧,需要的朋友可以參考下
    2016-08-08
  • Android獲取SD卡上圖片和視頻縮略圖的小例子

    Android獲取SD卡上圖片和視頻縮略圖的小例子

    如果我們需要快速提取圖片和視頻縮略圖可以直接訪問android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails這兩個數(shù)據(jù)庫,即可查詢出來縮略圖 。
    2013-06-06
  • Android Studio下Flutter環(huán)境搭建圖文教程

    Android Studio下Flutter環(huán)境搭建圖文教程

    這篇文章主要為大家詳細介紹了Android Studio下Flutter環(huán)境搭建圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android控件RadioButton的使用方法

    Android控件RadioButton的使用方法

    這篇文章主要為大家詳細介紹了Android控件RadioButton的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android中Retrofit庫的高級使用與原理

    Android中Retrofit庫的高級使用與原理

    在 Android 開發(fā)中,網(wǎng)絡請求是一個極為關鍵的部分,Retrofit 作為一個強大的網(wǎng)絡請求庫,能夠簡化開發(fā)流程,提供高效的網(wǎng)絡請求能力,本文將深入介紹 Retrofit 的高級使用與原理,幫助讀者更全面地理解和應用這一庫,需要的朋友可以參考下
    2023-08-08
  • 詳解Android內(nèi)存泄漏檢測與MAT使用

    詳解Android內(nèi)存泄漏檢測與MAT使用

    編寫沒有內(nèi)存泄漏的程序,對提高程序穩(wěn)定性,提高用戶體驗具有重要的意義。這篇文章主要介紹了詳解Android內(nèi)存泄漏檢測與MAT使用,有興趣的可以了解一下。
    2016-12-12

最新評論