本發(fā)明涉及移動終端領域,尤其涉及一種定制移動終端桌面快捷圖標的方法及系統(tǒng)。
背景技術:
現(xiàn)如今越來越多的用戶在使用android系統(tǒng)的電子產(chǎn)品如手機、平板電腦等移動設備,為了使用戶能快捷的找到某些應用,通常需要在設備出廠軟件的桌面上預置一些應用程序快捷圖標。一般來說,手機廠商基本都有多個運營商客戶,不同的運營商客戶有不同的預置圖標需求,這就要求手機廠商對不同的客戶定制不同的軟件版本,預置相應的應用程序快捷圖標。
手機設備廠商出廠軟件時,由于不同運營商客戶預置圖標需求不同,同一運營商針對不同國家地區(qū)的出廠軟件需求也不同,當有大量軟件版本需要定制時,手機設備廠商會重復性的做一件事情,即按照需求預置應用程序的快捷圖標。
要在出廠軟件的桌面上預置應用程序的快捷圖標,需要獲取該應用程序的包名和類名,并將該包名和類名寫入一個指定的xml文件中,才能實現(xiàn)。其中,應用程序的包名體現(xiàn)該應用程序的查找路徑,應用程序的類名體現(xiàn)該應用程序被點擊時的運行首頁?,F(xiàn)有的獲取應用程序的包名和類名的方式有兩種,一種是通過反編譯的方法獲取應用程序的包名和類名,另一種是通過采用打印log(日志)的方法來獲取應用程序的包名和類名。以上兩種方法都需要Android專業(yè)人員使用專業(yè)的開發(fā)工具進行獲取,獲取后將對應的包名和類名寫入指定xml文件中,由于一般手機設備廠商的定制專員都是非Android開發(fā)人員,對非Android開發(fā)人員來說,反編譯和打印log(日志)都非常的復雜,且操作配置相當繁瑣。
因此,現(xiàn)有技術還有待于改進和發(fā)展。
技術實現(xiàn)要素:
鑒于上述現(xiàn)有技術的不足,本發(fā)明的目的在于提供一種定制移動終端桌面快捷圖標的方法及系統(tǒng),旨在解決現(xiàn)有的桌面快捷圖標定制過程復雜、定制效率低的問題。
本發(fā)明的技術方案如下:
一種定制移動終端桌面快捷圖標的方法,其中,包括步驟:
A、對選定apk文件中的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名;
B、通過Web應用系統(tǒng)生成定制文件xml并將包名和類名寫入到定制文件xml中,編譯所述定制文件xml,生成桌面快捷圖標。
較佳地,所述的定制移動終端桌面快捷圖標的方法,其中,所述步驟A具體包括:
A1、預先選定apk文件;
A2、采用SAX解析器對所述選定apk文件中的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名。
較佳地,所述的定制移動終端桌面快捷圖標的方法,其中,所述步驟B具體包括:
B1、通過Web應用系統(tǒng)模擬桌面圖標排列方式,選擇應用程序并將其放置到相應的模擬桌面格子中,將所述應用程序的包名、類名以及圖標參數(shù)寫入到定制文件xml中;
B2、編譯所述定制文件xml,生成桌面快捷圖標。
較佳地,所述的定制移動終端桌面快捷圖標的方法,其中,所述步驟B1中應用程序的圖標參數(shù)具體包括:圖標ID、圖標父類容器ID、圖標icon、圖標橫向及豎向所占格子大小、圖標標題、圖標鏈接和圖標坐標。
一種定制移動終端桌面快捷圖標的系統(tǒng),其中,包括:
解析模塊,對選定apk文件中的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名;
圖標生成模塊,用于通過Web應用系統(tǒng)生成定制文件xml并將包名和類名寫入到定制文件xml中,編譯所述定制文件xml,生成桌面快捷圖標。
較佳地,所述的定制移動終端桌面快捷圖標的系統(tǒng),其中,所述解析模塊具體包括:
選定單元,用于預先選定apk文件;
解析單元,用于采用SAX解析器對所述選定apk文件的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名。
較佳地,所述的定制移動終端桌面快捷圖標的系統(tǒng),其中,所述圖標模塊具體包括:
寫入單元,用于通過Web應用系統(tǒng)模擬桌面圖標排列方式,選擇應用程序并將其放置到相應的模擬桌面格子中,將所述應用程序的包名、類名以及圖標參數(shù)寫入到定制文件xml中;
圖標生成單元,用于編譯所述定制文件xml,生成桌面快捷圖標。
有益效果:本發(fā)明通過對選定apk文件中的原始AndroidManifest.xml進行解析并快速獲取應用程序的包名和類名,然后構(gòu)建Web應用系統(tǒng)生成定制文件xml,最后根據(jù)所述定制文件xml變異軟件生成桌面快捷圖標。通過本發(fā)明能明顯簡化桌面快捷圖標的定制步驟,從而有效提高桌面快捷圖標的定制化工作效率。
附圖說明
圖1為本發(fā)明一種定制移動終端桌面快捷圖標的方法較佳實施例的流程圖。
圖2為本發(fā)明Web應用系統(tǒng)端提供的可視化操作界面定制桌面圖標較佳實施例的示意圖。
圖3為本發(fā)明一種定制移動終端桌面快捷圖標的系統(tǒng)較佳實施例的結(jié)構(gòu)框圖。
具體實施方式
本發(fā)明提供一種定制移動終端桌面快捷圖標的方法及系統(tǒng),為使本發(fā)明的目的、技術方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,圖1為本發(fā)明一種定制移動終端桌面快捷圖標的方法較佳實施例的流程圖,如圖所示,其包括步驟:
S1、對選定apk文件中的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名;
S2、通過Web應用系統(tǒng)生成定制文件xml并將包名和類名寫入到定制文件xml中,編譯所述定制文件xml,生成桌面快捷圖標。
本發(fā)明提供的一種定制移動終端桌面快捷圖標的方法,充分利用xml文件的解析和構(gòu)造技術,構(gòu)建一個web應用系統(tǒng)來定制桌面應用程序的快捷圖標,從而簡化桌面快捷圖標的定制步驟,提高桌面快捷圖標的定制化工作效率。
本發(fā)明所述步驟S1具體包括:
S11、預先選定apk文件,即將所有待定制的應用程序桌面快捷圖標的android應用安裝包(apk)文件預先選定;
S12、采用SAX解析器對所述選定apk文件的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名。
在本發(fā)明中,所述AndroidManifest.xml是每個Android應用程序中的必備文件,它位于整個項目的根目錄,描述了package(安裝包)中暴露的組件(activities,services, 等等)以及各自的實現(xiàn)類、各種能被處理的數(shù)據(jù)和啟動位置。所述AndroidManifest.xml 除了能聲明程序中的Activities, ContentProviders, Services,和Intent Receivers,還能指定permissions(安全控制)和instrumentation(測試)。
進一步,本發(fā)明中xml(可擴展標記語言):標準通用標記語言的子集,是一種用于標記電子文件使其具有結(jié)構(gòu)性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等;它可以用來標記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標記語言進行定義的源語言; 它非常適合萬維網(wǎng)傳輸,提供統(tǒng)一的方法來描述和交換獨立于應用程序或供應商的結(jié)構(gòu)化數(shù)據(jù)。
較佳地,本發(fā)明采用SAX解析器其對所述選定apk文件的xml進行解析,具體地,SAX是一個解析速度快并且占用內(nèi)存少的xml解析器,非常適合用于Android等移動設備; SAX解析xml文件采用的是事件驅(qū)動,也就是說,它并不需要解析完整個文檔,在按內(nèi)容順序解析文檔的過程中,SAX會判斷當前讀到的字符是否合法xml語法中的某部分,如果符合就會觸發(fā)事件;所謂事件,其實就是一些回調(diào)(callback)方法,這些方法(事件)定義在ContentHandler接口。通過SAX解析器對所述選定apk文件的xml進行解析,可快速地獲取獲取應用程序的包名和類名,從而提高工作效率。
當然,本發(fā)明還可以采取其它的解析器對所述選定apk文件的xml進行解析,比如,采用DOM解析xml文件時,會將xml文件的所有內(nèi)容以對象樹方式存放在內(nèi)存中,然后允許使用DOM API遍歷xml樹、檢索所需的數(shù)據(jù);雖然,使用DOM操作xml的代碼看起來比較直觀,并且,在某些方面比基于SAX的實現(xiàn)更加簡單,但是,因為DOM需要將XML文件的所有內(nèi)容以對象樹方式存放在內(nèi)存中,所以內(nèi)存的消耗比較大,特別對于運行Android的移動設備來說,因為設備的資源比較寶貴,所以建議還是采用SAX來解析XML文件,當然,如果XML文件的內(nèi)容比較小采用DOM是可行的。
在本發(fā)明中,所述步驟S2具體包括:
B1、通過Web應用系統(tǒng)模擬桌面圖標排列方式,選擇應用程序并將其放置到相應的模擬桌面格子中,將所述應用程序的包名、類名以及圖標參數(shù)寫入到定制文件xml中;
B2、編譯所述定制文件xml,生成桌面快捷圖標。
本發(fā)明構(gòu)建的Web應用系統(tǒng)是一種可以通過Web訪問的應用程序,Web應用系統(tǒng)的一個最大的好處是用戶很容易的訪問應用程序,用戶只需要有瀏覽器即可,不需要再安裝其它軟件。
具體地,本發(fā)明在Web應用系統(tǒng)端提供一個可視化的操作界面定制桌面圖標,如圖2所示,圖中每一個格子模擬桌面系統(tǒng)的圖標,該圖模擬的是4*4的桌面圖標排列方式,單擊每一個格子可以跳轉(zhuǎn)到應用選擇界面,選擇相應的應用放到格子里,如圖的Google(x=0,y=3);圖中的LauncherScreenID表示正在定桌面第LauncherScreenID + 1屏的圖標,LauncherScreenID從0開始,LauncherScreenID=0表示定制的是桌面的第1屏圖標,LauncherScreenID=1表示正在定制桌面第2屏的圖標,以此類推。當定制專員把需要定制的格子都選擇好相應應用時,點擊Web應用系統(tǒng)的生成xml按鈕,便將剛剛的格子列表轉(zhuǎn)換為xml文件,從而將所述應用程序的包名、類名以及圖標參數(shù)寫入到定制文件xml中,定制專員通過簡單編譯所述定制文件xml,便可生成桌面快捷圖標。
較佳地,所述應用程序的圖標參數(shù)具體包括:圖標ID、圖標父類容器ID、圖標icon、圖標橫向及豎向所占格子大小、圖標標題、圖標鏈接和圖標坐標。
進一步,本發(fā)明通過所述Web應用系統(tǒng)生成定制文件xml的具體格式如下:
launcher:id 表示應用快捷圖標的ID;
launcher:className 應用快捷圖標的類名;
launcher:container 應用快捷圖標的父類容器ID;
launcher:icon 應用快捷圖標的icon;
launcher:packageName 應用快捷圖標的包名;
launcher:screen應用快捷圖標位于哪一屏,從0開始;
launcher:spanX 應用快捷圖標橫向所占大小,從0開始;
launcher:spanY 應用快捷圖標豎向所占大小,從0開始;
launcher:title 應用快捷圖標標題;
launcher:uri 應用快捷圖標鏈接;
launcher:x 應用快捷圖標位置x ,從0開始;
launcher:y 應用快捷圖標位置y,從0開始。
具體地,本發(fā)明根據(jù)如圖2所示的桌面快截圖標的排列方式生成的定制文件xml格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
<favorites
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launche
r3" >
<!-- screen [0] -->
<item
launcher:id=""
auncher:className="com.google.android.googlequicksearchbox.SearchActivity "
launcher:container=""
launcher:icon=""
launcher:packageName="com.google.android.googlequicksearchbox "
launcher:screen="0"
launcher:spanX="1"
launcher:spanY="1"
launcher:title="Google"
launcher:type="1"
launcher:uri=""
launcher:x="0"
launcher:y="3" />
上述代碼表明在定制桌面第一屏圖標,并且所述Google圖標位于桌面的坐標位置為(x=0,y=3)。
<!-- screen [0] -->
<item
launcher:id=""
launcher:className="com.vodafone.mCare.Main"
launcher:container=""
launcher:icon=""
launcher:packageName="com.vodafone.mCare"
launcher:screen="0"
launcher:spanX="1"
launcher:spanY="1"
launcher:title="Vodafone"
launcher:type="1"
launcher:uri=""
launcher:x="1"
launcher:y="3" />
上述代碼表明在定制桌面第一屏圖標,并且所述vodafone圖標位于桌面的坐標位置為(x=1,y=3)。
<!-- screen [0] -->
<item
launcher:id=""
launcher:className="com.android.vending.AssetBrowserActivity "
launcher:container=""
launcher:icon=""
launcher:packageName="com.android.vending"
launcher:screen="0"
launcher:spanX="1"
launcher:spanY="1"
launcher:title="Play Store"
launcher:type="1"
launcher:uri=""
launcher:x="3"
launcher:y="3" />
上述代碼表明在定制桌面第一屏圖標,并且所述Play Store圖標位于桌面的坐標位置為(x=3,y=3)。
</favorites>
基于上述方法,本發(fā)明還提供一種定制移動終端桌面快捷圖標的系統(tǒng),如圖3所示,其中,包括:
解析模塊100,對選定apk文件中的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名;
圖標生成模塊200,用于通過Web應用系統(tǒng)生成定制文件xml并將包名和類名寫入到定制文件xml中,編譯所述定制文件xml,生成桌面快捷圖標。
較佳地,所述的定制移動終端桌面快捷圖標的系統(tǒng),其中,所述解析模塊100具體包括:
選定單元,用于預先選定apk文件;
解析單元,用于采用SAX解析器對所述選定apk文件的原始AndroidManifest.xml進行解析,獲取應用程序的包名和類名。
較佳地,所述的定制移動終端桌面快捷圖標的系統(tǒng),其中,所述圖標模塊200具體包括:
寫入單元,用于通過Web應用系統(tǒng)模擬桌面圖標排列方式,選擇應用程序并將其放置到相應的模擬桌面格子中,將所述應用程序的包名、類名以及圖標參數(shù)寫入到定制文件xml中;
圖標生成單元,用于編譯所述定制文件xml,生成桌面快捷圖標。
綜上所述,本發(fā)明通過對選定apk文件中的原始AndroidManifest.xml進行解析并快速獲取應用程序的包名和類名,然后構(gòu)建Web應用系統(tǒng)生成定制文件xml,最后根據(jù)所述定制文件xml變異軟件生成桌面快捷圖標。通過本發(fā)明能明顯簡化桌面快捷圖標的定制步驟,從而有效提高桌面快捷圖標的定制化工作效率。
應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。