欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種自定義系統(tǒng)控件的擴(kuò)展方法及系統(tǒng)的制作方法

文檔序號(hào):9579108閱讀:300來源:國知局
一種自定義系統(tǒng)控件的擴(kuò)展方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Android自定義控件開發(fā)技術(shù)領(lǐng)域,尤其涉及一種自定義系統(tǒng)控件的擴(kuò)展方法及系統(tǒng)。
【背景技術(shù)】
[0002]Android作為最主流的操作系統(tǒng)之一,為了爭(zhēng)奪一席之地,各大廠商在UI (UserInterface,用戶界面)風(fēng)格上下足功夫。為了兼容又區(qū)別于系統(tǒng)原生控件,不可避免的會(huì)訂制自有風(fēng)格的系統(tǒng)控件。原有的自定義系統(tǒng)控件是以增量的方式打包到系統(tǒng)控件資源包中去,使得自定義控件的資源與原生系統(tǒng)資源耦合度過高。因系統(tǒng)資源包與系統(tǒng)版本相關(guān)度過高,稍有不對(duì)應(yīng)即可引起系統(tǒng)顯示錯(cuò)誤甚至無法開啟等嚴(yán)重問題。如果要想要替換自定義控件的風(fēng)格,只能采用系統(tǒng)升級(jí),替換整個(gè)系統(tǒng)來實(shí)現(xiàn)。
[0003]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0004]鑒于現(xiàn)有技術(shù)的不足,本發(fā)明目的在于提供一種自定義系統(tǒng)控件的擴(kuò)展方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中系統(tǒng)資源包與系統(tǒng)版本相關(guān)度過高,當(dāng)自定義控件資源升級(jí)時(shí),系統(tǒng)會(huì)顯示錯(cuò)誤甚至無法開啟的缺陷。
[0005]本發(fā)明的技術(shù)方案如下:
一種自定義系統(tǒng)控件的擴(kuò)展方法,其中,方法包括:
A、將編寫自定義控件的源代碼生成自定義控件源碼包,將加入的相關(guān)資源生成自定義系統(tǒng)控件資源包,并分別進(jìn)行編譯;
B、系統(tǒng)分別加載自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0006]所述的自定義系統(tǒng)控件的擴(kuò)展方法,其中,所述步驟A具體包括:
Al、編寫自定義系統(tǒng)控件源代碼設(shè)置在自定義系統(tǒng)控件目錄下,編寫對(duì)應(yīng)的Android編譯配置文件;
A2、編寫自定義控件相關(guān)的資源文件,放置在自定義系統(tǒng)控件目錄下,將自定義系統(tǒng)控件使用的相關(guān)圖片資源放置在自定義系統(tǒng)控件目錄,編寫對(duì)應(yīng)的Android編譯配置文件,并為自定義控件系統(tǒng)包定義唯一控件包名稱,將編寫好的編譯配置文件放置在自定義系統(tǒng)控件目錄下;
A3、修改自定義系統(tǒng)控件源代碼中對(duì)于自定義系統(tǒng)控件相關(guān)資源的引用方式,修改為根據(jù)自定義系統(tǒng)控件資源包的包名進(jìn)行引用;
A4、編譯生成的自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0007]所述的自定義系統(tǒng)控件的擴(kuò)展方法,其中,所述步驟B具體包括:
B1、自定義系統(tǒng)控件源碼包在開機(jī)初始化時(shí)進(jìn)行加載;
B2、啟動(dòng)Android平臺(tái)的Java虛擬機(jī),初始化預(yù)加載自定義系統(tǒng)控件資源包。
[0008]所述的自定義系統(tǒng)控件的擴(kuò)展方法,其中,所述步驟A2之前還包括具體包括: A21、修改系統(tǒng)環(huán)境中的Android編譯配置文件;
A22、修改編譯工具,當(dāng)編譯自定義系統(tǒng)控件資源時(shí),為自定義系統(tǒng)控件資源包反向分配資源包id。
[0009]所述的自定義系統(tǒng)控件的擴(kuò)展方法,其中,所述步驟BI具體包括:
B11、重新指定自定義系統(tǒng)控件的資源包的加載路徑,設(shè)置默認(rèn)路徑為系統(tǒng)路徑、可選路徑為其它路徑;
B12、系統(tǒng)初始化時(shí),根據(jù)動(dòng)態(tài)選擇的路徑進(jìn)行加載,若動(dòng)態(tài)選擇路徑下無自定義系統(tǒng)資源包則加載系統(tǒng)路徑下的自定義資源包。
[0010]一種自定義系統(tǒng)控件的擴(kuò)展系統(tǒng),其中,系統(tǒng)包括:
資源包生成與編譯模塊,用于將編寫自定義控件的源代碼生成自定義控件源碼包,將加入的相關(guān)資源生成自定義系統(tǒng)控件資源包,并分別進(jìn)行編譯;
加載模塊,用于系統(tǒng)分別加載自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0011]所述的自定義系統(tǒng)控件的擴(kuò)展系統(tǒng),其中,所述資源包生成與編譯模塊具體包括:
自定義控件源碼生成單元,用于編寫自定義系統(tǒng)控件源代碼設(shè)置在自定義系統(tǒng)控件目錄下,編寫對(duì)應(yīng)的Android編譯配置文件;
視圖資源包生成單元,用于編寫自定義控件相關(guān)的資源文件,放置在自定義系統(tǒng)控件目錄下,將自定義系統(tǒng)控件使用的相關(guān)圖片資源放置在自定義系統(tǒng)控件目錄,編寫對(duì)應(yīng)的Android編譯配置文件,并為自定義控件系統(tǒng)包定義唯一控件包名稱,將編寫好的編譯配置文件放置在自定義系統(tǒng)控件目錄下;
引用方式修改單元,用于修改自定義系統(tǒng)控件源代碼中對(duì)于自定義系統(tǒng)控件相關(guān)資源的引用方式,修改為根據(jù)自定義系統(tǒng)控件資源包的包名進(jìn)行引用;
編譯單元,用于編譯生成的自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0012]所述的自定義系統(tǒng)控件的擴(kuò)展系統(tǒng),其中,所述加載模塊具體包括:
加載單元,用于自定義系統(tǒng)控件源碼包在開機(jī)初始化時(shí)進(jìn)行加載;
初始化單元,用于啟動(dòng)Android平臺(tái)的Java虛擬機(jī),初始化預(yù)加載自定義系統(tǒng)控件資源包。
[0013]所述的自定義系統(tǒng)控件的擴(kuò)展系統(tǒng),其中,所述資源包生成與編譯模塊還包括:
編譯配置文件修改單元,用于修改系統(tǒng)環(huán)境中的Android編譯配置文件;
資源包id分配單元,用于修改編譯工具,當(dāng)編譯自定義系統(tǒng)控件資源時(shí),為自定義系統(tǒng)控件資源包反向分配資源包id。
[0014]所述的自定義系統(tǒng)控件的擴(kuò)展系統(tǒng),其中,所述加載單元具體包括:
路徑設(shè)置模塊,用于重新指定自定義系統(tǒng)控件的資源包的加載路徑,設(shè)置默認(rèn)路徑為系統(tǒng)路徑、可選路徑為其它路徑;
路徑選擇與加載單元,用于系統(tǒng)初始化時(shí),根據(jù)動(dòng)態(tài)選擇的路徑進(jìn)行加載,若動(dòng)態(tài)選擇路徑下無自定義系統(tǒng)資源包則加載系統(tǒng)路徑下的自定義資源包。
[0015]有益效果:發(fā)明可將自定義系統(tǒng)控件資源獨(dú)立打包,減少與系統(tǒng)資源的偶合度,便于動(dòng)態(tài)實(shí)現(xiàn)自定義系統(tǒng)控件資源包的效果替換;降低維護(hù)成本,提供開發(fā)效率。
【附圖說明】
[0016]圖1為本發(fā)明的一種自定義系統(tǒng)控件的擴(kuò)展方法的較佳實(shí)施例的流程圖。
[0017]圖2為本發(fā)明的一種自定義系統(tǒng)控件的擴(kuò)展系統(tǒng)的較佳實(shí)施例的功能原理框圖。
【具體實(shí)施方式】
[0018]為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]本發(fā)明提供了一種自定義系統(tǒng)控件的擴(kuò)展方法的較佳實(shí)施例的流程圖,如圖1所示,所述方法包括:
步驟S100、將編寫自定義控件的源代碼生成自定義控件源碼包,將加入的相關(guān)資源生成自定義系統(tǒng)控件資源包,并分別進(jìn)行編譯。
[0020]具體實(shí)施時(shí),自定義控件是已編譯的服務(wù)器端控件,它將用戶界面和其他功能都封裝起來到可復(fù)用的包中。程序員編寫自定義控件的源代碼,將編寫自定義控件的源代碼打包生成自定義控件源碼包,而資源文件如圖片資源文件的相關(guān)資源打包生成自定義系統(tǒng)控件資源包,同時(shí)分別進(jìn)行編譯。
[0021]步驟S200、系統(tǒng)分別加載自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0022]具體實(shí)施時(shí),系統(tǒng)獲取自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包的加載路徑。系統(tǒng)在初始化時(shí),分別加載自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包,從而實(shí)現(xiàn)自定義系統(tǒng)控件源碼包與原系統(tǒng)的分離。而自定義系統(tǒng)控件源碼包發(fā)生變化時(shí),系統(tǒng)仍然可以正常工作。
[0023]進(jìn)一步的,所述步驟SlOO具體包括:
步驟S101、編寫自定義系統(tǒng)控件源代碼設(shè)置在自定義系統(tǒng)控件目錄下,編寫對(duì)應(yīng)的Android編譯配置文件;
步驟S102、編寫自定義控件相關(guān)的資源文件,放置在自定義系統(tǒng)控件目錄下,將自定義系統(tǒng)控件使用的相關(guān)圖片資源放置在自定義系統(tǒng)控件目錄,編寫對(duì)應(yīng)的Android編譯配置文件,并為自定義控件系統(tǒng)包定義唯一控件包名稱,將編寫好的編譯配置文件放置在自定義系統(tǒng)控件目錄下;
步驟S103、修改自定義系統(tǒng)控件源代碼中對(duì)于自定義系統(tǒng)控件相關(guān)資源的引用方式,修改為根據(jù)自定義系統(tǒng)控件資源包的包名進(jìn)行引用;
步驟S104、編譯生成的自定義系統(tǒng)控件源碼包及自定義系統(tǒng)控件資源包。
[0024]具體實(shí)施時(shí),所述步驟SlOl中,編寫自定義系統(tǒng)控件源代碼,置在自定義系統(tǒng)控件目錄下,編寫對(duì)應(yīng)的Android編譯配置文件,備用。
[0025]所述步驟S102具體為:編寫自定義控件相關(guān)的資源文件,放置在自定義系統(tǒng)控件目錄下;將自定義系統(tǒng)控件使用的相關(guān)圖片資源也放置在自定義系統(tǒng)控件目錄下;編寫對(duì)應(yīng)的Android編譯配置文件,自定義系統(tǒng)控件資源包依賴的AndroidManifest.xml,其中AndroidManifest.xml為自定義系統(tǒng)控件資源的資源包唯一"性控件包名稱,將文件放置在自定義系統(tǒng)控件目錄下。
[0026]進(jìn)一步的實(shí)施例中,所述步驟S102之前還包括:
步驟S121、修改系統(tǒng)環(huán)境中的Android編譯配置文件; 步驟S122、修改編譯工具,當(dāng)編譯自定義系統(tǒng)控件資源時(shí),為自定義系統(tǒng)控件資源包反向分配資源包id。
[0027]具體實(shí)施時(shí),修改系統(tǒng)環(huán)境中的android編譯配置文件,使得自定義系統(tǒng)控件擁有自己的配置項(xiàng)供其它相關(guān)android編譯配置文件使用。
[0028]所述步驟S122中具體包括修改AAPT資源編譯工具。
[0029]自定義系統(tǒng)控件資源包中編寫的AndroidManifest.xml中定義了新的自定義系統(tǒng)資源的資源包名稱,為了將該名稱區(qū)別于其它資源包,需要分配新的資源包id作為自定義系統(tǒng)控件資源包的包id。其中,系統(tǒng)資源的資源包id是0x01,Android應(yīng)用的資源包id是0x7f屬于固定資源包id,不能占用。新定義的自定義系統(tǒng)控件資源的資源包id需為唯一標(biāo)識(shí)符id,不能與其它任何資源包id重復(fù),也不得搶占其它已有資源包id,否則會(huì)引起系統(tǒng)崩潰。本案根據(jù)android系統(tǒng)之特性,系統(tǒng)相關(guān)資源包id的增加方式為正向累加方式。固自定義系統(tǒng)控件資源包id取值自最大值反向累減方式,遇到已占用資源包id則跳過該值并取值下一個(gè)。
[0030]為區(qū)別于系統(tǒng)資源包id的正向取值,新增加自定義系統(tǒng)控件的AAPT編譯選項(xiàng),添加到自定義系統(tǒng)資源包目錄下的編寫對(duì)應(yīng)的Android編譯配置文件中。AAPT編譯資源時(shí),遇到自定義系統(tǒng)控件資源時(shí),則會(huì)為自定義系統(tǒng)控件資源包反向分配資源包id。
[0031]進(jìn)一步的
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黄冈市| 揭东县| 梁平县| 定襄县| 东乡县| 秦皇岛市| 临朐县| 盘锦市| 淮阳县| 高州市| 犍为县| 昭苏县| 盐边县| 丹棱县| 石河子市| 休宁县| 孝义市| 澜沧| 祁阳县| 平乐县| 乌海市| 达拉特旗| 抚顺县| 万山特区| 哈密市| 滕州市| 称多县| 化德县| 土默特左旗| 西安市| 河北省| 宁安市| 肇州县| 皋兰县| 城固县| 遂溪县| 麻城市| 嘉鱼县| 嘉鱼县| 平原县| 南岸区|