Time of Update: 2018-12-08
Settings是WebView提供給上層App的一個配置Webview的介面,每個WebView都有一個WebSettings,要控制WebView的行為,只能通過WebView.getSettings()擷取WebSettings對象的引用,然後再改變它的屬性。Browser有一個BrowserSettings用來管理所有的配置資訊,它是一個單鍵(Singleton)。BrowserSettings是直接管理WebSettings的,而UI部分則是由BrowserPreferencePage
Time of Update: 2018-12-08
方法一:Activity.runOnUiThread(Runnable )(經驗之道: 這個最好用, 凡是要重新整理頁面的地方,Activity.runOnUiThread( new Runnable() { public void run(){更新UI}});方法二:子線程調用Handler的sendMessage(message)發送事件。複製代碼 代碼如下:mHandler = new Handler() { @Override public void
Time of Update: 2018-12-08
由於機器記憶體壞了,換了個記憶體,重新安裝了一個64位的Fedora16,把原來的32位的Fedora15格掉了。於是在重新安裝Android SDK時遇到了非常好玩的事情,先是SDK的安裝檔案和ADT無法下載,我家用的移動的寬頻,就是無法下載,跟朋友聯絡了發現移動和聯通的寬頻無法下載,中國電信是可以正常下載的,真是詭異啊!沒有辦法,到朋友那下了一個。回來安裝時就一直停在Fetching狀態,用了《解決Android
Time of Update: 2018-12-08
一個應用只有一個線程在預設情況下,更確切的講一個進程中只有一個線程,這跟其他語言,比如C/C++,Java等是一致。也就是說在Android應用程式裡面一個進程只有一個線程,所有組件都運行在一個線程裡面!當應用程式啟動時,系統會為其建立一個進程,也會建立一個線程名字叫做main,所有其所屬組件的建立,系統事件的處理,系統的回調等一切應用相關的事情都運行在此名叫main的線程中。此線程即為常說的主線程(main thread)。俗稱的UI線程(UI
Time of Update: 2018-12-08
當資料庫中存有大量資料的時候,用Cursor查詢時要注意,有可能引發效能問題。資料庫查詢出來的Cursor都會由一個CursorWindow來進行資料管理,包括記憶體空間的申請和資料的填充。CursorWindow對Cursor中的內容大小有限制,限制為1024*1024也就是1M,換句話說Cursor中資料的大小不能超過1M,如果超過1M會引發如下的錯誤:複製代碼 代碼如下:08-23 05:48:31.838: DEBUG/Cursor(1805): skip_rows row 14908-
Time of Update: 2018-12-08
Understanding LooperLooper是用於給一個線程添加一個訊息佇列(MessageQueue),並且迴圈等待,當有訊息時會喚起線程來處理訊息的一個工具,直到線程結束為止。通常情況下不會用到Looper,因為對於Activity,Service等系統組件,Frameworks已經為我們初始化好了線程(俗稱的UI線程或主線程),在其內含有一個Looper,和由Looper建立的訊息佇列,所以主線程會一直運行,處理使用者事件,直到某些事件(BACK)退出。如果,我們需要建立一個線程,
Time of Update: 2018-12-08
什麼是SplashSplash也就是應用程式啟動之前先啟動一個畫面,上面簡單的介紹應用程式的廠商,廠商的LOGO,名稱和版本等資訊,多為一張圖片,顯示幾秒鐘後會自動訊息,然後顯示出應用程式的主體頁面。在PC上,很常見各種平台的應用程式都會有,多半是一張圖片顯示在螢幕中央,如Microsoft Office系列,或者GIMP等。在各種遊戲中Splash是最常見的,幾乎所有的遊戲開始都會有一張全屏的圖片,上面通常都顯示廠商的LOGO,遊戲的名稱等。在手機平板等行動裝置上,類似PC的Splash很少,
Time of Update: 2018-12-08
對智能手機有所瞭解的朋友都知道其中一個應用廣泛的手機作業系統Android
Time of Update: 2018-12-08
在《Android
Time of Update: 2018-12-08
AsyncTask的介紹及基本使用方法關於AsyncTask的介紹和基本使用方法可以參考官方文檔和《Android開發筆記之:深入理解多線程AsyncTask》這裡就不重複。AsyncTask引發的一個問題上周遇到了一個極其詭異的問題,一個小功能從網路上下載一個圖片,然後放到ImageView中,是用AsyncTask來實現的,本身邏輯也很簡單,僅是在doInBackground中用HTTP請求把圖片的輸入資料流取出,然後用BitmapFactory去解析,然後再把得到的Bitmap放到Imag
Time of Update: 2018-12-08
Sam在Android開發中,有兩種處理資源檔的方式。其一,是將所有資源檔以及JNI程式放置於一個單獨的資源套件。使用到他們時,使用檔案方式讀取。或者直接使用C++層代碼讀取。
Time of Update: 2018-12-08
Understanding AsyncTaskAsyncTask是Android 1.5 Cubake加入的用於實現非同步作業的一個類,在此之前只能用Java SE庫中的Thread來實現多線程非同步,AsyncTask是Android平台自己的非同步工具,融入了Android平台的特性,讓非同步作業更加的安全,方便和實用。實質上它也是對Java
Time of Update: 2018-12-08
以前線上性代數中學習了矩陣,對矩陣的基本運算有一些瞭解,前段時間在使用GDI+的時候再次學習如何使用矩陣來變化映像,看了之後在這裡總結說明。首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什麼分割成4部分,在後面詳細說明。首先給大家舉個簡單的例子:現設點P0(x0, y0)進行平移後,移到P(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那麼,點P(x,y)的座標為:x = x0 + △x y = y0 + △y採用矩陣表達上述如下:
Time of Update: 2018-12-08
在Android的API中可以發現有很多用整數集來作為參數的地方,先來看一下執行個體。LinearLayout是大家所熟知的一個UI基本元素,它裡面有一個方向的屬性,可以通過以下方法來設定: 複製代碼 代碼如下:LinearLayout.setOrientation(int);使用的時候,通常都是這樣:複製代碼
Time of Update: 2018-12-08
組件的特點對於Android的四大組件Activity, Service,
Time of Update: 2018-12-08
今日事今日畢,這是生產力的最重原則。沒有什麼能比從待辦事項清單裡劃掉一些條目更讓人覺得舒服的事了。做為一個高效的人,您需要一個優秀的待辦事項管理工具,一個優秀的待辦事項清單可以協助你更加高效的完成一天的任務。今日事今日畢是款優秀的待辦事項管理工具,它可以方便,簡潔快速的幫您安排一天內要做的任務。無論是待辦事項,購物清單,甚至是臨時記事都可以用它來完成。沒有繁雜的日期和時限設定,沒有花哨的按扭頁面,就是一個簡單的列表,點擊即可輸入,按斷行符號就輸入完成;完成了就打鉤;如果這一任務不做了,可以把它刪
Time of Update: 2018-12-08
Dialog是任何系統都必須有的一個控制項,作為次要視窗,用於顯示一些訊息,或請求使用者採取一引起操作等。在Android中也不例外,基本使用可能參看文檔。使用時的注意事項1. BACK鍵能取消掉對話方塊(dismiss),但是卻不會觸發其onOkey和onCancel回調介面,所以如果你的對話方塊會改某些狀態,一定要注意還有第三種方式取消對話方塊。2. 盡量少用模態對話方塊(Model
Time of Update: 2018-12-08
今天在學習實現墨跡天氣那樣的拖動效果時,看到用的是重寫FrameLayout。翻了翻書,突然想明白,為什麼用FrameLayout.在FrameLayout中,用我看的書中的話說是,空間永遠用不完。複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2018-12-08
1.
Time of Update: 2018-12-08
現在維護和定製Android的需求越來越多,做的人也越來越多,而Google直接Release出來的源碼中又有很多Bug和不合理的地方,特別是原生的應用,如Mms,Browser, Email, Contacts等。定製或做Android解決方案第一步就是要修複原生的Bug以得到一個穩定的系統。1.