Time of Update: 2013-12-11
編譯好的源碼可以匯入eclipse中方便研究。1、將 源碼目錄\development\ide\eclipse 中的.classpath複製到源碼根目錄下。2、更改eclipse緩衝設定 在eclipse安裝根目錄下修改eclipse.ini -Xms128m -Xmx512m
Time of Update: 2013-12-11
用BitmapFactory擷取適合螢幕大小的圖片 和內建的圖片裁剪工具package com.lin.image; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri;
Time of Update: 2013-12-11
在需要使用者輸入資料的時候,友好的介面是非常重要的,所以如果我們能在輸入框給使用者一些提示,將能很好的提高程式的易用性,android就給我們提供了這樣一個屬性,也就是android:hint。 另外這個程式的textview裡面使用一下android中的shape屬性,可以參見我前一篇轉載的部落格。<?xml version="1.0" encoding="utf-8"?> <TableLayout
Time of Update: 2013-12-11
上一篇:http://www.bkjia.com/kf/201112/115299.html儲存activity的狀態在“acitvity的生命週期”一節中提到了當暫停和停止時,activity的狀態是被保留在記憶體中的,當resume時,它會立即開始執行。左圖表示acitvity未銷毀,只是被停止再開始的過程,右圖表示acvitiry所在的進程被關了,那麼acitvity就銷毀了,然後又被重新建立的過程。
Time of Update: 2013-12-11
之前我們介紹了關於Content Provider 的內容。這裡我們在分兩節來介紹,使用系統定義的Content Provider和自訂的Content Provider。 這裡我們來介紹使用系統定義的Content Provider:通過ContentResolver來讀取系統的連絡人資訊。 第一步: 建立一個工程命名為readPeople,因為我們以列表的形式來顯示,所以這個類繼承自ListAvtivity而不是Activity;&
Time of Update: 2013-12-11
想在Android的MediaPlayer增加字幕功能,下面是一些筆記,
Time of Update: 2013-12-11
這近項目快到結尾了,經理要我處理一個問題,就是我們程式關閉後,程式發出通知 在狀態列上始終沒有消除,需要手動的清楚,體驗效果極其不好,現在是想在程式推出後,把通知給消除了,琢磨了下,不知怎麼清楚,看了下api 有清除的方法,後面安心多了,但有出現毛病了,我什麼調用通知管理器把通知消除啊,他是開一個一個服務中的,我們不能new 這個類,是系統的,當時想了下決定發送廣播清楚, 當程式退出的時候,調用該廣播把訊息清楚,等到快寫完的時候,才發現,既然是系統調用的,系統肯定有結束的回調啊立馬想到了
Time of Update: 2013-12-11
在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函數來修改系統時間,可惜無論你怎麼調用這個函數都是沒用的,無論模擬器還是真機,在logcat中總會得到"Unable to open alarm driver: Permission denied ".這個函數需要root許可權或者運行與系統進程中才可以用。
Time of Update: 2013-12-11
前幾天有需要在java代碼中調用二進位程式,就在網上找了些資料,寫點東西記錄下。 Android 也是基於linux 的系統,當然也可以運行二進位的可執行檔。只不過Android 限制了直接的方式只能安裝運行apk檔案。雖然有NDK可以用動態連結程式庫的方式來用C的二進位代碼,但畢竟不方便。至少我們可以調用linux的一些基本命令,如ls,rm等。 第一種方法:Runtime.exec(String[]
Time of Update: 2013-12-11
在開發中,我們經常會在AndroidManifest.xml中指定Activity的載入模式為singleInstance,方式如下:[javascript] <activity android:name="ImgInfo" android:label="@string/app_name"
Time of Update: 2013-12-11
Android 的 call setting 是用來設定與 simcard 相關的一些內容的應用程式,如網路,PIN等等,算是AP層。這裡就選擇其中一個項從原始碼讀下去直到底層,看看大概的結構和流程。 在 Android 主菜單中選擇 setting->call setting->additional call setting->caller
Time of Update: 2013-12-11
如題,如果要實現檔案關聯,首先要修改AndroidManifest.xml,例子如下:<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.sample"
Time of Update: 2013-12-11
在做camera和SurfaceView做網路攝影機程式時,需要擷取camera支援的相片大小,在低版本sdk中沒有getSupportedPictureSizes函數,怎麼辦呢,請參閱下面的關鍵代碼:1、定義Size類[java] public class Size { /*** * Sets the dimensions for pictures. &
Time of Update: 2013-12-11
這裡所說的 android 組件,主要是指 android 中 Activity、Service、ContentProvider 以及 BroadcastReceiver.在 android 源碼開發的過程中,大家拿到手的都是一樣的 android 源碼,但是硬體平台卻是大相徑庭,所以會引發各種各樣的問題,於是乎,android 開發越發精彩!這篇部落客要是在研究 Settings 源碼時所激發的,把自己的經驗拿出來分享一番!我在設定語言之後,發現有些地方的語言還是沒有改變,這個時候想起了
Time of Update: 2013-12-11
1、介面方法用於回調(這裡定義介面是為了使用其介面方法): 01public interface ICallback {02 public void func();03}04 05public class Caller {06 ICallback callback;07 public void doCallback() {08
Time of Update: 2013-12-11
遇到這樣一個問題:軟體需要支援一個特性,但是該特性的介面,Android2.3及其以上版本才支援,而我們的軟體需要支援1.6及其以上版本。通過和產品部同事的協商,該特性只要在Android2.3及其以上版本支援就可以了,而低版本可以不支援。要實現以上的需求,需要在代碼引用該特性的介面,但是因為只有2.3以上才有,而且我們又不想維護兩套代碼,因此在manifest檔案中指定最低版本號碼的方式可能是由問題的。經過一段時間的嘗試,該問題得到了圓滿解決:把需要調用2.3及其以上介面的代碼封裝成一個jar
Time of Update: 2013-12-11
RadioButton(選項按鈕)在Androi發中應用的非常廣泛,比如一些選擇項的時候,會用到選項按鈕。它是一種單個圓形單選框雙狀態的按鈕,可以選擇或不選擇。在RadioButton沒有被選中時,使用者能夠按下或點擊來選中它。但是,與複選框相反,使用者一旦選中就不能夠取消選中。
Time of Update: 2013-12-11
經過了一番折騰,忙忙碌碌了一下午,終於搞明白了Android軟體介面嵌入廣告的方法,以下我以嵌入有米廣告為例小結一下:步驟一,下載有米廣告SDK,將youmi-android.jar 匯入想要嵌入廣告的的工程中。1. 右鍵您的工程根目錄,選擇“Properties”2. 在左面板中選擇“Java Build Path”3. 然後選擇“Libraries”標籤4. 點擊“Add External
Time of Update: 2013-12-11
目前需要做一個語音通話及視訊交談功能開發,主要分為音頻及視頻兩個部分,必然會涉及到Camera及AudioFlinger部分,對於顯示部分又會涉及到SurfaceFlinger部分,因此需要一步步的進行學習並確認設計是否合理. 這篇文章主要針對Camera作個簡要的介紹,瞭解需要開發的各個環節。 網路攝影機系統提供的功能如下幾個方面: a、預覽功能preview b、視頻兒取功能recording
Time of Update: 2013-12-11
當一個應用的組件開始運行,並且這個應用沒有其它的組件在運行,系統會為這個應用啟動一個新的Linux進程,這個進程只有一個線程.預設情況下,一個應用的所有組件都運行在一個進程和線程(主線程)中.如果一個應用的線程開始運行,並且已經存在這個應用的線程了(因為有這個應用程式的另一個組件已經運行了),於是這個組件就會在這個已有的進程中啟動並且運行在同一個線程中.然而,你完全可以安排不同的組件運行於不同的進程,並且你可以為任何程式建立另外的線程. 進程 預設下,同一個程式的