[發明專利]一種自定義系統控件的擴展方法及系統在審
| 申請號: | 201510667777.8 | 申請日: | 2015-10-16 |
| 公開(公告)號: | CN105335206A | 公開(公告)日: | 2016-02-17 |
| 發明(設計)人: | 李貞貞 | 申請(專利權)人: | TCL集團股份有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45;G06F9/455 |
| 代理公司: | 深圳市君勝知識產權代理事務所 44268 | 代理人: | 王永文;劉文求 |
| 地址: | 516006 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 自定義 系統 控件 擴展 方法 | ||
技術領域
本發明涉及Android自定義控件開發技術領域,尤其涉及一種自定義系統控件的擴展方法及系統。
背景技術
Android作為最主流的操作系統之一,為了爭奪一席之地,各大廠商在UI(UserInterface,用戶界面)風格上下足功夫。為了兼容又區別于系統原生控件,不可避免的會訂制自有風格的系統控件。原有的自定義系統控件是以增量的方式打包到系統控件資源包中去,使得自定義控件的資源與原生系統資源耦合度過高。因系統資源包與系統版本相關度過高,稍有不對應即可引起系統顯示錯誤甚至無法開啟等嚴重問題。如果要想要替換自定義控件的風格,只能采用系統升級,替換整個系統來實現。
因此,現有技術還有待于改進和發展。
發明內容
鑒于現有技術的不足,本發明目的在于提供一種自定義系統控件的擴展方法及系統,旨在解決現有技術中系統資源包與系統版本相關度過高,當自定義控件資源升級時,系統會顯示錯誤甚至無法開啟的缺陷。
本發明的技術方案如下:
一種自定義系統控件的擴展方法,其中,方法包括:
A、將編寫自定義控件的源代碼生成自定義控件源碼包,將加入的相關資源生成自定義系統控件資源包,并分別進行編譯;
B、系統分別加載自定義系統控件源碼包及自定義系統控件資源包。
所述的自定義系統控件的擴展方法,其中,所述步驟A具體包括:
A1、編寫自定義系統控件源代碼設置在自定義系統控件目錄下,編寫對應的Android編譯配置文件;
A2、編寫自定義控件相關的資源文件,放置在自定義系統控件目錄下,將自定義系統控件使用的相關圖片資源放置在自定義系統控件目錄,編寫對應的Android編譯配置文件,并為自定義控件系統包定義唯一控件包名稱,將編寫好的編譯配置文件放置在自定義系統控件目錄下;
A3、修改自定義系統控件源代碼中對于自定義系統控件相關資源的引用方式,修改為根據自定義系統控件資源包的包名進行引用;
A4、編譯生成的自定義系統控件源碼包及自定義系統控件資源包。
所述的自定義系統控件的擴展方法,其中,所述步驟B具體包括:
B1、自定義系統控件源碼包在開機初始化時進行加載;
B2、啟動Android平臺的Java虛擬機,初始化預加載自定義系統控件資源包。
所述的自定義系統控件的擴展方法,其中,所述步驟A2之前還包括具體包括:
A21、修改系統環境中的Android編譯配置文件;
A22、修改編譯工具,當編譯自定義系統控件資源時,為自定義系統控件資源包反向分配資源包id。
所述的自定義系統控件的擴展方法,其中,所述步驟B1具體包括:
B11、重新指定自定義系統控件的資源包的加載路徑,設置默認路徑為系統路徑、可選路徑為其它路徑;
B12、系統初始化時,根據動態選擇的路徑進行加載,若動態選擇路徑下無自定義系統資源包則加載系統路徑下的自定義資源包。
一種自定義系統控件的擴展系統,其中,系統包括:
資源包生成與編譯模塊,用于將編寫自定義控件的源代碼生成自定義控件源碼包,將加入的相關資源生成自定義系統控件資源包,并分別進行編譯;
加載模塊,用于系統分別加載自定義系統控件源碼包及自定義系統控件資源包。
所述的自定義系統控件的擴展系統,其中,所述資源包生成與編譯模塊具體包括:
自定義控件源碼生成單元,用于編寫自定義系統控件源代碼設置在自定義系統控件目錄下,編寫對應的Android編譯配置文件;
視圖資源包生成單元,用于編寫自定義控件相關的資源文件,放置在自定義系統控件目錄下,將自定義系統控件使用的相關圖片資源放置在自定義系統控件目錄,編寫對應的Android編譯配置文件,并為自定義控件系統包定義唯一控件包名稱,將編寫好的編譯配置文件放置在自定義系統控件目錄下;
引用方式修改單元,用于修改自定義系統控件源代碼中對于自定義系統控件相關資源的引用方式,修改為根據自定義系統控件資源包的包名進行引用;
編譯單元,用于編譯生成的自定義系統控件源碼包及自定義系統控件資源包。
所述的自定義系統控件的擴展系統,其中,所述加載模塊具體包括:
加載單元,用于自定義系統控件源碼包在開機初始化時進行加載;
初始化單元,用于啟動Android平臺的Java虛擬機,初始化預加載自定義系統控件資源包。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于TCL集團股份有限公司,未經TCL集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510667777.8/2.html,轉載請聲明來源鉆瓜專利網。





