Android 4.0引入了一項很重要的技術就是 WiFiDirect (WiFi直連) ,它可以讓WiFi裝置無需熱點即可實現兩個WiFi裝置的P2P資料交換。使用最新的Android 4.0 SDK,最低API Level 14才支援此項技術,在SDK的例子中我們可以看到很多介面用到了Android 3.0時代的Fragment容器。 首先我們需要實現android.net.wifi.p2p.WifiP2pManager.ChannelListener
一.Linux系統進程間主要通訊方式 1.socket; 2.name pipe具名管道; 3.message queue訊息佇列; 4.singal訊號量; 5.share memory共用記憶體; 6. semophore訊號量 二.Java系統的主要通訊方式 1.socket; 2.name pipe; 三.Android系統主要通訊方式 Binder 通訊 pipe socket share memory
做個升級程式,支援SD卡、隨身碟、Flash三種路徑升級該升級應用程式要和/recovery/sbin/下的recovery配套使用,韌體共有boot.img,recovery.img,system.img,其中system.img是空的,system.img打包格式要和recovery.img匹配使用此程式:先把librecovery.so是添加到rootfs檔案系統庫中,再把應用程式recovery_sample添加到某目錄下,然後執行recovery_sample就可以實現update功能
對於關注Android底層的朋友來說,其具體的啟動過程應該是比較吸引我們的。但是很多開機檔案什麼的,都得adb push到host上來看,挺不方便的,都怪Android內建的Toolbox太簡略了。所以在深入瞭解Android的啟動流程之前,我們來把Busybox安裝到Android上去,這樣,就有很多工具供我們使用了。 首先去busybox首頁 下載最新版本的原始碼,然後用arm的交叉編譯器編譯出busybox的可執行程式,編譯的時候需要注意一些設定選項,例如 Build Options
在MIUI論壇裡讀了讀“MIUI ROM的適配教程",覺得很不錯,我覺得對大家很有協助,我就轉載了原文章論壇地址 :http://www.miui.com/forum-forumdisplay-fid-38-page-1.html總共六部分:第一部分:先認識一下Android手機的軟體結構,介紹一些基本概念。第二部分:準備工作,包括一些工具和環境的搭建。第三部分:反編譯,介紹APK的結構,資源的修改,smali檔案等。第四部分:移植MIUI Framework第五部分:移植MIUI
首先下載下android源碼並編譯,網上的資料特別多,可以參考一下這個http://blog.csdn.net/andy_android/article/details/6925460按照上面網址的步驟,將android核心編譯成功,如果不出意外的話,在out/target/product/generic目錄下會產生三個檔案,分別是ramdisk.img、sytem.img、userdata.img。這三個檔案到底有什麼用呢?下面開始分析一下。首先在linux終端下使用命令file
1、調用main函數在gingerbread/bootable/recovery/recovery.c最下面有個main(),這是recovery應用的主入 口,當編譯recovery的時候,會產生一個名為recovery的可執行檔,我這邊是放在out/目錄下recovery/檔案系統的/sbin目 錄下,調用recovery可執行檔時會傳入參數,這些參數就是main函數的參數,如下01int02main(intargc, char **argv)03{04 chartmp[4];05
獲得日升日落時間的關鍵代碼就是下面這個服務,當然要去manifest裡註冊和啟動這個服務package com.android.options;import android.app.Service;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import
1. 搭建移植環境 “工欲善其事,必先利其器”。在製作自己的ROM之前我們必須做好準備工作,搭建好移植環境。 我們這個系列的主旨是如何基於原廠ROM修改。我們所涉及的修改理論上說是不需要源碼的,對源碼開發感興趣的可以參照http://source.android.com。對於ROM製作者來說,我們建議你下載一份google發布的android原始碼,這不是必需的,但是對於理解排查ROM適配中的一些錯誤有很大協助。1.1 選擇作業系統
一、進程(process)1.預設情況下,每個application都運行在一個獨立的process中,所有的component都運行在該process中的主線程中(main線程,由於主要處理UI,所以也叫UI線程)2.可以在manifest檔案中通過component的android:process屬性為當前組件指定啟動並執行process,甚至不同application中的組件都可以運行在同一個process中,
一、Android Service介紹Android的Service分為兩種:Android Service和Native Service。Android Service:又稱為Java Service,是實現在架構層(framework)裡的Server。Android Service以Java編寫。Native Service:又稱為System Service,是實現在Runtime層裡的Server。以MediaPlayer
首先說句抱歉,今天事情比較多,教程出來的比較晚,請包含。今後幾天也會稍晚一點,但是我會每天更新的。 今天我們來詳細的看看反編譯,想要修改一個系統內建的應用程式和它的代碼,在沒有源碼的情況下,我們就不得不用反編譯來修改。 和很多書籍一樣,為了向經典的"Hello, World"致敬,我們也從一個簡單的程式開始HelloActivity.apk。當你把這個APK安裝到手機上運行後,在螢幕上就顯示一行文字"Hello,
代碼其實沒有幾行,這裡簡單記錄下學習的過程.Android系統啟動時會掃描系統與SD卡中的對媒體檔案,分別存入資料庫sqlite中,以contentProvider的形式對外提供服務路徑:/data/data/com.android.providers.media/databases/XXX...可以看到有2個db檔案, 一個是系統的,一個是sd卡裡的用SQLite
一、異常1.不要忽視異常處理如果像下面的代碼這樣,對catch後的異常作空處理,就像埋下地雷一樣讓人感覺到毛骨悚然:錯誤的做法: void setServerPort(String value) { try { serverPort = Integer.parseInt(value); } catch (NumberFormatException e) { } } 正確的做法(1):在方法聲明時拋出異常,由客戶程式員去負責消化這個
1、android檔案系統的結構android源碼編譯後得到system.img,ramdisk.img,userdata.img映像檔案。其中,ramdisk.img是emulator的檔案系統,system.img包括了主要的包、庫等檔案,userdata.img包括了一些使用者資料,emulator載入這3個映像檔案後,會把 system和 userdata分別載入到
android系統啟動時會載入bootloader,之後會boot(kernel),之後會負載檔案系統ramdisk,這裡麵包括載入的system,userdata,init.c,init.rc等,在解析init.rc 時會解析 service servicemanager/system/bin/servicemanager 會執行servicemanager.java servicemanager.cpp 會啟動一個守護進程, zygote /
Activity是Android應用程式的載體,允許使用者在其上建立一個使用者介面,並提供使用者處理事件的API,如onKeyEvent, onTouchEvent等。 並維護應用程式的生命週期。Activity本身是個龐大的載體,可以理解成是應用程式的載體,如果木有Activity,android應用將無法運行。ActivityManagerService負責維護Activity的執行個體對象,並根據運行狀態維護其狀態資訊。 當我們調用Acitivity的
google昨天推出Android Studio,個人覺得不錯,正好看見有人寫了Android Studio,方便大家尋找,所以就裝載了。原文地址為http://www.android-fans.net/thread-6360-1-1.html工欲善其事,必先利其器。面對開發人員詬病的開發效率低、片段化日益嚴重的問題,從開發工具上著手似乎是最佳的選擇了。5月16日淩晨,Google2013年I/O開發人員大會在美國加州舊金山芳草地藝術中心開幕。大會上,Android
對於Android 4.0 SDK中提供的Beam例子,對於NFC開發來說的確是一個不錯的模板。對於瞭解NFC的NDEF訊息處理過程不妨看下面的代碼。public class Beam extends Activity implements CreateNdefMessageCallback, OnNdefPushCompleteCallback { NfcAdapter mNfcAdapter; TextView mInfoText; private
總共12部分,有12個文檔,下面有我從裡面隨便截的幾個圖,如過覺得不錯,就下載。01_Android系統概述02_Android系統的開發綜述03_Android的Linux核心與驅動程式04_Android的底層庫和程式05_Android的JAVA虛擬機器和JAVA環境06_Android的GUI系統07_Android的Audio系統08_Android的Video_輸入輸出系統09_Android的多媒體系統10_Android的電話部分11_Android的串連部分12_Android