安卓计算器开发试验报告_第1页
安卓计算器开发试验报告_第2页
安卓计算器开发试验报告_第3页
安卓计算器开发试验报告_第4页
安卓计算器开发试验报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海电力学院嵌入式WebOS应用开发实验报告实验名称: 使用An droid Developer SDK开发应用程序专 业:姓 名:班 级:学 号:作品的运行环境及安卓SDK基础操作SDK An droid Developer 是一款在windows系统上运行的针对An droid应用开发的谷歌官方软件(需要 JAVA环境支持)。1、导入工程2、建立虚拟机在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB因为部分程序如果调用资源过大会导致虚拟机无法运行。3、虚拟机界面二、作品介绍我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记

2、数法表示,另外还有退格跟清屏功能键。三、 编程以及运行调试(一)、在MyDesktop主界面中添加应用图标1.首先在我的桌面上添加你应用的图标以及文字,双击图标后就可以看见对应的代码,可直接在代码中进行修改图片文字的大小颜色等等Java - MyOesktopAes/layout/activity-iTiiairi.xiTil - ADT 就调 *a(w)/| £££虹七卜;切 Jwk 也 iu;I*itr也”14 :PaletteF3 raphicil Layout S srli询 i t 0 Nncu Orw 营:B 干 * hloTrtlrEiiair &a

3、mp; IMiainActivhy El E啟題直10氯丨口岸夫吗韶G ° B臺 l 巨Ab salute Layout|竺| btn_%>tEUin I'Eulton?|ok| btn_ipp_Ml burttun)|空| trtnjsthff i Button)胭 tefliVinvl !阴 textViewi .其主"冏1»诫料皿-凹 ttnjffi (fcttQn) 辑TeaiViewDI -"广昇即U Graphical Layout 7-, activrty mairLxml以下是对应图像图标的代码op/Fe&/layo

4、ut/activity nnain.:xml - ADTSeas k昶? Kml出2 Mwl试曹La阳5n£| Burton: ©+idbtfi_w*isin 声” Birtf-ort ®+-id/btn_app_sel |uil BLrttDnc ®> + id/bin.other 囤 TMrtWew lklA nd View'll Abl ItrrtAfw画 If dView: 斗id/teriViei诒 TEVi 4 誠E Buftcrc i + id/btn.fff囤 lexMew.曲寸汕T胡ViewCdJj;J«TI|

5、亶届卅”曲靭:2 x*triTfc ty_ff£ 斋1 "PIffH T1 t7J«i3Tl l JS 1andlzoLdl.: laycoiiE_h-exgc«'aaE<rdp_£'-ont'ent 存為 ajidrold ?】 丫匚2匚_耳"Jnar.droxd:gravity1- ''Wntex_vertical | cejit-r_hcri ZGJitsl * ajLdzoLdz r eir n,f's tri ng/ai_ids5jk top"AHlSrld 2

6、 匸 U 工£匚口0£"* #FFFTTT"n遐anarcld s c-escxSlie "50®u /><£uttQ口axdrold z id-"(?-* id/fctreld: 1 youc:lnandroid 5 l.w&uC沽皀直口匕百3疳*dp斤ar-dzeid: lttjo-uit_niaigijalcp-鱼一2dp " androLdJ layouc_K ""Jidlp* arLdrold 21 ayeyue 尸"SI Cp n?baclcg

7、rau-nd""tfdraafileZffcdsreceipt"* J><TeatVLewaxdroid:i<3-"3+id/rsxtVieDZ "AndEQld 'i 1 typujwl 口匸上 "vf c&nttfit: " android 51 ayoun-elgncpraMn tejtw androids layoutKrfJcip u jRTMirrti rl i 1 j%wnsr;*Hriin *文件旧钿已Refactor丽測嵬蘇 門”逼硒 凸口 Z ' 3T O惜也茅源

8、管理燼厠| j0 匕 drawable贰沖凸 drwblc-hdpi血3 chalfr|om_bg_fociiiseds9ipflg 凹 chatFrom_bg_r>ormal.'9.png 冏 ehslft*m_bg_pr#iSBd.9pifbgi 2 dieckboxbackgroundJtml 0 chKkbQsr-off.biackgrcud.png 阀 checkhoxnbaclcground.ipng 冏 dear_.png i问 ctearj.png UJ3 dear_2.png 迪 finrsh_Qk.pngE詡 ic.launcher.png 冏 irng&am

9、p;rpng 113 hngLpng 冏 img2.png 曲 irTbgiS-png 问 im.-png 冏 img5rpng li£3 irngfi-png 昭 img7.png lira irnS-png 阿 list_tab_a.png EQ listjab.png lira list_dtle.png 冏 scain.ping图片可以在左侧的选项中自行进行挑选也可以添加自己的图片,只要将图片放到对应的文件夹之下在刷新就可以,但不建议放分辨率过高图片可能会出现超 出界面的等错误。(二)、在res/layout目录下新建.xml文件,由于计算器的按钮很多,要在xml界面中添加排

10、版:塾hi Mik h心苦 JFk:.虔日卫 為和 *E.w «K>hi-S!” w CM巾® 兰号、Java - MyDktop/res/laytMjyictivity.fff.Krnl - A jH(RF fiDW W»H电由(& l* 埠 ; m * i 色q琲|饶QfTiUi-EKll-iTFBl*匚 W7?RWiAA+Hwh-iW-JHK:l5卜匸JlCfcH«VKbe»M>S显 p e |3. MhU!ll- Up*> dutddbcriiiy. J<t<. 血 KiiiMElM审 Jim

11、71;hfQ*d£#JrfllnzdxDldiM'Mfc'唱y日G ilnd»wtf Hwicutw'Fl If口iK;jffi S ft4 SCJi fEDotiYi 丹 ji* J.jwt *swriTify_fff 1 E:S 且申“叶«Q彳:-吁 iWHI:-& ¥1 丄Erl -扌 HMfl4qinKA>_JWSA 尺h«Mn卜4UME¥JTE>nbtflKi切閔閣AHciini卜s冋hi+CErCEfiioMuncftiHl肪4|J 4£!l0l32 MM站山Hl出MH

12、n Fflk 赵L; Na ci-ari-Mr - BF?miro+w umi Mr±»-: (iip.l、申-M-pKXig $1*訴耳电JF- n/k3Mpp9 1«!E>E3PZfl 12 i*3E i W HyteskrrofjJ dgEjrrP-ilifl*""H Grapwejl Layout El 4Ctr*Ttjp_Fxml代码首末的</AbsoluteLayout>格式较为自由可以直接在界面中拖动图标位置以及修改大小,而其他layout则更会自动排列, 各有优劣。(三)、在src/weibo.te

13、st.ui目录下新建.java文件,计算器的按钮算法等都在此实现。ii(p)运行 闔口wo莘助(H)J | fffAotitity. jSS :HainJlatiti ty. j packageev 4: 疋 审七i vi tjr_£ff. ini*ct:ivi ty_jn n.L il xia >心 * import java.util.ArxayList;|class ttfActlvl'cy exteruls AcclvltyprivateButtonbc_l;orivateButtonbt_2;priva七匕Suttonbt_3;privateButt 口:nb

14、t 4;privateButtonbt_5:privateButtonbt_6?privateButtonbt_7;privateButtonb e. S ;privateBuctonprivateButtonprivateButtonbt add;privateButtonbc_sub: / 帘privateButtonbtjmulclply:privateButtonbt_divi.de; /privateSuttonbt back;privateBurtonbt_equalj /privateBuetofibt_point: /乘等于 占j文枫FJ 则IE) Reactor 疆出画 测彎

15、曲 甯0;册 加目冋 运行囲 庄口 番貼(H3hts启 空 = 口: ndroidMBnHiei.'Lxml,a clflfftt-deaejjrhtcachejSi MyOesktDp.apIcnrsourcesjip.jfi W«iKin<te4tJnpu«.Ai* 色 libf And rofd-aup port-w4jar* eI & drwablrr- & *tbh-h(jpi鼻 draable ldpiI io dFrahle-mdpil 三 drwablr-jchdpi禹 artvTty.rTMinaMmig artivrty.w

16、mnmil7. ulMtlingJtefn旦! gwjtefYLJiTnl rtEm_flpp_ifcwM!jarnlI £ rnwu> 白 valuerp &胡期诗MOWpI £ ¥aluiF5-SM!72iklpdand也 AndrcidMarirfieLKmlproguard-prujTcLM.尿I pwjEpFge贰渝q(三)、声明工程名1、在应用中有三处需要声明,首先是在An droidMa nifest.xmlJava - MyDesktop/Android MarifKtsKm I ADI:門T fui二:.$鸽凸西三* £?

17、 X =0*0"眨*出& 貝窄jjj;Hi:! fyn V-utiTL £f 嚣 叫 *acrlv±t.yAajidlroLd: ziams sreibo tertui. Br£Mzr=-J5jjp-slc,tivxtyrrancirDid; lalbel- "|,rtrx.nffXaET naoe" >&口 上亠丄匕匕!:&<aatlvlcyandroid: ame1- "Breits < tef t ui. fffsAuUivity彳 android; label" &

18、quot;,|'Jtri.口口7尹_门3亡 * >rile-TAC/acrivlEyi直<actxvicydzidroid; name- reiho 七est izi. HjSJ.nAcbxvi by*android; label* #ffSErid0Xa.ppnane 用 >*< intent-fl lc-er>i-ndraidi:int«nt.«ctxon- WLIJir" />ccategor;' andzold najr*android. intert catefl'iDZ'y. UinK

19、CEEJ?" /> </.lnce 口v1 ManiiiM-t |Aj Applicdilion Pj Pernnisstons |T| On'StrunfbcnJlion 二,AndrofdMAnifesTtJiFYilir.題 Ja.dm 西用 回I理总曲 HHq由”Android2D14口£;=口!9- KyDeslTEap rnaTalling HyDeakeep.apk.-.201-06-09 22iGBi:4D - KyDesln:dp Success !2D1-O t-D9 221 e4D - HyDeslTE口口 3exrj.ng acE

20、ivitv veitac .i£1aLDAjCTJ.VLcy 口口 dsvice eunilB2、然后是在 MainActivity.java Java - MDMktop/irt/WeibcVtesVui/MainAtivity.jaa - ADT 文JHKlI Refactor 翻国 SfHlN) fltff:A:贞自曲跖画 SdlW SJUtHJ?t*j'-"Bl - V T Q TS(' <? T: ® '? T f: f J 匸 O | u Android Privjte LibrarAs田1 comzsy.fli 口 pe

21、e/ 甘 weibD.tM'Liji- f| ErgiwieAJnf&MiplJer* b T E r c* tvsApprs Activity .Java p 7| HfA£tiMTt.jjlvJl- J M-aim4c1nrtya*ajTj MyObjcctArtftiyjavaP Mt吉 gsn iGener-abpd Ja Fis弗 wieib口.bi口飪 binD & d«i»dhJhiE & mAndreidManfeTtKmljariistcache 毎 MO«ktDpjpk rrKHjr<eS-ip

22、協 WcudnTMtlnputapk & libv千 I a«idrciid-5Juppcirt-v4.jair*霽resP & drfl-Wt» 白 drawjUe-hdpiMdha.te.ui.MjMfiAdhnlyJb4nRfi1: Button - MyD«ktDp/5irc四、代码展示(一)、.xml界面代码<? xml version <Lin earLayout xmln s:a ndroid也 甬听 牌 茂冷订九FFp口址a>砂 mik» teat;!.ul;* anpurt 3B.v-a.util kc

23、i:i3yIi3.“Gf口pobli cL-b.3-3 EainAGtiviti' extends MyOfcjec七盒匚七:1 腎直霽 prtva«Bu/Etcn bT:n_wi:LM:Lri1I1PterriTfatr,並private- Bujidle h new BundLe: C) j>rtv* Irttpiiblic finaJ. atatkc tot SeZsctFiIw 1jprlV4W iiU filter BJf CrwseJuAE £ Vi , FIIrrrR_T?f TRff_APP private Sr ring jecrpackus

24、-E-s Hwe itia - Tea's B ul* jprivate boolean bDserCheczIc false,! Z/£alaerpilblic E£ainJi.ci:j.ifiT:y J C s-terC? z问摊"仏 鬲刖囚搔1呛於口“点让Android卫口l-Ofi-09 22 eDS!.4 - KyDeaUrtapI 卫口scaLLULT KyDcslrtap.api. «.».SOK-Qfi-OS- KyDcalrtapI SgccEBB:!r201-Qfi-09 22 £D= KyDealrE口p

25、 Suazrulxg aE'Elvlty kmbo.esc.卫 1.鶉口口 口itlce 口1Q7M <S246M) |Q= "1.0" en cod ing ="utf-8"?>= " ndroid"an droid:layout_width an droid:layout_height an droid:orie ntatio n="fill_pare nt"= "fill_pare nt"vertical">vTableLayoutan droid:id

26、= "+id/tableLayout1"="match_pare nt"= "wrap_c on te nt"="4">an droid:layout_widthan droid:layout_heightan droid:collapseColu mns vTableRowan droid:id = "+id/tableRow_et"an droid:layout_width="fill_pare nt"an droid:layout_height="fil

27、l_pare nt"><EditTextan droid:id="+id/et"= "fill_pare nt"="fill_pare nt"= "false"an droid:layout_widthan droid:layout_heightan droid:layout_spa nan droid:focusablean droid:gravityan droid:i nputTypean droid:s in gleL ine= "right"= "tex

28、t"= "true" ></ EditText > </ TableRow >vTableRowan droid:id= "+id/tableRow1"= "fill_pare nt"="fill_pare nt"an droid:layout_width an droid:layout_height< Butt onan droid:id="+id/bt_7"an droid:layout width="80px"an droi

29、d:layout height="80px"an droid:text三"7"/>< Butt onan droid:id="+id/bt_8"an droid:layout width="80px"an droid:layout height="80px"an droid:text三"8"/>< Butt onan droid:id="+id/bt_9"an droid:layout_width="1px"an

30、droid:layout height="80px"an droid:text二"9"/>< Butt onan droid:id="+id/bt_back"android:layout width="80px"an droid:layout height="80px"an droid:text="back" /></ TableRow ><TableRowan droid:id ="+id/tableRow2"= &q

31、uot;fill_pare nt"="fill_pare nt"an droid:layout_width an droid:layout_height< Buttonan droid:id="+id/bt_4"an droid:layout width="80px"an droid:layout height="80px"an droid:text="4"/>< Butt onan droid:id="+id/bt_5"an droid:layo

32、ut width="80px"an droid:layout height="80px"an droid:text="5"/>< Butt onan droid:id="+id/bt_6"an droid:layout width="80px"an droid:layout height="80px"an droid:text="6"/>< Butt onan droid:id="+id/bt_divide"an

33、 droid:layout width="80px"android:layout height="80px"an droid:text="/'"/></ TableRow >vTableRowan droid:id ="+id/tableRow3"an droid:layout_width="fill_pare nt"an droid:layout_height="fill_pare nt"< Butt onan droid:id="

34、+id/bt_1"android:layout width="80px"an droid:layout height="80px"an droid:text="1"/>< Butt onan droid:id="+id/bt_2"an droid:layout width="80px"an droid:layout height="80px"an droid:text="2"/>< Buttonan droid:id =&

35、quot;+id/bt_3"an droid:layout width="80px"an droid:layout height="80px"an droid:text="3"/>< Butt onan droid:id="+id/bt_multiply"an droid:layout width="80px"an droid:layout height="80px"an droid:text="*"/></ TableR

36、ow > vTableRowan droid:id ="+id/tableRow4"an droid:layout_width="fill_pare nt"an droid:layout_height="fill_pare nt"< Buttonan droid:id ="+id/bt_0"android:layout width="50px"android:layout height="80px"an droid:text="0"/>&

37、lt; Butt onan droid:id="+id/bt_po in t"android:layout width="50px"an droid:layout height="80px"an droid:text="."/>< Butt onan droid:id="+id/bt_add"an droid:layout width="50px"android:layout height="80px"an droid:text="+

38、"/>< Butt onan droid:id="+id/bt_sub"android:layout width="50px"an droid:layout height="80px"an droid:text="-"/></ TableRow ><TableRowan droid:id="+id/tableRow4"= "fill_pare nt"="fill_pare nt"an droid:layout_

39、width an droid:layout_height< Butt onan droid:id ="+id/bt_equal"an droid:layout_width="fill_pare nt"an droid:layout_height="fill_pare nt"an droid:layout_spa n="3"an droid:text 三"="/>< Butt onan droid:id ="+id/bt_clear"an droid:layo

40、ut width="50px"an droid:layout height="80px"an droid:text ="clear" /></ TableRow ></ TableLayout ></ LinearLayout>(二)、.java功能代码package weibo.test.ui;import java.util.ArrayList;import java.util.List;import an droid.app.Activity;import an droid.os.Bu

41、ndle;import an droid.view.View;import an droid.view.View. On ClickListe ner;import an droid.widget.Butt on;import an droid.widget.EditText;import an droid.widget.Toast;import weib o.li xiaodaoaaa.ui.R;import an droid.app.Activity;import an droid.c onten t. Intent;import an droid.c on te nt.pm.Packag

42、eMa nager;import an droid.os.Bu ndle;import an droid.view.KeyEve nt;import an droid.view.View;import an droid.view.View. On ClickListe ner;import an droid.widget.Butt on;import android.widget.ListView;import com.zsy.flipper.AppInfUtil;import com.zsy.flipper.AppInfo;public class fffActivity extends A

43、ctivity private Button bt_1; private Button bt_2; private Button bt_3; private Button bt_4; private Button bt_5; private Button bt_6; private Button bt_7; private Button bt_8; private Button bt_9; private Button bt_0;private Button bt_add; private Button bt_sub; / private Button bt_multiply; / priva

44、te Button bt_divide; / private Button bt_back;减乘 除private Button bt_equal; / private Button bt_point; / private Button bt_clear; / private EditText et_play; /嚳丁等于点八、清除显示private String str_oper = "+" /运算符private StringBuffer str_display = new StringBuffer(); / 显示private String str_result; /

45、 private double num1;private double num2; private boolean flag = true; /结果显示小数点个数开关控制;private boolean b_sub, b_mul, b_div; /运算符开关控制Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_fff);bt_0 = (Button) findViewById(R.id.bt_0)

46、; bt_1 = (Button) findViewById(R.id.bt_1); bt_2 = (Button) findViewById(R.id.bt_2);bt_3 = (Button) findViewById(R.id.bt_3); bt_4 = (Button) findViewById(R.id.bt_4);bt_5 = (Button) findViewById(R.id.bt_5); bt_6 = (Button) findViewById(R.id.bt_6);bt_7 = (Button) findViewById(R.id.bt_7); bt_8 = (Button

47、) findViewById(R.id.bt_8);bt_9 = (Button) findViewById(R.id.bt_9); bt_add = (Button) findViewById(R.id.bt_add); bt_sub = (Button) findViewById(R.id.bt_sub); bt_multiply = (Button) findViewById(R.id.bt_multiply); bt_divide = (Button) findViewById(R.id.bt_divide); bt_back = (Button) findViewById(R.id.

48、bt_back); bt_equal = (Button) findViewById(R.id.bt_equal); bt_point = (Button) findViewById(R.id.bt_point); bt_clear = (Button) findViewById(R.id.bt_clear); et_play = (EditText) findViewById(R.id.et);et_play.setText("0");bt_0.setOnClickListener(new OnClickListener()Overridepublic void onCl

49、ick(View v)str_display.append("0"); et_play.setText(str_display.toString(););bt_1.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_display.append("1"); et_play.setText(str_display.toString(););bt_2.setOnClickListener(new OnClickListener()Override pub

50、lic void onClick(View v)str_display.append("2"); et_play.setText(str_display.toString(););bt_3.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_display.append("3"); et_play.setText(str_display.toString(););bt_4.setOnClickListener(new OnClickListener(

51、)Overridepublic void onClick(View v)str_display.append("4"); et_play.setText(str_display.toString(););bt_5.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_display.append("5"); et_play.setText(str_display.toString(););bt_6.setOnClickListener(new OnCl

52、ickListener()Overridepublic void onClick(View v)str_display.append("6");et_play.setText(str_display.toString(););bt_7.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_display.append("7"); et_play.setText(str_display.toString(););bt_8.setOnClickListen

53、er(new OnClickListener()Overridepublic void onClick(View v)str_display.append("8"); et_play.setText(str_display.toString(););bt_9.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_display.append("9"); et_play.setText(str_display.toString(););bt_point.

54、setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)if (flag)str_display.append(".");flag = false;);bt_back.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)if (str_display.length() != 0)str_display.deleteCharAt(str_display.length() - 1); et

55、_play.setText(str_display.toString(););bt_add.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_oper = "+"if (!(str_display.toString() = "")num1 += Double.parseDouble(str_display.toString();str_display = new StringBuffer("");if (!(str_result

56、 = null)num1 = Double.parseDouble(str_result);str_result = null;et_play.setText(String.valueOf(num1);flag = true;);bt_sub.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_oper = "-"if (!b_sub && !(str_display.toString() = "")num1 = Double.par

57、seDouble(str_display.toString(); et_play.setText(String.valueOf(num1); str_display = new StringBuffer("");b_sub = true; elseif (!(str_display.toString() = "")num1Double.parseDouble(str_display.toString();str_display = new StringBuffer("");if (!(str_result = null)num1 =

58、Double.parseDouble(str_result); str_result = null;et_play.setText(String.valueOf(num1);flag = true;);bt_multiply.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_oper = "*"if (!b_mul && !(str_display.toString() = "")num1 = Double.parseDouble(

59、str_display.toString(); et_play.setText(String.valueOf(num1); str_display = new StringBuffer("");b_mul = true; elseif (!(str_display.toString() = "")num1 Double.parseDouble(str_display.toString();str_display = new StringBuffer("");if (!(str_result = null)num1 = Double.parseDouble(str_result);str_result = null;et_play.setText(String.valueOf(num1);flag = true;);bt_divide.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v)str_oper = "/"if (!b_div &a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论