Time of Update: 2013-12-11
在前一個例子中我們看到了螢幕方向的更改,事實上,當螢幕方向改變是,就會發生onConfigurationChanged()事件;雖然可以在更改方向是顯示要更改的方向,但是並無法取得更改後的寬高或更改後的結果,此時,就必須通過onConfigurationChanged()的心事事件進行處理。onConfigurationChanged()方法是當系統發生系統設定改變之後所觸發的事件,其中唯一的傳入參數為Configuration對象,出來可以捕捉螢幕設定變更事件之外,也可撲捉其他系統設定變更事件
Time of Update: 2013-12-11
package xiaohang.zhimeng;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.Window;import android.widget.Button;import
Time of Update: 2013-12-11
由於接觸android開發的時間並不久,對於android系統、機制的理解也是一知半解。所以在開發中陸陸續續遇到很多莫名其妙的問題,其中最讓人頭疼的就是application crash。application的crash可能由於很多的原因所引起的,有可能是因為資料的問題,或者是非同步AsyncTask的運用不合理,等等等等,都可能造成application crash。也一直在想如何才能知道application crash,想在application
Time of Update: 2013-12-11
在android開發中Listview是一個很重要的組件,它以列表的形式根據資料的長自適應展示具體內容,使用者可以自由的定義listview每一列的布局,但當listview有大量的資料需要載入的時候,會佔據大量記憶體,影響效能,這時候就需要按需填充並重新使用view來減少對象的建立。ListView載入資料都是在public View getView(int position, View convertView, ViewGroup parent)
Time of Update: 2013-12-11
1、 資料庫的cursor沒有關閉2、 構造adapter沒有使用緩衝contentview 衍生的listview最佳化問題:減少建立View的對象,充分使用contentview,可以使用靜態類來處理最佳化getView的過程3、Bitmap對象不使用時採用recycle()釋放記憶體4、Activity中的對象生命週期大於Activity調式方法:DDMS->HEAPSIZE->adtaobject->total size&
Time of Update: 2013-12-11
一般的native和framework的通訊是通過jni,但是這一般只是framework調用native,native如果有訊息要怎樣通知上層呢?android中GSP模組提供一種解決思路,但是實現有些複雜,這裡介紹一種使用socket通訊的方法可以使native和framework自由通訊,具體實現如下:android中使用jni對linux中的socket進行了封裝。使用起來十分的方便。由於android是基於linux的,所以linux的代碼會在java之前先執行,所以一般native端
Time of Update: 2013-12-11
WebView(網路視圖)能載入顯示網頁,可以將其視為一個瀏覽器。它使用了WebKit渲染引擎載入顯示網頁,實現WebView有以下兩種不同的方法:第一種方法的步驟:1.在要Activity中執行個體化WebView組件:WebView webView = new WebView(this);2.調用WebView的loadUrl()方法,設定WevView要顯示的網頁:
Time of Update: 2013-12-11
Java代碼 // android擷取簡訊所有內容 // 注意設定許可權[添加到AndroidMainfest.xml] <uses-permission android:name="android.permission.READ_SMS" /> public String getSmsInPhone()
Time of Update: 2013-12-11
boolean isValid=<EditText Variable>.getText().toString().matches(\\d{2}\\.\\d{2});或者 EditText text = new EditText(this); InputFilter[] filters = new InputFilter[1]; filters[0] = new InputFilter() {
Time of Update: 2013-12-11
接下來說明一下,提供歌詞播放器服務的LyricPlayerService。這個類在整個播放過程中的作用是1.負責管理LyricAdapter的生命週期。2.控制音樂播放,歌詞解析,並且協調音樂與歌詞同步。3.收集超類,LyricAdapter發來的通知並傳遞給登入的LyricAdapterListener首先是看一下這個類在全體圖中的位置。 我們可以明顯的看出這個類處於整個圖中的節點位置,光從這一點就可以理解這個類的重要性。代碼不多,簡單說明一下。首先是定義用於從LyricPlayer
Time of Update: 2013-12-11
引用Activity的切換動畫指的是從一個activity跳轉到另外一個activity時的動畫。{它包括兩個部分:一部分是第一個activity退出時的動畫;另外一部分時第二個activity進入時的動畫;在Android的2.0版本之後,有了一個函數來幫我們實現這個動畫。這個函數就是YoverridePendingTransitionj這個函數有兩個參數,一個參數是第一個activity退出時的動畫,另外一個參數則是第二個activity進入時的動畫。這裡需要特別說明的是,關於overrid
Time of Update: 2013-12-11
導語:在開發Android應用的過程中,我們需要時刻注意保障應用的穩定性和介面響應性,因為不穩定或者響應速度慢的應用將會給使用者帶來非常差的互動體驗。在越來越講究使用者體驗的大環境下,使用者也許會因為應用的一次Force
Time of Update: 2013-12-11
MainActivity.java [java] package com.soai.view; import android.os.Bundle; import android.app.Activity; import android.view.Window; import android.view.WindowManager; public class MainActivity extends
Time of Update: 2013-12-11
首先介紹一下如果將Guice 和RoboGuice 的庫添加到項目中。1.下載RoboGuicehttp://code.google.com/p/roboguice/wiki/Downloads和guice-2.0-no_aop.jar(not
Time of Update: 2013-12-11
Android應用外掛程式式開發解決方案一、現實需求描述一般的,一個Android應用在開發到了一定階段以後,功能模組將會越來越多,APK安裝包也越來越大,使用者在使用過程中也沒有辦法選擇性的載入自己需要的功能模組。此時可能就需要考慮如何分拆整個應用了。二、解決方案提出一般有兩種方式,一種是將應用按照功能分拆成多個應用,使用者需要哪個就下載哪個,都需要就都下載。應用之間,可以在代碼層面做一定的關聯,以共用部分資訊。另一種方式,類似於其他平台外掛程式的方式,使用者可以在主應用中可以選擇
Time of Update: 2013-12-11
如果下載了完整的Android項目的原始碼,則可以在prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin目錄下找到交叉編譯工具,比如Android所用的arm-eabi-gcc-4.2.1。Android並沒有採用glibc作為C庫,而是採用了Google自己開發的Bionic Libc。官方內建的Toolchain(prebuilt)也是基於Bionic
Time of Update: 2013-12-11
得到canvas畫布對象[java] Canvas canvas = getHolder().lockCanvas(); 畫布的一些屬性和方法以及一些應用[java] if (canvas != null) { //----設定畫布繪圖無鋸齒 canvas.setDrawFilter(pfd);
Time of Update: 2013-12-11
擷取網路資訊需要在AndroidManifest.xml檔案中加入相應的許可權。<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判斷是否有網路連接 1 public boolean isNetworkConnected(Context context) { 2
Time of Update: 2013-12-11
在進行android開發時首先要做的事要配置Android SDK不用安裝,下載後,直接解壓即可,將下載後的SDK的壓縮包解壓到適當的位置,就這麼簡單;SDK安裝OK。使用Eclipse進行android應用開發需要給Eclipse裝adt外掛程式,這樣Eclipse就可以和android
Time of Update: 2013-12-11
跟附件一起工作當使用者把USB附件串連到Android裝置時,Android系統能夠判斷你的應用程式是否對接入的附件感興趣。如果感興趣,你能夠跟期望的附件建立通訊。以下是你的應用程式要做的事情:1. 通過使用過濾附件裝置接入事件的Intent過濾器或列舉已經接入的附件裝置來發現對應的附件裝置;2. 如果不是已知的附件裝置,就要詢問使用者是否允許跟該附件裝置通訊;3.