freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

信息同步系統(tǒng)的設計與實現(xiàn)(編輯修改稿)

2025-02-12 07:49 本頁面
 

【文章內容簡介】 + (getApplicationContext(), (packname)))。 // 將child添加到ll_clean控件上。 (child)。 break。 } } 。 }。 7) 掃描出帶有緩存的應用程序 private void scanPackages() { // 開啟一個異步任務掃描帶有緩存的應用程序 new AsyncTaskVoid, Integer, Void() { // 存儲手機中所有已安裝的應用程序的包信息 ListPackageInfo packinfos。 @Override protected Void doInBackground(Void... params) { int i = 0。 for (PackageInfo info : packinfos) { // 獲取到應用程序的包名信息 String packname = 。 getSize(pm, packname)。 i++。 try { (100)。 } catch (InterruptedException e) { // TODO Autogenerated catch block ()。 } publishProgress(i)。 } return null。 } @Override protected void onPreExecute() { cacheinfo = new HashMapString, Long()。 packinfos = (0)。 (())。 (開始掃描...)。 ()。 } @Override protected void onPostExecute(Void result) { (掃描完畢... + 發(fā)現(xiàn)有 + () + 個緩存信息)。 (result)。 } @Override protected void onProgressUpdate(Integer... values) { (values[0])。 (正在掃描 + values[0] + 條目)。 (values)。 } }.execute()。 } 8)通過反射的方式調用packageManager中的方法,這里每次掃描到一個項目就以消息的形式通知主線程,添加到結果列表里去。獲取緩存大小調用了PackageManager的隱藏函數(shù)getPackageSizeInfo: private void getSize(PackageManager pm, String packname) { try { // 獲取到getPackageSizeInfo。調用getPackageSizeInfo方法需要在清單文件中配置權限信息:usespermission // android:name=/ Method method = ().getDeclaredMethod(getPackageSizeInfo, new Class[]{, })。 // 執(zhí)行getPackageSizeInfo方法 (pm, new Object[]{packname, new MyObersver(packname)})。 } catch (Exception e) { ()。 } } 9) ,該接口通過aidl調用。 private class MyObersver extends { private String packname。 public MyObersver(String packname) { = packname。 } @Override public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException { // 以下是根據(jù)ApplicationsState代碼中的SizeInfo對象中定義的 // 緩存大小 long cacheSize = 。 // 代碼大小 long codeSize = 。 // 數(shù)據(jù)的大小 long dataSize = 。 // 判斷這個包名對應的應用程序是否有緩存,如果有,則存入到集合中。 if (cacheSize 0) { Message msg = ()。 = ADD_ONE_RESULT。 = packname。 (msg)。 (packname, cacheSize)。 } } } 10)獲取到應用程序的名稱 private String getApplicationName(String packname) { try { PackageInfo packinfo = (packname, 0)。 return (pm).toString()。 } catch (Exception e) { ()。 return packname。 } } 11) 獲取到應用程序的圖標 private Drawable getApplicationIcon(String packname) { try { PackageInfo packinfo = (packname, 0)。 return (pm)。 } catch (Exception e) { ()。 return getResources().getDrawable()。 } }} 清單文件需要添加權限:usespermission android:name= / 系統(tǒng)優(yōu)化處理流程 由于影響系統(tǒng)運行速度的主要原因是手機中的緩存占用了大量資源,因此本模塊主要是對手機緩存的清理,軟件首先掃描手機中所有的安裝包信息,并根據(jù)包名獲取每個應用的緩存信息,當掃描的緩存后提示用戶進行清理,其處理流程如圖開始系統(tǒng)優(yōu)化讀取安裝包信息讀取應用緩存信息是否清理是清理操作結束否 系統(tǒng)優(yōu)化處理流程圖 子功能模塊的測試1) 進程管理測試圖 4 模塊二 高級工具模塊 高級工具包含歸屬地查詢、來電歸屬地服務、程序鎖三個子功能。開始高級工具號碼歸屬地查詢來電歸屬地查詢程序鎖輸入待查號碼開啟服務登錄顯示查詢結果設置顯示樣式和位置選著要加鎖的程序關閉程序鎖結束 高級工具處理的流程圖 ①公共類AppLockDao:用于創(chuàng)建并打開程序鎖的數(shù)據(jù)庫的類AppLockProvider:用于獲取程序鎖的信息的類AddressService:獲取號碼歸屬地信息的類WatchDogService:監(jiān)控運行進程的類,若發(fā)現(xiàn)當前運行進程為加鎖程序,則彈出輸入密碼界面②界面類AppLockActivity:程序鎖的界面類AToolsActivity:高級工具的主界面類LockScreenActivity:加鎖程序輸入密碼的界面類QueryNumberActivity:查詢號碼歸屬地的界面類 高級工具頁面設計1)創(chuàng)建android ponent:AToolsActivity,并勾選layout文件的創(chuàng)建選項:。更新MainActivity的item點擊事件處理代碼,點擊“高級工具”項目時打開對應的頁面:case 7: //高級工具 intent = new Intent(, )。 startActivity(intent)。AToolsActivity的實現(xiàn)代碼:1 號碼歸屬地數(shù)據(jù)庫文件復制成功則顯示“號碼歸屬查詢”頁面,否則顯示錯誤信息因為資源文件較大,復制需要使用線程,因此這里采用消息接受處理結果。 private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { (msg)。 switch () { case COPY_SUCCESS: //復制成功,進度條關閉,加載查詢頁面 ()。 loadQueryNumberUI()。 break。 case COPY_FAILED: //復制失敗,進度條關閉,顯示錯誤信息 ()。 (,復制數(shù)據(jù)失敗,0).show()。 break。 } } }。3) 號碼歸屬地查詢單擊事件 (new () { @Override public void onClick(View view) { // final File file = new File(getFilesDir(), )。 if (() amp。amp。 () 0) { //簡單判斷文件合法性,如果存在且不為空則認為數(shù)據(jù)庫存在,加載號碼查詢頁面 loadQueryNumberUI()。 }else { //文件不存在,復制過去 pd = new ProgressDialog()。 //水平進度條 ()。 ()。
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1