編輯:關於Android編程
1 軟件下載
(1) JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html
(2) Eclipse :http://www.eclipse.org/downloads/
(3) Android SDK : http://developer.android.com/sdk/index.html
下載:installer_r22.6.2-windows.exe或android-sdk_r22.6.2-windows.zip
(4) ADT :http://developer.android.com/sdk/installing/installing-adt.html
下載:ADT-22.6.2.zip
2 安裝
2.1 JDK安裝JDK並配置JAVA_HOME環境變量。
2.2 Eclipse 解壓Eclipse。
2.3安裝Android SDK 雙擊安裝installer_r22.6.2-windows.exe。
安裝完成後配置環境變量: %ANDROID_SDK_HOME% = C:\ProgramDev\Android\android-sdk。如果不配置ANDROID_SDK_HOME,則打開"SDK Manager.exe"後,生成的相關文件會位於C:\Users\(用戶名)\.android目錄下,配置了環境變量,則.android目錄會位於%ANDROID_SDK_HOME%指向的目錄下。
2.4 安裝ADT點擊Help->Install new Software,然後Add->Archive->找到我們下載好的ADT-22.6.2.zip,同時給個名稱,如ADT Plugin,如下圖:
確定之後,勾選Developer Tools,下一步:
然後再點下一步,一直繼續。
3 運行Eclipse3.1 打開Eclipse配置Android SDK位置
3.2
切換透視圖
我們先切換透視圖到JAVA,找到右上角的透視圖按鈕,在彈出的窗口中選擇Java,確定。
這時工具欄發生了小小變化,多出了兩個小按鍵:左邊的就是SDK Manager,右邊的是Android虛擬設置管理器,即AVD(Android Virtual Device)Manager。我們馬上就要操作它。
注:在Java EE視圖下沒有工具欄的Android圖標。3.3 創建一個設備
AVD(Android Virtual Device)就是Android應用程序運行的虛擬設備。建立的Android應用要運行,必須創建AVD,每個AVD上可以配置很多的運行項目。
點擊工具欄上的類似手機的一個小按鈕,彈出對話框:
點New,我們來新建一個設備:SD卡會在系統裡生成一個同等大小的文件,用來模擬SD卡,因此不宜設置得太大。
點擊確定,新建成功。
4 創建Hello World項目
點擊File -> New -> Android Application Project
填好應用名稱和相應信息,包名一般是網站域名倒過來寫,包名一定要唯一,否則就被認為是同一個程序。目標版本是兼容最高的版本。點擊NEXT:
Mark this project as a library:為其他應用程序做基礎,作為一個包存在。
以上是設置啟動程序的圖標。
上是創建一個應用程序的模板選擇。
點擊Finish,一個項目創建完成。
完成後,Project Explorer窗口有了一個HelloWorld的東東。
src源文件
gen ADT自動生成的JAVA文件,程序員千萬不要去修改
Android 4.4.2+Android Private Libraries jar文件
assets資源文件,圖片,音頻,視頻等
bin二進制文件,編譯過後的文件
libs第三方的jar文件,即引用第三方的代碼
res也是資源文件,與assets不同,生成的文件都有ID
5 運行Hello World項目
在HelloWorld上點右鍵,Run As->Run Configuration:
或在HelloWorld上點右鍵,Run As->Android Application:
第一次啟動可能需要幾分鐘,請耐心等待:
Hello World!雖然還沒有編寫一句代碼,但是經典的hello world界面出現了。看到這個界面後,你的android編碼之旅就正式啟航了。
6 離線下載Android SDK
打開"SDK Manager.exe",下載相關的SDK時,會非常慢。可手動獲取這些包的下載地址並使用下載工具下載,手動安裝。安裝方法簡單,重點在於獲取下載地址,因每次版本更新地址都可能會有所不同。下載完成後將下載的壓縮包放入temp文件夾下。
例如:C:\ProgramDev\android\android_sdk\temp。
然後執行Android SDK Manager 選擇你已經下載的包進行安裝即可。
6.1 獲取離線安裝包地址
在"SDK Manager"中,打開右下角的查看日志按鈕(紅色手右邊的那個按鈕)可獲取讀取xml文件日志。認真查看日志文件,發現規律如下:先加載一個xml文件,解析該xml文件,再從該xml文件中獲取對應分類的文件的版本信息。逐一打開這幾個xml文件,發現就是描述各分類文件的版本信息的,此時我們可從xml文件查看各文件名,只需該文件名填入到這個下載地址即可完成下載:
https://dl-ssl.google.com/android/repository/******.zip (後面這個******.zip是根據你需要下載的文件進行對應填充)。
查看SDK Manager Log發現每次更新時,SDK Manager 都下載以下幾個xml文件:
http://dl-ssl.google.com/android/repository/repository-8.xml
http://dl-ssl.google.com/android/repository/addon.xml
https://dl-ssl.google.com/android/repository/addon-6.xml
編寫一個簡單程序,將其中的名為url的標簽對應的內容,拼接在路徑 http://dl-ssl.google.com/android/repository/ 後面,即可得到所有需要的安裝包的下載地址,然後可以用迅雷等下載工具進行下載,將下載好的包拷貝到SDK根目錄下的temp文件夾內,再點安裝時,即可直接安裝,節省大量時間。
6.2 解析地址程序
用到dom4j-1.6.1.jar庫,請自行下載。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 2014-04-20: wintys changed From ZQY's URLFinder
* ==============================================
* This program allow you to catch the URL of the installation packages
* download by Android SDK Manager. Run this program and get packages'URLs
* in the urlfile.txt, copy them to Download Tools to download them faster.
* (The speed is extremely slow in China.)
* Copy the downloaded packages to {your installation path of Android SDK}/temp
* and install them fast in SDK Manager. Enjoy.
*
* @author ZQY
*
*/
public class AndroidSDKUrlParse {
/* the XML files the SDK Manager read... */
public static final String repository = "http://dl-ssl.google.com/android/repository/repository-8.xml";
public static final String addon = "http://dl-ssl.google.com/android/repository/addon.xml";
public static final String addon6 = "https://dl-ssl.google.com/android/repository/addon-6.xml";
public static final String addon2 = "http://software.intel.com/sites/landingpage/android/addon.xml";
public static final String sysimg = "http://www.mips.com/global/sdk-sys-img.xml";
public static final String sysimg2 = "http://download-software.intel.com/sites/landingpage/android/sys-img.xml";
public static final String[] repos = { repository, addon , addon6};
public static void main(String[] args) throws MalformedURLException,
DocumentException {
BufferedWriter out = null;
try {
File file = new File("urlfile.txt");
out = new BufferedWriter(new FileWriter(file));
for (String repo : repos) {
try{
Document doc = read(repo);
findurl(doc.getRootElement(), out);
}catch(Exception e){
e.printStackTrace();
}
}
out.close();
} catch (FileNotFoundException e) {
System.err.println("URL does not exits.");
} catch (IOException e) {
System.err.println("error write output file.");
}
}
/* find the <sdk:url/> tag, and get the absolute path of the file */
public static void findurl(Element element, BufferedWriter out)
throws IOException {
List<?> list = element.elements();
for (Iterator<?> its = list.iterator(); its.hasNext();) {
Element e = (Element) its.next();
if (e.getName().equals("url")) {
String text = e.getText();
String url = "";
if(text != null && !text.startsWith("http")){
url = "http://dl-ssl.google.com/android/repository/"+ text;
}else{
url = text ;
}
url += "\n";
System.out.println(text);
out.write(url);
}
findurl(e, out);
}
}
public static Document read(String fileName) throws MalformedURLException,
DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new URL(fileName));
return document;
}
}
運行結果:
android-1.1_r1-windows.zip
android-1.1_r1-macosx.zip
android-1.1_r1-linux.zip
android-1.5_r04-windows.zip
android-1.5_r04-macosx.zip
android-1.5_r04-linux.zip
android-1.6_r03-linux.zip
android-1.6_r03-macosx.zip
android-1.6_r03-windows.zip
android-2.0_r01-linux.zip
android-2.0_r01-macosx.zip
android-2.0_r01-windows.zip
android-2.0.1_r01-linux.zip
android-2.0.1_r01-macosx.zip
android-2.0.1_r01-windows.zip
android-2.1_r03-linux.zip
android-2.2_r03-linux.zip
android-2.3.1_r02-linux.zip
android-2.3.3_r02-linux.zip
android-3.0_r02-linux.zip
android-3.1_r03-linux.zip
android-3.2_r01-linux.zip
android-14_r03.zip
android-15_r03.zip
android-16_r04.zip
android-17_r02.zip
android-18_r02.zip
android-19_r03.zip
sysimg_armv7a-14_r02.zip
sysimg_armv7a-15_r02.zip
sysimg_armv7a-16_r03.zip
sysimg_armv7a-17_r02.zip
sysimg_armv7a-18_r02.zip
sysimg_armv7a-19_r02.zip
samples-2.1_r01-linux.zip
samples-2.2_r01-linux.zip
samples-2.3_r01-linux.zip
samples-2.3.3_r01-linux.zip
samples-3.0_r01-linux.zip
samples-3.1_r01-linux.zip
samples-3.2_r01-linux.zip
samples-14_r02.zip
samples-15_r02.zip
samples-16_r01.zip
samples-17_r01.zip
samples-18_r01.zip
samples-19_r05.zip
platform-tools_r19.0.1-windows.zip
platform-tools_r19.0.1-linux.zip
platform-tools_r19.0.1-macosx.zip
build-tools_r17-windows.zip
build-tools_r17-linux.zip
build-tools_r17-macosx.zip
build-tools_r18.0.1-windows.zip
build-tools_r18.0.1-linux.zip
build-tools_r18.0.1-macosx.zip
build-tools_r18.1-windows.zip
build-tools_r18.1-linux.zip
build-tools_r18.1-macosx.zip
build-tools_r18.1.1-windows.zip
build-tools_r18.1.1-linux.zip
build-tools_r18.1.1-macosx.zip
build-tools_r19-windows.zip
build-tools_r19-linux.zip
build-tools_r19-macosx.zip
build-tools_r19.0.1-windows.zip
build-tools_r19.0.1-linux.zip
build-tools_r19.0.1-macosx.zip
build-tools_r19.0.2-windows.zip
build-tools_r19.0.2-linux.zip
build-tools_r19.0.2-macosx.zip
build-tools_r19.0.3-windows.zip
build-tools_r19.0.3-linux.zip
build-tools_r19.0.3-macosx.zip
tools_r22.6.2-windows.zip
tools_r22.6.2-linux.zip
tools_r22.6.2-macosx.zip
docs-19_r02.zip
sources-14_r01.zip
sources-15_r02.zip
sources-16_r02.zip
sources-17_r01.zip
sources-18_r01.zip
sources-19_r02.zip
google_apis-3-r03.zip
google_apis-4_r02.zip
google_apis-5_r01.zip
google_apis-6_r01.zip
google_apis-7_r01.zip
google_apis-8_r02.zip
google_apis-9_r02.zip
google_apis-10_r02.zip
google_apis-11_r01.zip
google_apis-12_r01.zip
google_apis-13_r01.zip
google_apis-14_r02.zip
google_apis-15_r02.zip
google_apis-16_r03.zip
google_apis-17_r03.zip
google_apis-18_r03.zip
google_apis-19_r04.zip
google_tv-12_r02.zip
google_tv-13_r01.zip
support_r19.zip
android_m2repository_r05.zip
google_m2repository_r07.zip
market_licensing-r02.zip
market_apk_expansion-r03.zip
google_play_services_3265130_r12.zip
google_play_services_4323030_r16.zip
usb_driver_r09-windows.zip
play_billing_r05.zip
https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip
https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip
webdriver_r02.zip
gcm_r03.zip
support_r19.1.zip
6.3Android SDK 22.6.2離線下載地址通過分析上面的地址,可以得到如下離線下載地址對應關系。6.3.1 tools(必須安裝)
Android SDK Tools 、 Andorid SDK Platform-tools、 Android SDK Build-tools分別對應:
http://dl-ssl.google.com/android/repository/tools_r22.6.2-windows.zip
http://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip
6.3.2 Android 4.4.2 (API 19) (當前最新版本)
Android 4.4.2 (API 19)已安裝的部分分別對應離線下載地址:
http://dl-ssl.google.com/android/repository/docs-19_r02.zip
http://dl-ssl.google.com/android/repository/android-19_r03.zip
http://dl-ssl.google.com/android/repository/samples-19_r05.zip
http://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-19_r04.zip
http://dl-ssl.google.com/android/repository/sources-19_r02.zip
6.3.3 Android 2.2 (API 8) (可根據兼容性需求選擇安裝)
Android 2.2 (API 8) 分別 對應離線下載地址:
https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip
https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip
https://dl-ssl.google.com/android/repository/google_apis-8_r02.zip
6.3.4 Extras Android Support Library和Google USB Driver必須安裝。
Android Support Library和Google USB Driver分別 對應離線下載地址: http://dl-ssl.google.com/android/repository/support_r19.1.zip http://dl-ssl.google.com/android/repository/usb_driver_r09-windows.zip
7 其他
7.1 ADT22.6.2 新建一個android項目多出一個appcompat_v7項目appcompat_v7是google自己的兼容包,右鍵你的工程->properties->android,就會發現在library裡面有import appcompat_v7,不能隨便刪除,刪除後android工程會報錯。建立Android Application的時候,只需要將Minimum Required SDK選擇到Android 4.0版本(即API 14),就不會在出現appcompat_v7這個內容啦。
在eclipse中file菜單中選中new--->Android Application Program-->Next --&
首先看下效果圖布局文件:<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
我要自定義的控件是一個蓋世英雄,它不僅僅是一個Loading控件,同時還支持進度條 (ProgressBar)功能 。它會在你需要的時候出現,它支持 left,top,r
上一篇《仿微信底部Tab欄》中粗略的講了下底部Tab欄的封裝,不少同學在實際運用中發現了一些問題,比如我demo中的title用了actionbar,所以如果新建的Act