最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實(shí)現(xiàn)換膚功能實(shí)例

 更新時間:2015年12月12日 11:54:54   作者:suiyc  
這篇文章主要介紹了Android編程實(shí)現(xiàn)換膚功能的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android換膚的具體步驟與相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)換膚功能的方法。分享給大家供大家參考,具體如下:

本系列專題培訓(xùn)適用范圍:初級Android程序員,即有J2SE基礎(chǔ)和Android初級水平。J2SE基礎(chǔ)是指掌握J(rèn)AVA語法,1.5、1.6新增的語法不完全掌握也沒關(guān)系。了解基本的面向?qū)ο笏枷?、能編寫簡單的J2SE程序,掌握基本的調(diào)試方法,熟悉Swing更好。Android初級是指掌握Activity、Service、BroadcastReceiver、Intent、SQLite、UI組件的使用,能參照例子編寫簡單的Android應(yīng)用程序。

先看一下實(shí)現(xiàn)的效果:

啟動時的皮膚

設(shè)置pak中的皮膚

設(shè)置zip包中的皮膚

本節(jié)課程的目的:學(xué)會換膚的方案及實(shí)現(xiàn),掌握不同換膚方案的優(yōu)缺點(diǎn)及適用場合。

希望各位同學(xué)做到:學(xué)習(xí)某一個技巧就掌握透徹,多練習(xí)。最好舉一反三、觸類旁通,掌握分析問題解決問題的思路和方法。

我講解的是原理以及實(shí)現(xiàn)的關(guān)鍵技術(shù)點(diǎn),細(xì)節(jié)、優(yōu)化及與課程主題不相關(guān)的或初級的內(nèi)容可能不會講解。這是免費(fèi)培訓(xùn),精力有限,暫時只能做到讓普通的變優(yōu)秀,讓優(yōu)秀的變卓越。你要是已經(jīng)卓越了來教教我吧。暫時不做入門培訓(xùn)。

國內(nèi)有很多的軟件都支持皮膚定制,這也是與國外軟件重大不同之一,國外用戶注重社交、郵件等功能,國內(nèi)用戶則重視音樂、小說、皮膚等功能,本節(jié)課程就來講解Android應(yīng)用程序如何實(shí)現(xiàn)換膚功能。

軟件換膚從功能上可以劃分三種:

1) 軟件內(nèi)置多個皮膚,不可由用戶增加或修改;

最低的自由度,軟件實(shí)現(xiàn)相對于后兩種最容易。

2) 官方提供皮膚供下載,用戶可以使用下載的皮膚;

用戶可選擇下載自己喜歡的皮膚,有些玩家會破解皮膚的定制方法,自己做皮膚使用,或者傳到網(wǎng)上給大家用。

3) 官方提供皮膚制作工具或方法,用戶可自制皮膚。

這種方式使用戶有參與感,自由度較高。用戶可根據(jù)自己的喜好定制軟件的皮膚。有些軟件官網(wǎng)提供皮膚定制的工具或者方法,我建議最好有可視化帶向?qū)У墓ぞ?。用戶只要自己找一些圖片、修改文字的字體替換就可以了。用戶可以上傳自制的皮膚,提供其他用戶下載,還可以賺得一些虛擬貨幣或者獎品什么的。這種一般都是打包為.zip格式的。擴(kuò)展名可由各公司自定義,有制作工具的話直接導(dǎo)出來最方便。

首先我們要弄清楚換膚的定義,軟件皮膚包括圖標(biāo)、字體、布局、交互風(fēng)格等,換膚就是換掉皮膚包括的部分或所有資源。

前面提到的三種皮膚,從軟件實(shí)現(xiàn)上來看,它們的本質(zhì)區(qū)別是皮膚是否內(nèi)置到應(yīng)用程序中。對于內(nèi)置的實(shí)現(xiàn)比較簡單,只要在開發(fā)應(yīng)用的過程中設(shè)計幾套皮膚供用戶選擇。這里用到的知識不超過Android基礎(chǔ),不詳細(xì)講解。

本節(jié)課程重點(diǎn)講解如何實(shí)現(xiàn)皮膚與應(yīng)用程序分離。

皮膚一般含有多個文件,例如圖片、配置等文件,分散的文件不利于傳輸和使用,最好打包。打包的格式一般選擇zip格式。這里分兩種情況,一種是apk,例如AdwLauncher,它的桌面皮膚格式是一個apk;另一種是自定義擴(kuò)展名,例如墨跡天氣皮膚擴(kuò)展名是mja,搜狗輸入法的皮膚擴(kuò)展名是sga,它們的文件格式實(shí)際上都是zip。

下面我們分別講解。

一.a(chǎn)pk格式

現(xiàn)在的問題變成了一個應(yīng)用如何讀取另一個apk中的資源。

在android系統(tǒng)中,apk之間可以相互讀取數(shù)據(jù)的條件是:有同樣的簽名,并且AndroidManifest.xml文件中配置的android:sharedUserId屬性值相同,那么兩個apk運(yùn)行在同一個進(jìn)程中,可以互相訪問任意數(shù)據(jù)。

方法如下:

1) 應(yīng)用程序和皮膚程序的AndroidManifest.xml中配置

例如: android:sharedUserId="org.yuchen"

2) 文件與應(yīng)用apk中對同一功能的皮膚文件名要一致

例如:應(yīng)用程序的背景圖片路徑:/SkinDemo/res/drawable-hdpi/bg.png

那么皮膚apk中的背景圖片文件路徑也應(yīng)該是:

CustomSkin/res/drawable-hdpi/bg.png

3)訪問資源的方法

復(fù)制代碼 代碼如下:
Context context = createPackageContext("com.yuchen.customskin", Context.CONTEXT_IGNORE_SECURITY);

獲取到org.yuchen.customskin對應(yīng)的Context,通過返回的context對象就可以訪問到org.yuchen.customskin中的任何資源。

例如:應(yīng)用apk要獲得皮膚apk中的bg.png,

復(fù)制代碼 代碼如下:
Drawable drawable = context.getResources().getDrawable(R.drawable.bg);

這樣就得到了圖片的引用,其他xml資源文件的獲取方式也是類似的。

二.自定義擴(kuò)展名的zip格式的皮膚

技術(shù)點(diǎn)在于如何去讀取zip文件中的資源以及皮膚文件存放策略。

方案:如果軟件每次啟動都去讀取SD卡上的皮膚文件,速度會比較慢。較好的做法是提供一個皮膚設(shè)置的界面,用戶選擇了哪一個皮膚,就把那個皮膚文件解壓縮到”/data/data/[package name]/skin”路徑下,這樣不需要跨存儲器讀取,速度較快,而且不需要每次都去zip壓縮包中讀取,不依賴SD卡中的文件,即使皮膚壓縮包文件被刪除了也沒有關(guān)系。

實(shí)現(xiàn)方法:

1. 在軟件的幫助或者官網(wǎng)的幫助中提示用戶將皮膚文件拷貝到SD卡指定路徑下。

2. 在軟件中提供皮膚設(shè)置界面。可以在菜單或者在設(shè)置中??蓞⒖寄E、搜狗輸入法、QQ等支持換膚的軟件。

3. 加載指定路徑下的皮膚文件,讀取其中的縮略圖,在皮膚設(shè)置界面中顯示,將用戶選中的皮膚文件解壓縮到”/data/data/[package name]/skin”路徑下。

4. 軟件中優(yōu)先讀取”/data/data/[package name]/skin/”路徑下的資源。如果沒有則使用apk中的資源。

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局

    Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局

    這篇文章主要介紹了Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局的方法,文中列舉了LinearLayout線性布局下居中相關(guān)的幾個重要參數(shù),需要的朋友可以參考下
    2016-04-04
  • Android ViewBinding的使用詳解

    Android ViewBinding的使用詳解

    這篇文章主要介紹了Android ViewBinding的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下
    2021-04-04
  • android開發(fā)框架afinal使用方法小結(jié)

    android開發(fā)框架afinal使用方法小結(jié)

    這篇文章主要為大家詳細(xì)總結(jié)了android開發(fā)框架afinal使用方法,注解功能、文件上傳下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android應(yīng)用中繪制圓形頭像的方法解析

    Android應(yīng)用中繪制圓形頭像的方法解析

    這篇文章主要介紹了Android應(yīng)用中繪制圓形頭像的方法解析,文后還順帶介紹了Android App常用圖標(biāo)尺寸規(guī)范,需要的朋友可以參考下
    2016-02-02
  • Android實(shí)現(xiàn)帶進(jìn)度條的WebView

    Android實(shí)現(xiàn)帶進(jìn)度條的WebView

    這篇文章主要介紹了Android實(shí)現(xiàn)帶進(jìn)度條的WebView,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • android點(diǎn)擊無效驗(yàn)證的解決方法

    android點(diǎn)擊無效驗(yàn)證的解決方法

    這篇文章主要給大家介紹了關(guān)于android點(diǎn)擊無效驗(yàn)證的解決方法,文中通過示例代碼介紹的非常詳細(xì),對各位android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Android實(shí)現(xiàn)購物商城

    Android實(shí)現(xiàn)購物商城

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)購物商城,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Android開源項目PullToRefresh下拉刷新功能詳解2

    Android開源項目PullToRefresh下拉刷新功能詳解2

    這篇文章主要為大家進(jìn)一步的介紹了Android開源項目PullToRefresh下拉刷新功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android中Json數(shù)據(jù)讀取與創(chuàng)建的方法

    Android中Json數(shù)據(jù)讀取與創(chuàng)建的方法

    android 讀取json數(shù)據(jù),下面小編給大家整理有關(guān)Android中Json數(shù)據(jù)讀取與創(chuàng)建的方法,需要的朋友可以參考下
    2015-08-08
  • Android四種常見布局方式示例教程

    Android四種常見布局方式示例教程

    Android四種布局有線性布局LinearLayout、相對布局RelativeLayout、網(wǎng)格布局GridLayout、和滾動視圖ScrollView,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09

最新評論

皋兰县| 延吉市| 六枝特区| 环江| 洪江市| 工布江达县| 云阳县| 商都县| 庆元县| 武鸣县| 萨迦县| 五台县| 锡林浩特市| 日照市| 唐河县| 仙桃市| 营山县| 北流市| 从化市| 东方市| 涪陵区| 荔浦县| 金乡县| 阳东县| 永春县| 余江县| 延津县| 绥芬河市| 乐昌市| 景德镇市| 化州市| 呼玛县| 曲麻莱县| 资阳市| 南通市| 沙田区| 行唐县| 江口县| 无锡市| 安顺市| 阜新市|