編輯:Android開發實例
普通的Android程序Dalvik虛擬機都是從一個默認的地方載入程序需要的類文件(dex文件),而Dalvik虛擬機還提供了從其他地方載入類的能力(比如從設備的內部存儲空間以及互聯網).
這種自定義類加載機制可以使用於一些場景:
Android有個示例項目演示了如何使用, 項目地址
http://code.google.com/p/android-custom-class-loading-sample/
要使用該示例,不能使用Eclipse插件ADT來打包必需通過該項目提供的Ant腳本, 另外該Ant腳本需要Android SDK 12版本, 可以通過Android SDK Manager來下載或者到如下地址下載,然後解壓到對應的目錄中
https://dl-ssl.google.com/android/repository/tools_r12-windows.zip
https://dl-ssl.google.com/android/repository/platform-tools_r06-windows.zip
在示例中有3個類文件:
在打包的時候需要修改項目目錄下的local.properties文件,把sdk.dir的值修改為對應的android SDK目錄.例如:sdk.dir=E:\\google\\android-sdk-windows
另外不要忘記在default.properties中指定需要的android平台: 例如 target=android-9
然後就可以執行android install來build並且安裝到模擬器或者手機上了.
載入自定義類的過程
Android提供的示例項目中,通過Ant打包後把com.example.dex.lib.LibraryProvider類放入了程序的assets文件夾中,然後從這裡讀取需要動態載入的類. 為了演示從互聯網載入類和使用Eclipse ADT插件來build該示例,我們對該項目做了簡單修改,修改後的示例項目地址:
http://code.google.com/p/goodev-demo 中 的android-custom-class-loading-goodev-demo
在該示例中刪除了com.example.dex.lib.LibraryProvider類,我們把該類打包為dex文件並且放入到了互聯網上下載地址: http://goodev.sinaapp.com/and/secondary_dex.jar
在程序運行的時候先從該地址下載需要的類文件,然後解析.
詳細情況請參考項目中的代碼注釋
修改後的項目可以通過Eclipse ADT來build.
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
本文使用Matrix實現Android實現圖片縮放與旋轉。示例代碼如下:代碼如下:package com.android.matrix;import androi
在java中可有兩種方式實現多線程,一種是繼承Thread類,一種是實現Runnable接口;Thread類是在java.lang包中定義的。一個類只要繼承了Th
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我