編輯:關於Android編程
Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、仿真環境,代碼包經過解壓縮後,第一級別的目錄和文件如下所示:
.
|– Makefile(全局的Makefile)
|– bionic(Bionic含義為仿生,這裡面是一些基礎的庫的源代碼)
|– bootloader(引導加載器)
|– build (build目錄中的內容不是目標所用的代碼,而是編譯和配置所需要的腳本和工具)
|– dalvik(JAVA虛擬機)
|– development (程序開發所需要的模板和工具)
|– external(目標機器使用的一些庫)
|– frameworks(應用程序的框架層)
|– hardware(與硬件相關的庫)
|– kernel(Linux2.6的源代碼)
|– packages(Android的各種應用程序)
|– prebuilt(Android在各種平台下編譯的預置腳本)
|– recovery(與目標的恢復功能相關)
`– system(Android的底層的一些庫)
bionic目錄展開一個級別的目錄如下所示:
bionic/
|– Android.mk
|– libc
|– libdl
|– libm
|– libstdc++
|– libthread_db
`– linker
bootloader目錄展開的兩個級別目錄:
bootloader/
`– legacy
|– Android.mk
|– README
|– arch_armv6
|– arch_msm7k
|– fastboot_protocol.txt
|– include
|– libboot
|– libc
|– nandwrite
`– usbloader
build目錄展開的一個級別的目錄如下所示:
build/
|– buildspec.mk.default
|– cleanspec.mk
|– core (各種以mk為結尾的文件,它門是編譯所需要的Makefile)
|– envsetup.sh
|– libs
|– target (包含board和product兩個目錄,為目標所需要文件)
`– tools(編譯過程中主機所需要的工具,一些需要經過編譯生成)
其中,core中的Makefile是整個Android編譯所需要的真正的Makefile,它被頂層目錄的Makefile引用。
envsetup.sh是一個在使用仿真器運行的時候,用於設置環境的腳本。
dalvik目錄用於提供Android JAVA應用程序運行的基礎————JAVA虛擬機。
development目錄展開的一個級別的目錄如下所示:
development
|– apps (Android應用程序的模板)
|– build(編譯腳本模板)
|– cmds
|– data
|– docs
|– emulator (仿真相關)
|– host (包含windows平台的一些工具)
|– ide
|– pdk
|– samples(一些示例程序)
|– simulator(大多是目標機器的一些工具)
`– tools
在emulator目錄中qemud是使用QEMU仿真時目標機器運行的後台程序,skins是仿真時手機的界面。
samples中包含了很多Android簡單工程,這些工程為開發者學習開發Android程序提供了很大便利,可以作為模板使用。
external目錄展開的一個級別的目錄如下所示:
external/
|– aes
|– apache-http
|– bluez
|– clearsilver
|– dbus
|– dhcpcd
|– dropbear
|– elfcopy
|– elfutils
|– emma
|– esd
|– expat
|– fdlibm
|– freetype
|– gdata
|– giflib
|– googleclient
|– icu4c
|– iptables
|– jdiff
|– jhead
|– jpeg
|– libffi
|– libpcap
|– libpng
|– libxml2
|– netcat
|– netperf
|– neven
|– opencore
|– openssl
|– oprofile
|– ping
|– ppp
|– protobuf
|– qemu
|– safe-iop
|– skia
|– sonivox
|– sqlite
|– srec
|– strace
|– tagsoup
|– tcpdump
|– tinyxml
|– tremor
|– webkit
|– wpa_supplicant
|– yaffs2
`– zlib
在external中,每個目錄表示Android目標系統中的一個模塊,可能有一個或者若干個庫構成。 其中:
opencore為PV(PacketVideo),它是Android多媒體框架的核心。
webkit是Android網絡浏覽器的核心。
sqlite是Android數據庫系統的核心。
openssl是Secure Socket Layer,一個網絡協議層,用於為數據通訊提供安全支持。
frameworks目錄展開的一個級別的目錄如下所示:
frameworks/
|– base
|– opt
`– policies
frameworks是Android應用程序的框架。
hardware是一些與硬件相關的庫
kernel是Linux2.6的源代碼
packages目錄展開的兩個級別的目錄如下所示:
packages/
|– apps
| |– AlarmClock
| |– Browser
| |– Calculator
| |– Calendar
| |– Camera
| |– Contacts
| |– Email
| |– GoogleSearch
| |– HTMLViewer
| |– IM
| |– Launcher
| |– Mms
| |– Music
| |– PackageInstaller
| |– Phone
| |– Settings
| |– SoundRecorder
上篇介紹了Material Design中的各種動畫效果,結合第一篇就可以寫出很棒的UI界面了,這次再學習下Material Design中其它控件.照常先貼學習鏈接:h
本文實例講述了Android編程實現換膚功能的方法。分享給大家供大家參考,具體如下:本系列專題培訓適用范圍:初級Android程序員,即有J2SE基礎和Android初級
前兩天,一張小米的宣傳海報在網上曝光,海報中是小米剛簽下的紅米代言人之一劉昊然,而亮點在於他手中的手機,這部手機采用了雙攝像頭設計,應該是一部還未發布的紅米
原圖 點擊後 代碼@Override public void onClick(View view) { switch (view.getId())