(9)launcher3 之 外部 更換主題Theme APP demo 實現原理以及demo

來源:互聯網
上載者:User

標籤:檔案   zip   許可權   view   hvm   term   res   檔案夾   這一   

先說下我的思路:

luancher3裡面更換表徵圖的邏輯例如以下:

先從APP資源套件裡查詢--資料庫查詢--其它地方查詢ICON

因此,我們僅僅須要把 從資料庫擷取ICON 代碼提前到  從APP資源套件提取就可以。


再來我們外部APP僅僅需對Launcher.db的 ICON欄位進行 加入表徵圖。就可以。

再通知案頭去更新表徵圖。就可以完畢整個案頭的 表徵圖自己主動更換的效果。


這樣做的長處:

代碼改動量少,主題的APP無須跟Launcher3這個案頭APP有不論什麼關聯。相當於外部應用。

(前面第8我已經略微簡介了下launcher3的內容提供者,須要寫入2個許可權)


詳細思路比較簡單清晰。而且實現了。

有須要的能夠留言,我能夠給demo哈。



讀取button:

通過內容提供者對Launcher.db資料庫進行讀取資訊並解析成List<shotCupInfo>對象,方便後面進行遍曆更新表徵圖到資料庫。


更新button:點擊後。將依據前面擷取到的APP的ID進行指定更新Launcher.db的 ICON資料庫。在這裡我們會將SD卡裡面ICON轉為位元組數組,進行儲存到資料庫。


應用主題:通知案頭去重新整理。(這一步事實上不用做的,由於當你進行第二步,更新操作的時候,訪問資料庫時候,案頭的資料庫注冊了觀察者監聽資料庫發生改變。則進行workspace表徵圖的更新。)




主題來源:MIUI佈景主題資源包解壓而來:

資源結構檔案夾例如以下

手機SD卡根資料夾:_theme------------------以下包括各個ZIP壓縮格式的主題包。

當我們啟動主題APP的時候,會自己主動檢測_theme該檔案夾下ZIP檔案,假設有存在就進行ZIP解壓,並刪除原來的ZIP檔案。在這裡我們進行了資源的解壓。

解壓檔案夾例如以下:

icon:放表徵圖資源:檔案夾結構為icon_res_drawble-xhdmi

wallpaper:放的是壁紙2張。一張為鎖屏,一張為預設主介面壁紙

preview:放的主題的。便於主題市場,進行擷取資源顯示給使用者看。


(以上主題包資源均來自MIUI主題的檔案夾結構。)





demo點擊應用主題後:更換表徵圖示範:

因為僅僅是做測試,全部表徵圖也僅僅是隨便替換幾個而已。功能實現了。後面的事情就好了。

修修補補的事情了。





(9)launcher3 之 外部 更換主題Theme APP demo 實現原理以及demo

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.