《Android项目开发实训》项目总结报告-尹常旭

《Android项目开发实训》项目总结报告-尹常旭

ID:81945280

大小:3.25 MB

页数:29页

时间:2022-10-14

上传者:胜利的果实
《Android项目开发实训》项目总结报告-尹常旭_第1页
《Android项目开发实训》项目总结报告-尹常旭_第2页
《Android项目开发实训》项目总结报告-尹常旭_第3页
《Android项目开发实训》项目总结报告-尹常旭_第4页
《Android项目开发实训》项目总结报告-尹常旭_第5页
《Android项目开发实训》项目总结报告-尹常旭_第6页
《Android项目开发实训》项目总结报告-尹常旭_第7页
《Android项目开发实训》项目总结报告-尹常旭_第8页
《Android项目开发实训》项目总结报告-尹常旭_第9页
《Android项目开发实训》项目总结报告-尹常旭_第10页
资源描述:

《《Android项目开发实训》项目总结报告-尹常旭》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

Android项目开发实训报告 姓   名:                   赵炳琪              学   号:                     140840131               专   业:                       软件技术         项目名称:            Android手机记账本            指导教师:                  陈雪莲         实训日期:  2016年 10月30日至 2016 年12月 30日  2016年   12月  25日

1Android项目开发实训报告Android项目开发实训记录单学号140840131姓名赵炳琪性别男指导教师陈雪莲项目名称Android手机记账本项目描述收支管理模块是程序的主体功能,实现了处理用户的收入和支出的信息,进行处理后用表单的形式进行显示,同时提供时间段的收支情况查询功能.系统除了总体模块以外主要由三大模块来组成,即统计功能和备份功能。项目评语分项成绩平时成绩实践能力实训报告总成绩等级

2Android项目开发实训报告目录   第一章概述1第二章需求分析22.1项目背景22.2项目需求2第三章相关技术53.1Adnroid平台介绍53.2关键技术研究7第四章概要设计104。1系统体系结构104。2用户界面设计154。2.1计算器界面154。2.2小数点运算界面154。2.3负数运算界面164.2。4开方运算界面16第五章详细设计175。1数据输入模块175.2数据显示模块175.3数据计算功能模块17第六章结论27

3Android项目开发实训报告第一章概述随着社会的发展,经济水平的提高,手机越来越普及。同时伴随着已送慧联网技术的发展,手机的功能也变得越来越丰富。从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统.由Google公式牵头众多实力雄厚的软硬件厂商加盟商成立了OMS联盟,病退出的Android平台手机系统,作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景.而计算器作为现在人们日常生活中常用的一种工具也已经可以说是人们日常生活中必不可少的工具了.计算器的发展同样经历了漫长的过程,凝聚无数仙人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。本程序正式基于Android平台开发的计算器。本课题要求:设计一个基于Android的计算器的软件。实现的功能有:具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。因为打开(ON)、关闭(OFF)屏幕按键的功能需重点研究的关键问题:计算器的运算和显示问题。15-15-

4Android项目开发实训报告第二章需求分析2.1项目背景随着社会的发展,经济水平的提高,手机越来越普及.同时伴随着移动互联网技术的发展,手机的功能也变得越来越丰富。从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统。Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承.为了进一步巩固课堂上所学到的知识,深刻把握嵌入式系统以及Java语言的重要概念及其面向对象的特性,使我们能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。2。2项目需求根据需求,符合用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,显示到少6位结果,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。因为打开(ON)、关闭(OFF)屏幕按键的功能等。如图2-1所示。15-15-

5Android项目开发实训报告整个程序基于Android技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算机模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时负责显示一些其他的信息。计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除等各种功能,记忆数据的相关功能,退格以及清零的功能.系统除了总体模块以外主要由三大模块来组成,即输入模块、显示模块和计算模块,如图2—2所示:输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。15-15-

6Android项目开发实训报告第三章相关技术3.1Adnroid平台介绍Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。可以把它简单理解成Linux上套了一个JAVA的壳。Android的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金.Android的程序可以采用JAVA开发,因为它的虚拟机(VirtualMachine)Dalvik,只是它将JAVA的bytecode转成自己的格式,回避掉需要付给SUN有关JAVA的授权费用。因此,Android开发环境是需要JDK的。1.新建项目:打开Eclipse,选择File〉New〉Project>AndroidProject,具体输入如图3-1所示:在Projectname:中输入工程的名字,buildtarget中选择所用的平台,Applicationname为应用程序的名称,createactivity为活动类的名称,配制运行方式:15-15-

7Android项目开发实训报告点击RunConfigurations会出现图3—2的界面,然后点击androidandroidapplication新建一个动行方式,在右边project中输入要运行的工程名称。至此运行方式配制完成。运击会行,便会出下如图3—3界面:15-15-

8Android项目开发实训报告3。2关键技术研究每一个应用程序,我们都要设计一个图标,可以说图标是应用程序的名片,好的图标能够很快地吸引用户。在此不对图标问题做过多的介绍。由于不同的android手机有着不同的分辨率,将不同分辨率的图标图片放置在相应位置,如图3-4所示。drawable—hdpi中放置分辨率最高的图标,drawable-mdpi中放置分辨率中等的图标,drawable-ldpi中放置分辨率最低的图标.图标图片大小的要求如图3-5所示:在AndroidManifest。xml文件中进行修改,修改情况如下:界面设计应该尽量简洁而美观,应该具有良好的交互性。当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图3—6所示:15-15-

9Android项目开发实训报告从上图中,我们可以很直观的看到,从上到下分别是:显示模块、输入模块、计算模块。输入模块,主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,具体的处理办法会在相关的地方进行说明.在本项目中,在触屏上提供了各种功能的按键,分别是C,0,1,2,3,4,5,6,7,8,9,+,—,×,÷,=,ON,OFF。在整体界面的设置中,我还为各个按键的设置中我还设置了字体的大小,字体的颜色,分别用下列语句实现:字体大小:android:textSize=”25dip”字体颜色:android:textColor=”#7f0000”界面背景:android:background="#888FFF”显示模块,主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。显示模块还设置了显示的字体,大小,颜色,同时还设置了显示字体的颜色。具体设置如下代码:

10Android项目开发实训报告android:layout_marginRight=”10px”android:editable=”false"android:cursorVisible=”false"android:layout_weight=”1”/〉显示区中使用的是基于增强型的图形用户界面EditText,利用此类的功能,在显示模块中完成了以上设置。显示模块声明了这些设置,在用户使用系统的时候,会在协同布局设置一同完成以上设置,使用户在使用的时候可以直观的看到显示区的样子。一般情况下都会选择差不多的字体,所以此处选择的字体和键盘上显示的字体其实是一样的,但是事实上系统中进行了两次声明,即逻辑上这是两种不同的字体,以及设置字符串text为空。显示区和输入模块中的表格一样,同样分别设置了最小显示以及完美显示这两种状态。然后声明了显示区的画法,画法中包括了显示区的两个矩形组成的显示框,显示框的颜色和大小以及显示框中显示的文字所使用的字体,还有文字在显示框中的位置。最后设置了计算模块中的变量得到以及改变显示中所显示的内容的方法,当显示中的内容发生变化时,系统会运行repaint命令来重画显示区,由于使用的是比较低级的方法,所以只能通过整个显示区来实现显示更新这个命令。这样虽然和使用高级的方法相比速度上可能有点慢,但是由于时间相差的不是很多,在用户的正常使用中是不会有所感觉的。以上就是显示模块的具体实现流程。15-15-

11Android项目开发实训报告第四章概要设计4。1系统体系结构计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,记忆相关功能的完成,加、减、乘、除等各种计算功能的完成,运算符的替换,初始化系统等等。按键监听同时监听了触屏上的按键和键盘上的按键,其中按键的监听使用了的松开为判断的标准,即用户松开按键的时候程序才会读取数据。计算模块是整个系统的主体部分,整个计算器功能是通过Jisuanq2Activity.java来实现的。首先,我使用一个数组btn来分别监控十个数字键,用et_led来监控输入内容,用btn_div、btn_mul、btn_sub、btn_plus、btn_equal、btn_dot,分别来表示除法、乘法、减法、加法、等号、点号,具体实现如下代码:privateButton[]btn=newButton[10];privateEditTextet_led;privateButtonbtn_div,btn_mul,btn_sub,btn_plus,btn_equal,btn_dot;其次,对内容的操作。当有内容输入时,首先接收内容,接受的内容分为两部分:当输入为数据时,则是通过传递给数组str,根据数据的传递判断数据内容的长度,如果没有内容输入则,则通过et_led.setText()为0,如果有数据输入的时候,则通过et_led。setText()显示数据,并且将第一次输入的数据保存predata;当输入为符号时,像“+、—、*、/、C、ON、OFF"时,然后对符号进行判断,具体实现代码如下:privateOnClickListeneractionPerformed=newOnClickListener(){publicvoidonClick(Viewv){Stringcommand=((Button)v).getText().toString();15-15-

12Android项目开发实训报告str=et_led。getText().toString();if(command。compareTo(”Bksp")==0){if(str。length()〉1)et_led.setText(str。substring(0,str.length()—1));elseif(str.length()==1){et_led。setText(”0”);vbegin=true;}if(et_led。getText()。toString()。compareTo("-”)==0){et_led.setText("0");vbegin=true;}}elseif„„„„„„„„„„„„„;}}最后,当第二次输入数据的时候,将会数据存到temp,再根据上次输入的符号进行运算,然后将结果保存在temp,如果按键“=”,则会将将结果输出,如果是其他的符号,则会进行相应的运算。程序结构图如下:15-15-

13Android项目开发实训报告参照程序的流程图,设计十个Activity。分别为进入页面的Activity,选择运算的Activity,剩下八个分别为输入数据的Activity和显示运算结果的Activity,如图2。在这里应该注意的是每当创建一个新的class,就要继承Activity。需要用到publicclassjisuanqiextendsActivity这句代码因此整理好程序的流程是关键,设计好Activity之间的Intent链接是关键。程序所需的Activity相应的,需要在res/layout文件夹中建立3个XML文件来对上述的十个Activity进行布局,如图4—4:总体上所需要的Activity和XML布局文件已经建立完毕,下面开始对进入计算器的Activity进行编写,首先在布局文件main。xml中创建两个Button按钮,并且对两个按钮声明ID和布局。两个Button按钮显示为“开始计算”和“退出”如图4—5:然后在jisuanqi。java中,首先要声明Button按钮用到如下代码:privateButtonbutton1privateButtonbutton215-15-

14Android项目开发实训报告在安卓里面,用ID找控件是个非常方便的方法,使用findViewById方法来找到在XML文件中创建的对象。因此在jisuanqi。java中,同样需要使用findViewById方法来找到两个Button控件,代码如下:button1=(Button)findViewById(R。id.button1);button2=(Button)findViewById(R。id.button2);接下来开始编辑第二个Activity,也就是选择运算法则的界面,本界面需要创建4个Button按钮,分别为加、减、乘、除。Id分别为button3、button4、button5、button6。再下来以加法页面为例,在本页面当中需要创件两个EditText,一个TextView,还有一个Button按钮,TextView显示为“加上”,Button按钮显示为“计算”三个Activity创建完成后,我们需要实现以下动作:在用户打开软件之后,点击“开始计算”,然后跳转到选择运算法则的界面,当用户点击“加"则程序进入加法界面.由此可见,在整个动作中,需要使用侦听代码来识别用户的操作,然后使用Intent来实现Activity的切换。我们以开始界面跳转到选择运算法则界面为例:首先在“开始计算”按钮上设置侦听代码如下:button1。setOnClickListener(newbutton1Listener());然后开始侦听,当用户点击“开始计算”时,启动Intent来将本界面切换到选择运算法则的界面,在这里需要JAVA中侦听的方法和Intent方法,代码如下:classbutton1ListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){//生成一个Intent对象Intentintent=newIntent();intent.setClass(jisuanqi。this,Activityone.class);jisuanqi.this。startActivity(intent);}}在这句代码当中intent.setClass(jisuanqi.this,Activityone.class);是规定了本次跳转是从哪个Activity跳转到Activity,在这里是从jisuanqi.java跳转到Activity.java.完成了Activity之间的切换,下面我们开始进行运算的编辑,在加法界面,我们编写如下代码来实现将用户输入的两个数传送到Intent中://生成一个Intent对象//取得两个值15-15-

15Android项目开发实训报告StringFactorOnestr=FactorOne。getText().toString();StringFactorTwostr=FactorTwo.getText().toString();//取得两个值放在Intent中Intentintent=newIntent();intent.putExtra("one",jiashuoneStr);intent.putExtra("two”,jiashutwoStr);//使用这个Intent来激活答案页intent.setClass(plus.this,resultplus.class);plus。this.startActivity(intent);接下来要进行的是显示答案的Activity的编写,在这里我们要注意的是Intent传过来的是两个字符串,字符串是不能相加的,因此我们要将两个字符串强制转换为整形,然后才可以相加,代码如下:plusresult=(TextView)findViewById(R。id。plusresult);//得到Intent对象当中的值Intentintent=getIntent();StringFactorOnestr=FactorOne.getText()。toString();StringFactorTwostr=FactorTwo。getText().toString();//将字符串转为整形Log。i(”FactorOnestr",FactorOnestr);Log。i(”FactorTwostr",FactorTwostr);//计算两数之和intresult=jiashuone+jiashutwo;plusresult.setText(result+”");减法,乘法,除法的界面类似于加法的界面,这里不再过多介绍了.最后需要注意的是要在AndroidMainfest.xml文件中将所有的Activity进行注册,然后才可以运行。15-15-

16Android项目开发实训报告4。2用户界面设计4。2.1计算器界面图4.2。14。2。2小数点运算界面图4.2。215-15-

17Android项目开发实训报告4。2.3负数运算界面图4。2.34。2。4开方运算界面图415-15-

18Android项目开发实训报告第五章详细设计5。1数据输入模块系统如果想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑要这一点.正是由于考虑到这个特殊的地方,所以在进行模块设计中,选择编写输入模块类的时候会特意选取使用了可以支持触屏输入的特殊增强型图形用户界面类。输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,本模块还需要为系统提供了一个较为直观的键盘图形用户界面.5.2数据显示模块作为手机计算器系统,显示部分也是必不可少的一部分。没有显示部分就没有办法显示用户输入的数字是否正确,甚至不能显示计算出的结果,由此可见显示模块即包括输入的部分也包括输出的部分。显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息.同时本模块还将提供调用和设置显示的具体方法。5.3数据计算功能模块系统要完成整个的计算器的计算功能,那么计算模块就是整个系统的重点模块。没有计算模块系统就不能顺利的完成计算,就无法达到用户的要求。所以计算模块的设计也是本次系统设计中的重点。系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理.这部分主要是对输入进行的逻辑判断,基本会通ifelse来实现逻辑判断。packagecom.android。calculator;25-25-

19Android项目开发实训报告importjava.math。BigDecimal;importjava。math.RoundingMode;importandroid.app.Activity;importandroid。os.Bundle;importandroid.text。Editable;importandroid.text。Selection;importandroid.view.View;importandroid。view.View。OnClickListener;importandroid.widget.Button;importandroid。widget.EditText;classFlag{privateinta0;privateinta1;privateinta2;privateinta3;publicinta0(){returna0;}publicinta1(){returna1;}publicinta2(){returna2;}publicinta3(){returna3;}publicFlag(inta,intb,intc,intd){a0=a;a1=b;a2=c;a3=d;25-25-

20Android项目开发实训报告}publicFlagnext;}classFlagList{privateFlagfirst;publicFlagList(inta,intb,intc,intd){first=null;}publicbooleanisEmpty(){return(first==null);}publicvoidinsertFirst(inta,intb,intc,intd){FlagnewFlag=newFlag(a,b,c,d);newFlag。next=first;first=newFlag;}publicFlagdeleteFirst(){Flagtemp=first;first=first。next;returntemp;}}classFlagStack{privateFlagListtheFlagList;privateintcount;publicFlagStack(){theFlagList=newFlagList(0,0,0,0);count=0;}25-25-

21Android项目开发实训报告publicvoidpush(inta,intb,intc,intd){theFlagList。insertFirst(a,b,c,d);count++;}publicFlagpop(){count=count—1;returntheFlagList。deleteFirst();}publicbooleanisEmpty(){return(theFlagList。isEmpty());}publicintcount(){returncount;}}classNum{privateStrings=newString();publicNum(Strings1){s=s1;}publicStringgetNum(){returns;}publicNumnext;}classNumList{privateNumfirstNum;publicNumList(){firstNum=null;25-25-

22Android项目开发实训报告}publicbooleanisEmpty(){return(firstNum==null);}publicvoidinsertFirst(Strings1){NumnewNum=newNum(s1);newNum.next=firstNum;firstNum=newNum;}publicNumdeleteFirst(){Numtemp=firstNum;firstNum=firstNum.next;returntemp;}}classNumStack{privateNumListtheNumList;privateintcountNum;publicNumStack(){theNumList=newNumList();countNum=0;}publicvoidpush(Strings1){theNumList.insertFirst(s1);countNum++;}publicNumpop(){countNum=countNum—1;returntheNumList.deleteFirst();25-25-

23Android项目开发实训报告}publicbooleanisEmpty(){return(theNumList.isEmpty());}publicintcountNum(){returncountNum;}}classSymbol{privatecharc;privateintdegree1;publicSymbol(charc1){c=c1;if(c=='×'||c==’÷’)degree1=2;elsedegree1=1;}publicintgetDegree(){returndegree1;}publicchargetSymbol(){returnc;}publicSymbolnext;}classSymbolList{privateSymbolfirstSymbol;publicSymbolList(){25-25-

24Android项目开发实训报告firstSymbol=null;}publicbooleanisEmpty(){return(firstSymbol==null);}publicvoidinsertFirst(charc1){SymbolnewSymbol=newSymbol(c1);newSymbol。next=firstSymbol;firstSymbol=newSymbol;}publicSymboldeleteFirst(){Symboltemp=firstSymbol;firstSymbol=firstSymbol。next;returntemp;}}classSymbolStack{privateSymbolListtheSymbolList;privateintcountSymbol;publicSymbolStack(){theSymbolList=newSymbolList();countSymbol=0;}publicvoidpush(charc1){theSymbolList。insertFirst(c1);countSymbol++;}publicSymbolpop(){countSymbol=countSymbol—1;25-25-

25Android项目开发实训报告returntheSymbolList.deleteFirst();}publicbooleanisEmpty(){return(theSymbolList。isEmpty());}publicintcountSymbol(){returncountSymbol;}}publicclassCalculatorActivityextendsActivity{/**Calledwhentheactivityisfirstcreated。*/if(Character。isDigit(mass[j])||mass[j]==46)n=n+mass[j];else{if(n。length()!=0){numStack。push(n);n=newString("");}symbolStack。push(mass[j]);}if(j==mass.length—1&&n。length()!=0){numStack。push(n);n=newString("”);}}//在这使用了栈,需要使用这两个循环改变计算顺序while(numStack.countNum()>0)numStack1.push(numStack。pop()。getNum());while(symbolStack.countSymbol()>0)25-25-

26Android项目开发实训报告symbolStack1。push(symbolStack。pop().getSymbol();BigDecimalresult=calculator(numStack1,symbolStack1);StringresultString=result。toString();Strings=outprocess(resultString);text1.setText(s);flag5=1;}}if((Button)v==button[18]){str="0”;text。setText(str);flag0=1;flag1=0;flag2=0;flag3=0;FlagStackflagstack1=newFlagStack();flagstack=flagstack1;text1.setText("”);}if((Button)v==button[19]){Stringstr1=””;if(flagstack.count()〉1){flagstack.pop();Flagflagnow=flagstack。pop();flag0=flagnow.a0();flag1=flagnow。a1();flag2=flagnow。a2();flag3=flagnow。a3();char[]b=str。toCharArray();for(inti=0;i

27Android项目开发实训报告str1=str1+b[i];}str=str1;text。setText(str);flagstack。push(flag0,flag1,flag2,flag3);}if(flagstack.count()〈=1){flag0=0;flag1=0;flag2=0;flag3=0;FlagStackflagstack1=newFlagStack();flagstack=flagstack1;}str=str1;text.setText(str);}if(text.getText()。length()>=2){//这两句的意思是设置光标位置为字符串最后一位Editableea=text.getText();Selection.setSelection(ea,ea.length()—1);}}}}25-25-

28Android项目开发实训报告第六章结论在这次实训中我不仅学习了相关的专业知识,而且让我对Android系统有了一个更加深入的了解,它也是我们计算机专业的一个新的方向并且发展很迅速,为了今后的发展我们还需不断努力学习!我国的信息产业还很落后,随着社会的发展及国家的支持,手机上网必然是社会发展的趋势,到时候手机上网将会无处不在!赚钱我对Android系统的了解只停留在应用的层次上,对于更深层次的了解是很少的,通过这次实习让我对Android系统有了一个鞥神层次的了解,同时它也使我意识到无论朝哪个方向发展,主要还是得扎实、深刻的学习,同时也得不断努力探索。IT业的发展速度一直都是相当惊人的,不想被社会淘汰,我们就必须得不断的学习,现在的社会不再是一劳永逸,其它行业也是如此,我们必须不断的拿知识来武装自己,不然被淘汰那是肯定的!现在就业难的原因其实在于竞争的加剧,为了在竞争中取得成功,我们必须时时刻刻学习!在Android编程过程中巩固熟悉了Java的编程.由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的.Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及AndroidFramework和Android内核开发.成为Android开发的高素质人才.所以,在后续对Android的学习中可能会看一些较底层的书籍。由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足.要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。通过对java以及Android的学习,让我又学会了一门编程语言,这对于我以后的学习工作都会有很大的帮助。回顾以前所走的路,太多的是无奈和迷茫,这次实训就像是我人生道路上的航标,为我指明了前进的方向,使我对自己的前途充满了信心,同时也知道了自己的前进方向。26-26-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭