編輯:關於Android編程
Android平台主要通過aapt工具來處理資源文件。
詳細使用介紹可以參考:
http://elinux.org/Android_aapt
下面來研究aapt源代碼。
參考:
http://www.cnblogs.com/dyllove98/archive/2013/06/19/3144950.html
目錄結構:(frameworks/base/tools/aapt下輸入tree)
├── AaptAssets.cpp ※ 重要
├── AaptAssets.h
├── Android.mk
├── Bundle.h
├── CacheUpdater.h
├── Command.cpp 實現各種命令。
├── CrunchCache.cpp 實現CrunchCache類
├── CrunchCache.h
├── DirectoryWalker.h
├── FileFinder.cpp 實現SystemFileFinder,沒什麼好說的,對linux文件操作API不熟悉的建議回爐大名鼎鼎的APUE。
├── FileFinder.h
├── Images.cpp 封裝libpng,實現png解碼,也沒啥好說的,不熟悉的話直接看libpng文檔。
├── Images.h
├── Main.cpp 入口,檢查參數,並解析執行相關命令。
├── Main.h
├── NOTICE
├── Package.cpp ※ 重要 實現各種資源打包函數。
├── printapk.cpp 不清楚干什麼,查看Makefile,好像也沒使用。
├── pseudolocalize.cpp
├── pseudolocalize.h
├── qsort_r_compat.c 封裝qsort
├── qsort_r_compat.h
├── Resource.cpp 對資源進行解析
├── ResourceFilter.cpp
├── ResourceFilter.h
├── ResourceIdCache.cpp ResourceIdCache
├── ResourceIdCache.h
├── ResourceTable.cpp ※ 重要 ResourceTable
├── ResourceTable.h
├── SourcePos.cpp 類SourcePos
├── SourcePos.h
├── StringPool.cpp 類StringPool
├── StringPool.h
├── tests 測試目錄
├── WorkQueue.cpp 封裝線程
├── WorkQueue.h
├── XMLNode.cpp 封裝XML解析
├── XMLNode.h
├── ZipEntry.cpp
├── ZipEntry.h
├── ZipFile.cpp 封裝zlib
└── ZipFile.h
待續...
上一篇博客,我們已經得到了文件夾列表,我們需要對文件列表子項添加事件,比如我們點擊的是文件,就執行 打開操作,點擊的是文件夾執行打開文件夾操作,遍歷文件清單,以此類推直到
Android事件驅動模型需要深刻學習和理解,事件驅動模型三要素如下:事件驅動模型 事件源:事件的制造者,如:按鈕 通常會擁有注冊和取消監聽器的功能 監聽器:事件的
Systemproperties類在android.os下,但這個類是隱藏的,上層程序開發無法直接使用,用Java的反射機制就可以了。Java代碼中創建與修改androi
今早起來運行程序 一直報這個錯Error running app: Instant Run requires ‘Tools | Android | Enabl