Time of Update: 2018-12-05
package com.example.examples_04_09;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import
Time of Update: 2018-12-05
我們要將一張圖片顯示在螢幕上,首先需要建立一個顯示圖片的對象,在Android中,這個對象是ImageView對象,然後通過setImageResource方法來設定要顯示的圖片資源索引。當然還可以對圖片執行一些其他的操作,比如設定它的Alpha值等。這裡將直接用一個樣本來分析ImageView的使用,該樣本中通過一個線程來不斷更新Image的Alpha值。MainActivity.javapackage com.example.examples_04_15;import android.os.
Time of Update: 2018-12-05
SharedPreferences也是一種輕型的資料存放區方式,它的本質是基於XML檔案儲存體key-value索引值對資料,通常用來儲存一些簡單的配置資訊。其儲存位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對象本身只能擷取資料而不支援儲存和修改,儲存修改是通過Editor對象實現。SharedPreferences常用的屬性和方法方法名稱描述public abstract boolean contains (String
Time of Update: 2018-12-05
平台是高通的8225,不知道其他平台的會不會有差別。看過mtk6575的,改的方法差不多。修改的地方是frameworks/base/data/sounds/AllAudio.mk。LOCAL_PATH:= frameworks/base/data/soundsPRODUCT_COPY_FILES += \ $(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
Time of Update: 2018-12-05
實在不想碰Android,最後還是嘗試下,目前在Ubuntu上安裝。1.安裝JDK2.安裝eclipse,這些都可以在網路上找,選擇eclipse版本要小心,用205MB的。我使用的是eclipse-jee-helios-SR2-linux-gtk.tar.gz3.下載ADT,ADT-11.0.0.zip,解壓後,設定eclipse的windows->preference->Android->SDK Location,如所示:4.開啟Windows->Android
Time of Update: 2018-12-05
以TCC88XX為例,當在Android頂層源碼目錄使用make編譯完成後,會產生這樣一個目錄:out/target/product/tcc8800,該目錄內部有我們需要的boot.img和system.img,boot.mg使用kernel和out/target/product/tcc8800/root目錄打包而成(廣義的ramdisk),也就是說,boot.img是由kernel和ramdisk.img產生得到,在本文中主要分析root目錄和ramdisk.img的產生,在Android編
Time of Update: 2018-12-05
OPENCV2.2移植說明系統:Ubuntu10.10+++++++++++++++++++++++++++++++++++++++++++++ 編譯OPENCV2.2reference URL: http://opencv.willowgarage.com/wiki/InstallGuide 安裝庫: apt-get install build-essential cmake pkg-config libpng12-0 libpng12-dev
Time of Update: 2018-12-05
以下分析基於android2.2的google源碼。 開機啟動時,首先執行PhoneWindowManager.systemReady()(這之前的流程不分析)。調用KeyguardViewMediator.onSystemReady()進行待機鎖屏及解鎖邏輯。 KeyguardViewMediator是整個待機解/鎖屏業務的調度器,負責調度鎖定畫面的相關動作及查詢解鎖屏狀態,包括以下一些內容:
Time of Update: 2018-12-05
第2章《Android的核心機制和結構剖析》大部分充斥著“非常簡單”,如果簡單就沒必要介紹了。況且這些簡單的代碼,叫很多程式員寫還不一定能寫的好。第3章《Android的IPC機制-Binder》中後面分析到幾個cpp檔案時候,可以考慮下C++或者UML圖的類圖結構。充斥著代碼和文字,讓人根本看不下去,就算對著源碼看,估計也夠嗆。第4章《電源管理》中4.3(Android的電源管理機制),大部分在介紹狀態的遷移,可以考慮畫個狀態機器的圖。關於狀態機器方面的介紹,可以考慮下李先靜先生的《系統程式員
Time of Update: 2018-12-05
背景知識:當Android啟動時,會發出一個系統廣播,內容為ACTION_BOOT_COMPLETED,它的字符串常量表示為 android.intent.action.BOOT_COMPLETED。只要在程式中“捕捉”到這個訊息,再啟動之即可。記住,Android架構說:Don''t call me, I''ll call you
Time of Update: 2018-12-05
Android之硬鍵盤對應----字元對應表KeyCharacterMap預備基礎知識:http://source.android.com/porting/keymaps_keyboard_input.htmlhttp://blog.csdn.net/skdev/archive/2010/03/08/5355542.aspx 鍵盤對應流程,講的已經很詳細了。http://www.kandroid.org/android_pdk/keymaps_keyboard_input.html
Time of Update: 2018-12-05
參考PhoneWindowManager.java的adjustConfigurationLw()方法,可以找出以下關鍵因素:config_lidKeyboardAccessibility:在frameworks/base/core/res/res/values/config.xml中定義,含義如下: Indicate whether the lid state impacts the accessibility of the physical keyboard. 0 means it
Time of Update: 2018-12-05
任何一種移動開發生態系統其技術人員都是呈現金字塔式分布的。也就是我們常說的大部分人都是開發人員,只有少數人是真正意義上的程式員。android系統也是一樣,在龐大的android開發人員群體中,我認為可以由低到高分為以下四個層次:1)應用程式層開發使用java語言,基於android的架構和類庫,進行應用程式層程式的開發。這類開發一般依賴於短期記憶,也就是我們所說的類庫王子。這類人員,只要熟悉UI布局設計,熟悉常用的widget,寫幾個訊息回呼函數.鼓搗以下網路類,簡單的資料庫操作,調用一下播放
Time of Update: 2018-12-05
最近在解關於Gsensor的Bug,Bug還沒解掉,反而把Android的Gsensor流程走了一遍。好久不寫部落格了,不能偷懶啊,學了東西還是得總結一下,好讓後來人不要費多少工夫,同時拋磚引玉,大家一起討論一下,有什麼錯誤我好糾正一下,對自己也是一種激勵。言歸正傳,本文主要從上層的Activity一直分析到kernel的driver,路比較長,不過我喜歡搞清楚架構。目錄:一、應用程式層的API;二、Framwork中的處理;三、C++中的JNI;四、Kernel的Gsensor-driver;
Time of Update: 2018-12-05
匯入: 在Android平台中可以使用第三方外部JAR庫檔案,在Eclipse開發環境中,僅僅3步就可以使用第三方.jar檔案。 1.在Package Explorer(包瀏覽器)面板中,按右鍵滑鼠在彈出的菜單中選擇Properties(屬性) 2.選擇Java Build Path(Java構建路徑),然後選擇Libraries標籤頁. 3.按下Add External JARs 這個按鈕,選擇Jar檔案即可。
Time of Update: 2018-12-05
一. 開發環境注意事項 用elipse開發的時候,開始只要用eclipse匯入就會編譯不過,提示class R 重定義了,原因是因為elipse匯入android工程後會自動產生R.java,所以只要刪除gen檔案夾就可以了,如:gingerbread\packages\apps\InternetTv\下的gen檔案夾 二. Google weather
Time of Update: 2018-12-05
前些時候,因為客戶要求加波斯語,但是目前android2.3.1並沒有這種語言,在客戶要求一定要有波斯語的情況,經過長時間的摸索與在網上求助,終於將波斯語給加出來了。下面講講新增加一種語言的步驟:1. 在sdkDemo.mk 中添加語言和國家的國際化的縮寫代碼,如伊朗:IR表示,波斯語用fa表示,這是國際化的標準,不可以隨便寫的。如果不知道國家與地區的縮寫,可以去網上找找。PRODUCT_LOCALES := fa_IR en_US zh_CN en_GB fr_FR it_
Time of Update: 2018-12-05
Linux kernel起來後啟動並執行第一個應用程式就是init,Init屬於linux下一個應用程式,其源碼在 system/core/init中,main是應用程式的入口。從main()函數就可以知道init主要功能。main()(1)安裝SIGCHLD訊號。(如果父進程不等待子進程結束,子進程將成為殭屍進程(zombie)從而佔用系統資源。因此需要對SIGCHLD訊號做出處理,回收殭屍進程的資源,避免造成不必要的資源浪費。 act.sa_handler =
Time of Update: 2018-12-05
一、簡介 Android在Linux核心原有的睡眠喚醒模組上基礎上,主要增加了下面三個機制: • Wake Lock 喚醒鎖機制; • Early Suspend 預掛起機制; • Late Resume 遲喚醒機制;
Time of Update: 2018-12-05
一、簡介 Android系統中定義了幾種低功耗狀態:earlysuspend、suspend、hibernation. 1) earlysuspend: 是一種低功耗的狀態,某些裝置可以選擇進入某種功耗較低的狀態,比如 LCD可以降低亮度或滅掉; 2) suspend: 是指除電源管理以外的其他外圍模組以及cpu均不工作,只有記憶體保持自重新整理的狀態; 3)