Time of Update: 2018-12-06
一、概述
Time of Update: 2018-12-06
一、概述 SurfaceView也是一個用來畫圖的組件,不過由於它的效率比較高,因此一般多用在遊戲編程中,在網路攝影機編程中也會用到,還有它和View比較大的不同是它可以在非UI線程裡畫圖。下面的實現中會提到使用SurfaceView來畫圖需要注意的幾個地方。二、要求 會使用SurfaceView來畫圖。三、實現
Time of Update: 2018-12-06
一、概述 習慣了Linux下的網路編程,在還沒用智能機之前就一直想知道怎麼得到手機的IP地址(玩智能機之前我是不搞手機應用的)。好了,得知Android是基於Linux核心的,那麼不就可以利用之前學的Linux下的網路編程方法來擷取IP了嗎?呵呵,其實這是比較底層的方法,在Android上,完全可以利用Java的API來實現,而且實現的代碼非常簡單。下面的實現只可以擷取到本地IP(內網IP),不包括外網IP,想獲得外網IP的話要用其他方法。 二、實現 建立工程GetIp,修改/
Time of Update: 2018-12-06
一、概述 對於SharedPreferences,我吧它理解為一種簡單的資料庫,它可以把資料像檔案一樣存放在系統裡面,也可以讀出來,但它存放的只是一些簡單的數值對,如key-values的形式。如果某些應用需要在退出時儲存一些簡單的資料以便再次被開啟時恢複所需的資料,那麼就可以用SharedPreferences來實現。二、要求 編寫一個簡單的應用,要求該應用退出時能儲存某些所需要的資料,當應用再次開啟時恢複這些資料。三、實現
Time of Update: 2018-12-06
一、概述 Button,顧名思義就是按鈕的意思,它主要的功能是響應使用者按下按鈕時的動作。二、應用 建立一個工程,名字為MyButton,在/res/layout/main.xml檔案中添加以下內容:1 <Button2 android:id="@+id/button"3 android:layout_width="fill_parent"4 android:layout_height="wrap_content"5
Time of Update: 2018-12-06
一、概述 每一個應用程式預設的標題列(注意與狀態列的區別)只有一行文字(建立工程時的名字),而且顏色、大小等都是固定的,給人的感覺比較單調。但當程式需要美化的時候,那麼修改標題列是就是其中一項內容,雖然Android已經定義了很多樣式資源,但更多時候我們需要使用的是自己定義的樣式。二、要求 使用自己定義的樣式來修改程式的標題列。三、實現
Time of Update: 2018-12-06
一、概述 BroadcastReceiver,意思就是廣播資訊接收者,是Android的四大組件之一。它既可以接收系統廣播出來的資訊,也可以接收自訂的廣播資訊,比如說接收系統開機完成的資訊,然後讓某個程式啟動,這就可以實現程式開機啟動,又或者,某個程式需要通過Service發出的資訊來更新UI,這時也可以使用BroadcastReceiver。二、要求 編寫一個程式,能夠接收自訂的廣播資訊,程式在接收到這個資訊後把收到的資訊顯示到螢幕上。三、實現
Time of Update: 2018-12-06
一、概述 初次看到FaceDetector這個類時,心裡想:Android真的很強大。但直到我實際應用它的時候,心情從高山跌倒了穀底(看實現中的結果就知道了),再仔細看看官方文檔,才知道這個類是API LEVEL1的,我就暈了,這就說明這個類很早就有了,但為什麼到現在還沒有得到改善呢。寫這篇文章的目的還有一個,就是想強調一下用SurfaceView來畫圖的時候,要用某個事件來觸發,而不能在程式一開始啟動並執行時候就直接畫圖。好吧,下面看看這個類有多“強大”。二、實現
Time of Update: 2018-12-06
一般在AndroidManifest.xml檔案中都沒有使用到android:configChanges="keyboardHidden|orientation"配置,當然還是很有用的哈就是如果配置了這個屬性,當我們橫豎屏切換的時候會直接調用onCreate方法中的onConfigurationChanged方法,而不會重新執行onCreate方法,那當然如果不配置這個屬性的話就會重新調用onCreate方法了,下面是測試AndroidManifest.xml檔案<?xml
Time of Update: 2018-12-06
當在AndroidManifest.xml檔案中定義了android:screenOrientation="portrait",就表示當我們切換橫豎屏的時候,螢幕的內容始終以豎屏顯示,而不會根據螢幕的方向來顯示內容AndroidManifest.xml檔案 <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2018-12-06
public void onCreate(Bundle savedInstanceState) { TextView tv = new TextView(this); String string = ""; super.onCreate(savedInstanceState); //得到ContentResolver對象 ContentResolver cr = getContentResolve
Time of Update: 2018-12-06
轉自: http://blog.sina.com.cn/s/blog_78e3ae430100pxba.htmlandroid提供了一種新的類型:Parcel。本類被用作封裝資料的容器,封裝後的資料可以通過Intent或IPC傳遞。 除了基本類型以外,只有實現了Parcelable介面的類才能被放入Parcel中。 Parcelable實現要點:需要實現三個東西1)writeToParcel 方法。該方法將類的資料寫入外部提供的Parcel中.聲明如下:writeToParcel
Time of Update: 2018-12-06
在.classpath檔案增加 <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/><classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <?xml version="1.0" encoding="UTF-8"?><classpath> &
Time of Update: 2018-12-06
在前一篇文章提到,從原始碼樹下載下來的最新Android原始碼,是不包括核心代碼的,也就是Android原始碼工程預設不包含Linux Kernel代碼,而是使用預先編譯好的核心,也就是prebuilt/android-arm/kernel/kernel-qemu檔案。那麼,如何 才能DIY自己的核心呢?這篇文章一一道來。 一. 首選,參照前一篇在Ubuntu上下載、編譯和安裝Android最新原始碼準備好Android原始碼目錄。 二. 下載Linux
Time of Update: 2018-12-06
<!-- Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus. --> <attr name="descendantFocusability"> <!-- The ViewGroup will get focus before any of its
Time of Update: 2018-12-06
進入myandroid目錄下,執行make sdk。如果你使用java1.6可能報如下的錯誤:javadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetExceptioncom.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類檔案1
Time of Update: 2018-12-06
類似“W/ResourceType( 2888): Unable to get buffer of resource asset file ”這樣的錯誤。是編譯sdk的時候設定不正確。正確的方法是:在make sdk之前先執行'lunch sdk-eng'或者是:在沒有執行過'build/envsetup.sh'的shell終端中直接執行'make PRODUCT-sdk-sdk'Re: "Using lunch master without the GUI. No such file:
Time of Update: 2018-12-06
最近看了下網路時間同步,總結一下。整體描述:android網路時間同步使用NITZ(Network identity and Time
Time of Update: 2018-12-06
前段時間仔細研究了一下音量曲線的問題。眾所周知,人耳對聲音強度的感知不是線性,而是具有對數關係。所以理想的音量曲線應該是音量級數調節與音量大小的對數成線性關係。即:-20lg(y) = a * (x - b) 假設音量級數為M,則有: x = M 時 -20lg(y) = 0dB ==> b = M 由此得到: -20lg(y) = a * (x - M) 假設最大音量範圍為N dB, 則有: x = 0時, -20lg(y) = -NdB ==> a = N / M由此得:
Time of Update: 2018-12-06
最近準備將原來2.3的內容移植到4.0上,但一開始就遇到了困難:找不到變數在哪定義的。這說起來似乎有點丟臉,做了這麼久的Android,居然找不到對應的標頭檔。但很快發現以下路徑的內容在4.0上發生了很大的變化。/system/core/include/system/system/media/hardware/libhardware/hardware/libhardware_legacy 特別是/system/core/include/system/audio.h,原來在AudioSystem.