Android:實現隱藏應用功能__Android

來源:互聯網
上載者:User
隱藏應用功能的需求

在Android的裝置上的應用分為系統應用和使用者自己安裝的應用。其中系統應用是無法刪除的,但是部分使用者不用系統應用又無法刪除,“眼不見為淨”,就可以使用隱藏功能將其隱藏起來。有的部分應用可能不想被其它人使用(想你藉手機玩的人),就可以使用隱藏功能將其隱藏起來。

隱藏應用功能涉及的知識

1.GridView

GridView是Android中的資料顯示控制項之一。GridView的視圖相片順序與矩陣類似,當螢幕上有很多元素(文字、圖片或其他元素)需要顯示時,可以使用GirdView。既然有多個元素要顯示,就需要使用BaseAdapter來儲存這些元素。使用者可能會選擇其中一個元素進行操作,這就需要設定事件監聽setOnItemClickListener來捕捉和處理事件。

2.資料持久化

1) 使用Preferences儲存應用程式資料

Preferences是一種輕量級的資料存放區機制,他將一些簡單的資料類型的資料,包括boolean類型,int類型,float類型,long類型 以及String類型的資料,以索引值對的形式儲存在應用程式的私人Preferences目錄(/data/data/<包名>/shared_prefs/)中,這種Preferences機制廣泛應用於儲存應用程式中的配置資訊。

2)檔案I/O

Android平台主要通過java.io.FileInputStream和java.io.FileOutputStream這兩個類來實現對檔案的讀寫,java.io.File類則用來構造一個具體指向某個檔案或者檔案夾的對象。

需要注意的是:每個應用程式所在的包都會有一個私人的儲存資料的目錄,只有屬於這個包中的應用程式才有寫入的許可權,每個包中應用程式的私人資料目錄位於 Android系統中的絕對路徑/data/data/<package>/目錄中,除了私人目錄,應用程式還擁有/sdcard目錄即 Android裝置上的SD卡的寫入許可權。檔案系統中其他的系統目錄,第三方應用程式都是不可寫的。

3)SQLite資料庫

在實際的應用程式編寫中,為了更好的對SQlite資料的建立,開啟,更改進行管理,往往會編寫一個SQLiteOpenHelper的資料庫輔助類來協助我們建立和開啟資料庫。

利用SQLiteDatabase對象操作資料庫,他除了提供execSQL()和rawQuery()這種直接對SQL語句解析的方法外,還針對insert,upate,delete,select等操作專門定義了相關的方法。

Cursor的使用:查詢資料庫均會把查詢的結果封裝在一個Cursor的子類對象中返回。

4)ContentProvider

當資料需要在應用程式之間共用時,我們就可以用ContentProvider為資料庫定義一個URI。之後其他應用程式對資料進行查詢或者修改時候,只需要從當前內容物件獲得一個ContentResolver傳入相應的URI就可以了。

隱藏應用功能詳細設計

隱藏應用主要涉及一下四個資料類型

名稱

類型

作用

mApps

List

存放裝置上所有安裝應用的包名

mDisApp

List

存放顯示的應用的包名

hm

HashMap

存放包名與Flag的索引值對

DB

SQLite資料庫

存放使用者關於隱藏的設定


使用者在操作的過程中可能安裝或者卸載應用,所以要考慮hm與DB中資料的一致性,保證兩者的一致性是在Activity的生命週期中的onStop()和onCreate()中完成的,兩者的流程圖如下所示:




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.