




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Android學(xué)習(xí)筆記總結(jié)第一步:Android(1) - 在 Windows 下搭建 Android 開發(fā)環(huán)境,以及 Hello World 程序搭建 Android 的開發(fā)環(huán)境,以及寫一個(gè)簡單的示例程序 在 Windows 下搭建 Android 開發(fā)環(huán)境 Android 項(xiàng)目的目錄結(jié)構(gòu)說明 寫一個(gè)簡單的 Hello World 程序 一、在 Windows 下搭建 Android 開發(fā)環(huán)境1、安裝 JDK (Java Development Kit)/jdk6/2、安裝 Android SDKhttp:/developer.android.c
2、om/sdk 3、安裝 Eclipse/4、打開 Eclipse ,并安裝其 Android 插件(ADT)打開菜單 Help - InstallNewSoftware,在 Availabe Software 中加入地址 /android/eclipse/ ,然后安裝 ADT(Android Development Tools)5、新建 Android 項(xiàng)目New - Android Project,Project Name - 項(xiàng)目名稱;Build Target - 編譯項(xiàng)目的 SDK 版本;Applic
3、ation name - 程序名稱;Package name - 包名;Min SDK Version - 程序所支持的最低 SDK 版本代號(2 對應(yīng) 1.1,3 對應(yīng) 1.5,4 對應(yīng) 1.6)6、運(yùn)行 Android 項(xiàng)目打開菜單 Run - Run Configurations - New launch configuration,設(shè)置啟動(dòng)項(xiàng)目名稱,在 Android 選項(xiàng)卡中選擇啟動(dòng)項(xiàng)目,在 Target 選項(xiàng)卡中設(shè)置模擬器7、創(chuàng)建/使用模擬 SD 卡創(chuàng)建 SD 卡,運(yùn)行類似如下命令:mksdcard -l sdcard 512M d:androidsdcard.img模擬器中使用
4、SD 卡,在項(xiàng)目配置的 Target 選項(xiàng)卡的 Additional Emulator Command Line Options 框中輸入類似如下參數(shù):-sdcard d:androidsdcard.img8、配置模擬器運(yùn)行類似如下命令:android create avd -name android15 -target 2?;蛘咧苯釉诓藛?Window - Android AVD Manager 中配置模擬器9、瀏覽模擬 SD 卡中的內(nèi)容調(diào)試程序,在 DDMS 中選擇 File Explorer ,在其中的 sdcard 目錄下就是模擬 SD 卡中的內(nèi)容10、查看日志 LogCatWindo
5、w - Show View - Other - Android - LogCat11、在模擬器中安裝/卸載 apk安裝 apk 運(yùn)行類似如下命令:adb install name.apk;卸載 apk 運(yùn)行類似如下命令:adb uninstall packagename(注:這里的參數(shù)是需要卸載的包名)12、反編譯 Android 程序解壓 apk 文件,取出其中的classes.dex文件,運(yùn)行類似如下命令:dexdump.exe -d classes.dex dump.txt(其意思是將 classes.dex dump 出來,并將反編譯后的代碼保存到指定的文本文件中)13、人品不好是出現(xiàn)
6、的某些錯(cuò)誤的解決辦法如果出現(xiàn)類似如下的錯(cuò)誤等no classfiles specifiedConversion to Dalvik format failed with error 1 解決辦法:Project - Clean出現(xiàn) Android SDK Content Loader 60% (一直卡在 60%)解決辦法:Project - 去掉 Build Automatically 前面的勾14、查看 SDK 源代碼先想辦法搞到源代碼,如這個(gè)地址 /android.asp,然后將其解壓到 SDK 根路徑下的 sources 文件夾內(nèi)即可二
7、、Android 項(xiàng)目的目錄結(jié)構(gòu)1、src - 用于放置源程序2、gen - 自動(dòng)生成 R.java 文件,用于引用資源文件(即 res 目錄下的數(shù)據(jù))3、assets - 用于放置原始文件,Android 不會(huì)對此目錄下的文件做任何處理,這是其與 res 目錄不同的地方4、res/drawable - 用于放置圖片之類的資源;res/layout - 用于放置布局用的 xml 文件;res/values - 用于放置一些常量數(shù)據(jù)5、AndroidManifest.xml - Android 程序的清單文件,相當(dāng)于配置文件,配置應(yīng)用程序名稱、圖標(biāo)、Activity、Service、Receiv
8、er等三、Hello World 程序1、res/layout/main.xml 代碼 2、res/values/strings.xml 代碼 layout直接調(diào)用values中的字符串編程方式調(diào)用values中的字符串webabcd_hello3、res/drawable 目錄下放置一個(gè)名為 icon.png 的圖片文件4、AndroidManifest.xml 代碼 5、Main.java 代碼 packagecom.webabcd.hello;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.L
9、inearLayout;importandroid.widget.TextView;publicclassMainextendsActivity/*Calledwhentheactivityisfirstcreated.*/OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);/將指定的布局文件作為Activity所顯示的內(nèi)容setContentView(R.layout.main);/動(dòng)態(tài)地在指定的容器控件上添加新的控件TextViewtxt=newTextView(thi
10、s);txt.setText(動(dòng)態(tài)添加控件);/setContentView(txt);(LinearLayout)this.findViewById(R.id.layout).addView(txt);/引用資源文件內(nèi)的內(nèi)容作為輸出內(nèi)容TextViewtxt1=(TextView)this.findViewById(R.id.txt);txt1.setText(this.getString(R.string.hello2);Android(2) - 布局(Layout)和菜單(Menu)介紹在 Android 中各種布局的應(yīng)用,以及菜單效果的實(shí)現(xiàn) 各種布局方式的應(yīng)用,F(xiàn)rameLayout,
11、 LinearLayout, TableLayout, AbsoluteLayout, RelativeLayout 為指定元素配置上下文菜單,為應(yīng)用程序配置選項(xiàng)菜單,以及多級菜單的實(shí)現(xiàn) 1、各種布局方式的演示res/layout/main.xml代碼 res/values/strings.xml HelloLayoutwebabcd_layoutMain.java代碼 packagecom.webabcd.layout;importandroid.app.Activity;importandroid.os.Bundle;publicclassMainextendsActivity/*Call
12、edwhentheactivityisfirstcreated.*/OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);2、上下文菜單,選項(xiàng)菜單,子菜單res/layout/main.xml代碼 res/values/strings.xml代碼 HelloContextMenuHelloContextSubMenuwebabcd_menuMain.java代碼 packagecom.webabcd.menu;imp
13、ortandroid.app.Activity;importandroid.os.Bundle;importandroid.view.ContextMenu;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.SubMenu;importandroid.view.View;importandroid.view.ContextMenu.ContextMenuInfo;importandroid.widget.TextView;importandroid.widget.Toast;/演示兩種菜單的實(shí)現(xiàn)方式:上
14、下文菜單(通過在某元素上長按,來呼出菜單)和選項(xiàng)菜單(通過按手機(jī)上的菜單按鈕,來呼出菜單)publicclassMainextendsActivity/*Calledwhentheactivityisfirstcreated.*/OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);/為R.id.txt1注冊一個(gè)上下文菜單(在此TextView上長按,則會(huì)呼出上下文菜單)/具體呼出的菜單內(nèi)容需要重寫onCreateC
15、ontextMenu來創(chuàng)建TextViewtxt1=(TextView)this.findViewById(R.id.txt1);this.registerForContextMenu(txt1);/為R.id.txt2注冊一個(gè)上下文菜單TextViewtxt2=(TextView)this.findViewById(R.id.txt2);this.registerForContextMenu(txt2);/重寫onCreateContextMenu用以創(chuàng)建上下文菜單/重寫onContextItemSelected用以響應(yīng)上下文菜單OverridepublicvoidonCreateConte
16、xtMenu(ContextMenumenu,Viewv,ContextMenuInfomenuInfo)super.onCreateContextMenu(menu,v,menuInfo);/創(chuàng)建R.id.txt1的上下文菜單if(v=(TextView)this.findViewById(R.id.txt1)/ContextMenu.setIcon()-設(shè)置菜單的圖標(biāo)/ContextMenu.setHeaderTitle()-設(shè)置菜單的標(biāo)題menu.setHeaderIcon(R.drawable.icon01);menu.setHeaderTitle(我是菜單);/用ContextMen
17、u.add()來增加菜單項(xiàng),返回值為MenuItem/第一個(gè)參數(shù):組ID/第二個(gè)參數(shù):菜單項(xiàng)ID/第三個(gè)參數(shù):順序號/第四個(gè)參數(shù):菜單項(xiàng)上顯示的內(nèi)容menu.add(1,0,0,菜單1);/MenuItem-新增菜單項(xiàng)后的返回類型,針對菜單項(xiàng)的其他設(shè)置在此對象上操作menu.add(1,1,1,菜單2).setCheckable(true);/創(chuàng)建R.id.txt2的上下文菜單(多級上下文菜單)elseif(v=(TextView)this.findViewById(R.id.txt2)/ContextMenu.addSubMenu(菜單名稱)-用來添加子菜單。子菜單其實(shí)就是一個(gè)特殊的菜單Su
18、bMenusub=menu.addSubMenu(父菜單1);sub.setIcon(R.drawable.icon01);sub.add(0,0,0,菜單1);sub.add(0,1,1,菜單2);sub.setGroupCheckable(1,true,true);SubMenusub2=menu.addSubMenu(父菜單2);sub2.setIcon(R.drawable.icon01);sub2.add(1,0,0,菜單3);sub2.add(1,1,1,菜單4);sub2.setGroupCheckable(1,true,false);/重寫onCreateOptionsMenu
19、用以創(chuàng)建選項(xiàng)菜單OverridepublicbooleanonCreateOptionsMenu(Menumenu)MenuItemmenuItem=menu.add(0,0,0,菜單);/MenuItem.setIcon()-設(shè)置菜單項(xiàng)的圖標(biāo)/MenuItem.setTitleCondensed()-菜單的簡標(biāo)題,如果指定了簡標(biāo)題的話,菜單項(xiàng)上的標(biāo)題將會(huì)以此簡標(biāo)題為準(zhǔn)/MenuItem.setAlphabeticShortcut()-設(shè)置選中此菜單項(xiàng)的快捷鍵/注:菜單項(xiàng)超過6個(gè)的話,第6個(gè)菜單將會(huì)變?yōu)镸ore菜單,多余的菜單會(huì)在單擊More菜單之后顯示出來menuItem.setIcon(R
20、.drawable.icon01);menuItem.setTitleCondensed(菜單1);menuItem.setAlphabeticShortcut(a);menu.add(0,1,1,菜單2).setIcon(R.drawable.icon02);menu.add(0,2,2,菜單3).setIcon(R.drawable.icon03);menu.add(0,3,3,菜單4);menu.add(0,4,4,菜單5);menu.add(0,5,5,菜單6);menu.add(0,6,6,菜單7).setIcon(R.drawable.icon04);menu.add(0,7,7,
21、菜單8).setIcon(R.drawable.icon05);returntrue;/重寫onOptionsItemSelected用以響應(yīng)選項(xiàng)菜單OverridepublicbooleanonOptionsItemSelected(MenuItemitem)super.onOptionsItemSelected(item);Toast.makeText(Main.this,被單擊的菜單項(xiàng)為:+String.valueOf(item.getItemId(),Toast.LENGTH_SHORT).show();returnfalse;Android(3) - 對話框(Dialog)和通知(N
22、otification)介紹在 Android 中種對話框及各種通知效果的應(yīng)用 常用對話框的使用,彈出式對話框、日期選擇對話框、時(shí)間選擇對話框、進(jìn)度條對話框 通知(出現(xiàn)在通知列表)和提示性通知(Toast)的演示 1、常用對話框的演示res/layout/main.xml代碼 res/layout/view.xml代碼 res/values/array.xml項(xiàng)目1項(xiàng)目2Main.java代碼 packagecom.webabcd.dialog;importjava.util.Calendar;importandroid.app.Activity;importandroid.app.Alert
23、Dialog;importandroid.app.DatePickerDialog;importandroid.app.Dialog;importandroid.app.ProgressDialog;importandroid.app.TimePickerDialog;importandroid.app.DatePickerDialog.OnDateSetListener;importandroid.app.TimePickerDialog.OnTimeSetListener;importandroid.content.DialogInterface;importandroid.content
24、.DialogInterface.OnClickListener;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.DatePicker;importandroid.widget.TextView;importandroid.widget.TimePicker;importandroid.widget.Button;publicclassMainextendsActivity/*Calledwhentheactivityisfirstcreated.*/OverridepublicvoidonCreate(
25、BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);/彈出式對話框的Demo。先調(diào)用Builder(),在Create(),需要顯示對話框的是后再調(diào)用show()AlertDialogdialog=newAlertDialog.Builder(this).setTitle(彈出對話框).create();dialog.show();/以下是各種對話框的DemoMyButtonClickListenerlistener=newMyButtonClickListener();Buttonbtn1=(Button)this.findViewById(R.id.btn1);btn1.setText(簡單的對話框的Demo);btn1.setOnClickListener(listener);Buttonbtn2=(Button)this.findViewById(R.id.btn2);btn2.setText(包括常用設(shè)置的對話框(數(shù)據(jù)來自xml);btn2.setOnClickListener(listener);Buttonbtn3=(Button)this.findVie
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)心理健康《情緒氣象臺》教案
- 食管賁門失弛緩癥護(hù)理
- 2025年細(xì)編含鎢絲織物項(xiàng)目規(guī)劃申請報(bào)告模板
- 【蕪湖】2025年安徽蕪湖無為市文化旅游體育局招聘工作人員3人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 【福州】2025年福建福州閩侯縣事業(yè)單位公開招聘青年人才42人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 光源的教學(xué)課件
- 年月日公開課教學(xué)課件
- 文庫發(fā)布:護(hù)理的課件
- 房子教學(xué)課件
- 位似教學(xué)課件
- 初一生活學(xué)習(xí)指導(dǎo)
- 2024至2030年中國臭氧濃度分析儀數(shù)據(jù)監(jiān)測研究報(bào)告
- 《化工單元操作》教案
- 2024年露營帳篷項(xiàng)目可行性研究報(bào)告
- 2023年國網(wǎng)山西省電力公司提前批招聘考試真題
- 乙型肝炎病毒實(shí)驗(yàn)活動(dòng)風(fēng)險(xiǎn)評估報(bào)告
- 福建省機(jī)關(guān)工作人員年度考核登記表
- DL∕T 5452-2012 變電工程初步設(shè)計(jì)內(nèi)容深度規(guī)定
- 《山區(qū)公路橋梁典型病害手冊(試行)》
- 中國急性缺血性卒中診治指南(2023)解讀
- 商業(yè)步行街物業(yè)管理服務(wù)質(zhì)量標(biāo)準(zhǔn)
評論
0/150
提交評論