編輯:關於Android編程
Listpackages = getPackageManager().getInstalledPackages(0); public PkgSizeObserver pkgsizeobserver = new PkgSizeObserver(); try { Method method; method = this.getPackageManager().getClass().getMethod( getPackageSizeInfo, new Class[] { String.class, IPackageStatsObserver.class }); method.invoke(this.getPackageManager(), packageInfo.packageName, pkgsizeobserver); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } synchronized (pkgsizeobserver) { try { pkgsizeobserver.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } totalApp = pkgsizeobserver.cachesize + pkgsizeobserver.codesize + pkgsizeobserver.datasize;}
PkgSizeObserver.class
//aidl文件形成的Bindler機制服務類 public class PkgSizeObserver extends IPackageStatsObserver.Stub { public long cachesize = 0; public long datasize = 0; public long codesize = 0; /*** * 回調函數, * * @param pStatus * ,返回數據封裝在PackageStats對象中 * @param succeeded * 代表回調成功 */ @Override public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException { // TODO Auto-generated method stub if(succeeded) { cachesize = pStats.cacheSize; // 緩存大小 datasize = pStats.dataSize; // 數據大小 codesize = pStats.codeSize; // 應用程序大小 synchronized (this) { this.notifyAll(); } } } }
Android提供了實現按照秒計時的API,今天就是用這個API實現簡單的倒計時。來個布局:<?xml version=1.0 encoding=utf-8
在眾多的社交類軟件中,朋友圈是必不可少的,可以與好友、同學等分享自己的日常和有意思的事情,在開發社交類App時,朋友圈發表的內容你不可能讓他全部顯示,全部顯示的話用戶體驗
前言Android自定義控件經常會用到Canvas繪制2D圖形,在優化自己自定義控件技能之前,必須熟練掌握Canvas繪圖機制。本文從以下三個方面對Canvas繪圖機制進
在Eclipse完成上一個APP,決定轉到Studio2.0來。 這次主要進行的設置是 1、代碼區背景顏色的更改 2、注釋、代碼自動補全快捷鍵設定 3、工具欄自定