android項目實踐
“一鍵清理”是一個桌面圖標,點擊圖標後,顯示一個視圖,進行清理動畫,之後顯示清理了幾個進程,釋放了多少M內存,點擊“設置過濾名單”啓動另外一個Activity編輯過濾名單
“一鍵清理”是一個桌面圖標,點擊圖標後,顯示一個視圖,進行清理動畫,之後顯示清理了幾個進程,釋放了多少M內存,點擊“設置過濾名單”啓動另外一個Activity編輯過濾名單
android 技術總結
介紹如何使用源碼中的 (testkey:普通APK,默認情況下使用,platform:該APK完成一些系統的核心功能,經過對系統中存在的文件夾的訪問測試,這種方式編譯出來的APK所在進程的UID爲system,shared:該APK需要和home/contacts進程共享數據,media:該APK是media/download系統中的一環。)4種密鑰公鑰進行簽名。
介紹什麼是MVC以及MVC在SDK中的使用,擴展了ListView,adapter的簡單使用。
介紹什麼是反射機制,着重講述反射機制在android中的具體應用:1.通過反射技術可以訪問到其他包名下數據方法等,這些爲一些APK換皮膚提供了方便 2. 訪問android 隱藏的API (不消失的Toast)3. 修改某些“不可改” 的系統資源(快速滑塊)。
以班級學生簡單實體,介紹SQLite的增、刪、查、改等簡單使用,SQLite的詳細語法點擊這裏。
對於觸摸(Touch)觸發的事件,在Android中,事件主要包括點按(onClick)、長按(onLongClick)、拖拽(onDrag)、滑動(onScroll)等,點按又包括單擊和雙擊,另外還包括單指操作和多指操作。其中Touch的第一個狀態是 ACTION_DOWN, 表示按下了屏幕。之後,touch將會有後續事件,比如移動、擡起等,一個Action_DOWN, n個ACTION_MOVE, 1個ACTION_UP,就構成了Android中衆多的事件。文章中做出了詳細分析。
打開撥號,短信,設置,電量信息,壁紙,圖庫等系統程序。
詳細介紹standard、singleTop、singleTask、singleInstance4中LauncherMode的區別和用法
大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他們提供了圖形處理相關的: Canvas、ColorFilter、Point(點)和RetcF(矩形)等,還有一些動畫相關的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等,文章中都有詳細說明。
用代碼說明子線程與主線程的區別。
使用Handle、Thread、TimeTask、AlarmManager來進行任務延時。
安裝好應用後需要有一個Home應用程序來負責把它們在桌面上展示出來,在Android系統中,這個默認的Home應用程序就是Launcher了,本文將詳細分析Launcher應用程序的啓動過程。
迄今爲止是我看到最好的一片關於生命週期的文章了。
使用這個漏洞可以進行屏幕劫持,增加系統負荷,竊密等(demo)
文件讀寫操作的類,可以留做工具。
3種換皮膚的思路,可以適用市面上大多數產品的換皮膚工作。
Android系統爲我們提供了很多服務管理的類,包括ActivityManager、PowerManager(電源管理)、AudioManager(音頻管理)
等。除此之外,還提供了一個PackageManger管理類,它的主要職責是管理應用程序包。 通過它,我們就可以獲取應用程序信息。
17.SharedPreferences之你不知道的事一、SharedPreferences將數據文件保存在指定路徑上
二、SharedPreferences保存圖片
三、SharedPreferences保存對象
Android SDK只支持採用SAX技術讀取XML,SAX採用順序讀取的方式來處理XML文檔。這就要求在每讀取XML文檔的某個節點時會觸發相應的事件來處理這個節點。文章基於一個實例講述SAX的使用。
JSON是一種輕量級的數據交換格式,具有良好的可讀和便於快速編寫的特性,從而可以在不同平臺間進行數據交換,JSON可以將Java對象轉成json格式的字符串,可以將json字符串轉換成Java對象。比XML更輕量級,Json使用起來比較輕便和簡單。JSON數據格式,在Android中被廣泛運用於客戶端和服務器通信,在網絡數據傳輸與解析時非常方便。
一些可以複用的方法集合
總結:
如果時間自動同步選項未勾選,直接返回;
如果NITZ已同步且上次NITZ同步未超過24小時,則設置定時器24小時後再觸發同步,即廣播NetworkTimeUpdateService.ACTION_POLL;
如果NTP上次成功同步超過24小時或用戶勾選自動同步選項,則進行下面的NTP同步,否則同上設置定時器24小時後再觸發同步;
如果上次NTP成功同步超過24小時,則發起同步mTime.forceRefresh();
如果同步成功,獲取此刻NTP時間ntp=mTime.currentTimeMillis();
如果同步時間與當前本機時間誤差超過指定值閥值,則把ntp設置爲本機時間SystemClock.setCurrentTimeMillis(ntp)
android 與UI有關
一個上下左右都可以滑動的自定義ScrollView。
聊天軟件中表情發送功能,使用SpannableString+ImageSpan可以很容易實現、重寫ondraw方法、在xml中配置....
介紹ListView的常見用法,適合初學者。
介紹android:layout_weight、android:padding和android:layout_margin、android:gravity和android:layout_gravity...對比,常見誤區
android 社區整理的有關動畫的知識,值得收藏....
一些帶搜索功能的app,在搜索欄下面一般會提供一些關鍵字供用戶選擇。
也可以根據用戶輸入的文字,在下一次使用的時候該文字出現在常用關鍵字裏面,只要輕輕一點就可以搜索了,無需再次輸入。
關鍵字可以動態添加,這就要考慮換行的問題了
android 異常和解決辦法
1.Android Bitmap OutOfMemory解決辦法
在Android應用裏,最耗費內存的就是圖片資源。而且在Android系統中,讀取位圖Bitmap時,分給虛擬機中的圖片的堆棧大小隻有8M,如果超出了,就會出現OutOfMemory異常,解決辦法有:適當時候手動釋放內存、將圖片壓縮、代碼優化...
2.PatternSyntaxException: Syntax error in regexp pattern near index 1
例如代碼: temp =temp.split("}")[1];會出錯,報上述異常。 因爲“{” 是關鍵字符,要加上轉意字符temp =temp.split("\\}")[1];
SQLite在3.6.19版本中才開始支持外鍵約束,但是爲了兼容以前的程序,默認並沒有啓用該功能,如果要啓用該功能每次都要需要使用如下語句:PRAGMA foreign_keys = ON來打開。也就是說,在執行刪除一個班級的語句的時候需要執行db.execSQL("PRAGMA foreign_keys=ON")
This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,導致無法正常預覽佈局文件;問題根源:SDK版本過高,ADT版本低
5.java.io.NotSerializableException的解決辦法
非靜態內部類擁有對外部類的所有成員的完全訪問權限,包括實例字段和方法。爲實現這一行爲,非靜態內部類存儲着對外部類的實例的一個隱式引用。序列化時要求所有的成員變量是Serializable,現在外部的類並沒有implements Serializable,所以就拋出java.io.NotSerializableException異常
由於當時的Launcher設置爲強制橫屏了,應該是不會引起重啓的。
對於Configuration改變系統會發一個android.intent.action.CONFIGURATION_CHANGED的廣播
於是就做了一個廣播接收器去檢測是不是由於Configuration改變引起的(後來發現Launcher本身有監聽這個廣播)
果然發現MCC值由0(未定義)變爲460(中國)
android 開發環境
Eclipse的編輯功能非常強大,掌握了Eclipse快捷鍵功能,能夠大大提高開發效率
親測可行,可以解決上述問題
很詳細很強大,一步一步手把手教你搭建開發環境
跨平臺移動開發實際上就是基於HTML5開發軟件界面和主要的業務邏輯,因此一套完善的基於移動平臺的HTML5開發環境是非常有必要的
android API
1.setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds
setCompoundDrawables 畫的drawable的寬高是按drawable.setBound()設置的寬高,
所以纔有The Drawables must already have had setBounds(Rect) called.setCompoundDrawablesWithIntrinsicBounds是畫的drawable的寬高是按drawable固定的寬高,
所以纔有The Drawables' bounds will be set to their intrinsic bounds
2.getMeasuredWidth和getWidth在何時可以取得正確數值
1.在構造方法中無論是getWidth還是getMeasuredWidth都是得不到正確數值的。
2.getMeasuredWidth得到正確數值需要在調用過onMeasure之後。
3.getWidth得到正確數值需要調用過onLayout之後。
Activity的所有屬性中英對照解釋,非常詳細的資料
其他
2005年在水木社區BLOG上發表了《清華夢的粉碎--寫給清華大學的退學申請》明確要求退學,痛斥國內高等教育弊端
移動支付安全是移動支付發展一直無法逾越的坎,支付密碼、賬號被盜案件比比皆是。爲了給網絡支付安全打造真正的保護傘,支付寶近日宣佈,推出新型的安全體系,未來將用生物識別、行爲習慣等來替代密碼給消費者的移動支付錢包保駕護航。