Time of Update: 2018-12-03
這篇文章主要內容來自於之前我講的一個PPT文檔,現在將其整理如下。歡迎指正。以下的內容都是來自於我自身的經驗,歡迎大家多提自己的建議。1、一些概念模式的定義:每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。什麼是設計模式?設計模式是在某種特別的情況下,針對某種問題的某種典型、通用的解決方案。我們是需要適當瞭解並學習一些設計模式,在程式開發過程中,總是會涉及到一些架構設計,模組設計之類的東
Time of Update: 2018-12-03
這裡有三個很重要的概念:1,Looper預設的背景工作執行緒是沒有與之關聯的訊息迴圈,可以通過Looper類來運行訊息迴圈。進入訊息迴圈後,該訊息迴圈會一直處理訊息,直接退出訊息迴圈。調用Looper.prepare()方法來建立訊息迴圈,調用Looper.loop()方法來開始訊息迴圈。下面程式碼範例了如何?一個帶有訊息迴圈的線程類,這個線程類關聯了一個Handler。class LooperThread extends Thread { public Handler
Time of Update: 2018-12-03
在Eclipse裡面編譯產生的APK中有一個簽名的,它預設的key是debug.keystore,它預設的路徑是:C:\Users\<使用者名稱>\.android\debug.keystore這個key的密碼是:android ================================================================我們可以輸入如下命令來查看其詳細資料:keytool -list -keystore
Time of Update: 2018-12-03
請考慮如下情況:在資料庫升級時,不同版本的資料庫,他們定義的表結構完全可能是不一樣的,比如V1.0的表A有10個column,而在V1.1的表A有12個colum,在升級時,表A增加了兩列,此時我們應該怎麼做呢。總體思路1,將表A重新命名,改了A_temp。2,建立新表A。3,將表A_temp的資料插入到表A。下面代碼列出了更新表的實現,upgradeTables,給定表名,更新的列名,就可以實現資料庫表的更新。/** * Upgrade tables. In this method, the
Time of Update: 2018-12-03
最近在項目中遇到了一個解析XML的問題,我們是用android內建的DOM解析器來解析XML的,但發現了一個android的問題,那就是在2.3的SDK上面,無法解析像<, >, 等字串。儘管我們從伺服器端返回的資料中,應該是不能包含< >這樣的字元,應該使用轉義,但有時候,由於曆史原因,導致伺服器端不能作這樣的修正,所以這樣的問只能是在用戶端來解決了。下面我就說一說我們是如何解決這種問的。1,現象我們的解析代碼是:DocumentBuilderFactory
Time of Update: 2018-12-03
最近沒什麼事情,寫過一個畫圖板的DEMO(sketchpad),發出來與大家分享。功能說明:1、能畫線(Pen),能擦除(Eraser),清除(Clear)。2、Undo,Redo功能。3、儲存,載入筆跡(Stroke)。4、畫筆顏色。5、畫板背景色。6、畫筆,橡皮大小。7、選擇畫景圖片。如何需要source,請與我聯絡:leehong2005@163.com先看看片:畫圖板主介面畫筆橡皮畫筆顏色選擇一種顏色後不同顏色的畫筆及不同大小的畫筆選擇背景圖片介面(從SDCard中尋找圖片)找到圖片後的
Time of Update: 2018-12-03
有的時候,我們不斷的發一個通知,如果次數達到定後,可能會導致通知欄消失(3.0以下的Android system),這個問題,其實是Android內部的一個Bug,下面我來分析一下造成這個問題的原因。一,原因當這個問題出現的時候,我們通過分析Log後得知,com.android.systemui進行中出現在ANR,原因就是處理廣播訊息時逾時,而這個ANR會導致com.android.systemui進程死掉。通常,狀態列會維護通知資訊,並會保持所有通知的remote
Time of Update: 2018-12-03
一、設定鬧鐘要注意的問題public void updateAlarmSetting(MemoDAO dao) { MemoTime time = dao.updateSetTimes(); AlarmManager alarmManager = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(context,ScheduleService.
Time of Update: 2018-12-03
Android電話系統之-rildRild是Init進程啟動的一個本地服務,這個本地服務並沒有使用Binder之類的通訊手段,而是採用了socket通訊這種方式。RIL(Radio Interface
Time of Update: 2018-12-03
網上關於這個方面的文章也不少,基本的思路是線程+緩衝來解決。下面提出一些最佳化:1、採用線程池2、記憶體緩衝+檔案快取3、記憶體緩衝中網上很多是採用SoftReference來防止堆溢出,這兒嚴格限制只能使用最大JVM記憶體的1/44、對下載的圖片進行按比例縮放,以減少記憶體的消耗具體的代碼裡面說明。先放上記憶體緩衝類的代碼MemoryCache.java:public class MemoryCache {private static final String TAG =
Time of Update: 2018-12-03
3 Activity設計架構3.1 外特性空間的Activity 我們先來看看,Android應用開發人員接觸的外特性空間中的Activity,對於AMS來講,這個Activity就是客服端的Activity。應用程式員在建立Android應用時,構建Activity的子類就是Andoid外特性空間展現的介面。我們可以從下面的簡單的例子描述看看Activity,到底如何建立的。DemoActivity extend Activity{ onCreate onResume
Time of Update: 2018-12-03
參考自eoeApps。 在使用eoeApps時,發現它顯示的一些系統屬性像和用命令列中敲出來的一樣,好奇心大起。反編譯之,遂得。 關鍵點為使用ProcessBuilder來執行命令。另,系統屬性的詳細資料見:http://blog.csdn.net/jerryutscn/archive/2010/04/24/5519423.aspx package lab.sodino.textimage;import java.io.ByteArrayOutputStream;import
Time of Update: 2018-12-03
SurfaceView相關知識筆記本文為"[Android] SurfaceView使用執行個體"的輔助文章。本文由4部分內容組成,前3部分取自網路,原文貼出,第4部分為Sodino原創碼出。請仔細閱讀前3部分後再閱讀第4部分"4.為何SurfaceView能夠在非UI線程中重新整理介面?"--------------------------------------------------------------------------------------------------------
Time of Update: 2018-12-03
今天遇到使用者反映應用總是閃退。現象:在MainActivity後,只要進入任何主進程相關的二級介面,都會導致應用閃退(注:不是崩潰引起的,只是閃退)分析:1.看log日誌,退出前有拋出異常,但查看該處代碼發現異常已經被catch住,異常資訊被列印出來而已。2.懷疑是每個Activity實現時,其父類BaseActivity有幹壞事,則重新自訂了一個Activity不繼承自父類,發現現象仍存在,該Activity仍閃退。(vinney,thanks)3.發現每次MainActivity的自訂的e
Time of Update: 2018-12-03
參考:http://zilla.blog.51cto.com/3095640/984775:實現代碼:// 監聽布局變化,直接擷取顯示的長度txtDescription.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {if(availableTextWidth ==
Time of Update: 2018-12-03
由lily同學提示的這個知識點,獻花獻花..onWindowFocusChanged():當Activity的當前Window獲得或失去焦點時會被回調此方法。當回調了這個方法時表示Activity是完全對使用者可見的(只是可見,還一片黑呼呼的,有待draw..)。當對話方塊彈起/消失及Activity新建立及回退等都會調用此方法。相比之下,onResume()方法更多的是指Activity進入了可見的狀態,但只是狀態,並不是真正的介面構建完成了。眼見為實,動手實踐。寫了個簡單的demo,一個Ac
Time of Update: 2018-12-03
先上。如demo_asynctask.gif對於圖片的載入效果,見連結:[Android] PorterDuff使用執行個體----實現新浪微博圖片下載效果本文參考連結:http://developer.android.com/reference/android/os/AsyncTask.htmlAsyncTask被設計成方便編寫Thread與Handler互動的輔助類,幾秒鐘的背景耗時操作是理想的使用場合。AsyncTask必須被子類化才能使用,在該過程中必須設定3個構造參數:
Time of Update: 2018-12-03
本文主要內容是如何讓Gallery和ImageSwitcher控制項能夠同步自動播放圖片集 ,看起來較難,然而,實現的方法非常簡單,請跟我慢慢來。總的來說,本文要實現的效果如:(效果不怎麼好) 本文是建立在以下兩篇bolg上的: 1、Android入門第十二篇之Gallery 2、Android
Time of Update: 2018-12-03
第一:我們先看下品質壓縮方法:private Bitmap compressImage(Bitmap image) {ByteArrayOutputStream baos = new ByteArrayOutputStream();image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//品質壓縮方法,這裡100表示不壓縮,把壓縮後的資料存放到baos中int options = 100;while ( baos.toByteArray().
Time of Update: 2018-12-03
本文原創 ,轉載必須註明出處 :http://blog.csdn.net/qinjuning 今天給大家介紹下Android中滑屏功能的一個基本實現過程以及原理初探,最後給大家重點講解View視圖中scrollTo 與