第一篇:安卓课程设计报告
安 卓 课 程 设 计
班 级 09级计算机二班
学 号 20097923 姓 名 郭丹
目录
第1章
安卓应用程序开发背景..........................................................3 §1.1开发背景...................................................................................3 §1.2开发环境...................................................................................4 第2章 第3章 §3.1 §3.2 §3.3 第4章
安卓应用程序开发理论与方法..............................................4 “计算器”应用程序的设计与实现.......................................6 拟解决的问题及目标.............................................................6 总体设计................................................................................7 详细设计与编码实现.............................................................7 总结.......................................................................................17 2
第1章
安卓应用程序开发背景
§1.1开发背景
1.智能手机的市场
(1)功能多样化的智能手机挑战全球PC出货量
移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长,该机构预计2011年全球智能手机出货量将达到4.13亿,超过台式电脑与笔记本电脑出货量的总和。
(2)智能手机的用户使用数量正在高速增长。据市场调研机构Gartner信息,2011年全球智能手机的总出货量将会达到4.68亿部,相比2010年实现了57.7%的增长,而谷歌Android操作系统将会在今年之内成为全球最大的智能手机操作系统。另外,全球市场调研机构IDC预计未来5年中国手机市场上,智能手机替代传统功能手机的趋势将日益明显,未来5年中国智能手机市场复合增长率将达到34.1%,人们对IT设备智能化的向往是这一增长率能够实现的主要因素,并且与其他国家相比,中国智能手机市场的发展空间更加广阔。(3)操作系统格局预测:Android有望成为智能手机市场主导力量
搭载Android操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。来自美国市场研究机构Gartner的数据显示,Android操作系统所占的市场份额从2008年的0.5%急剧增长到2011年的15.94%。开放的源代码和零成本已经让Android在全世界范围内受到青睐并迅速获得了主要手机厂商和数百万软件开发者的支持,Gartner预计,未来Android系统的市场份额有望超过其他操作系统,从而成为全球第一大智能手机操作系统。2.安卓手机介绍
安卓手机指的是用Android操作系统的手机。安卓(Android)是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
同样都是手机上面用的智能系统,安卓的系统是新生系统,界面更为华丽,开源性更强,当然因为是新生系统,所以在第三方软件方面暂时还不太多。因此,安卓应用程序的需求还是很迫切的。3.软件人才需求
据业内统计,目前国内的Android研发人才缺口至少30万。由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。
综上所述,在这样的背景下,安卓有很强的生命力。同时,作为一个新生的系统,其应用程序目前并不多,安卓应用程序的需求还是很迫切的,安卓研发人才的缺口还很大。这些都促进了我们学习开发安卓应用程序。
§1.2开发环境
安卓应用程序开发环境如下:
①JDK 5 or JDK 6(JRE alone is not sufficient)②Eclipse 3.3(Europa), 3.4(Ganymede)③Android SDK ④ADT 0.8.0 ⑤Eclipse安装ADT 插件
第2章
安卓应用程序开发理论与方法
1、Activity的相关知识
简单理解Activity 代表一个用户所能看到的屏幕,Activity 主要是处理一个应用的整体性工作。Activity是最基本的Android 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应。大多数的应用是由多个屏幕显示组成,因而要用到多个Activity。(1)Activity的相关方法及相关函数: A、void onCreate(Bundle)首次启动时调用,接受参数:Null or savedInstanceState(保存的以前某些状态信息)B、void onStart()说明了将要显示给用户的活动
C、void onRestart()将处于停止状态的活动重新显示给用户 D、void onResume()用户可以开始与活动进行交互时调用。如动画播放和音乐播放。E、void onPause()活动将要进入后台运行时调用。(此时前台启动了另一个活动)F、void onStop()不需要某个活动了,就调用 G、void onDestroy()销毁活动
(2)多个Activity之间的跳转:
通过Intent类实现屏幕之间的跳转(包括没有参数关系和需要传递参数两种情况)。
(3)两个Activity之间进行数据交换: startActivity()只有Intent一个参数。
public void startSubActivity(Intent intent, int requestCode)(requestCode:用来标识某一个调用,一般定义一个常量。)
传过去:函数原型为: public Intent setData(ContentURI data)然后,参数带到新的Activity后,同样用Activity.getIntent()函数可得到当前过来的Intent对象,然后用getData()就取到参数了。传回来:函数原型为: public final void setResult(int resultCode, String data)
2、Intent的相关知识 Intent 是描述应用想要做什么。Android 使用了Intent 这个特殊类,实现在屏幕与屏幕之间移动。Intent 数据结构两个最重要的部分是动作和动作对应的数据。Intent类绑定一次操作,它负责携带这次操作所需要的数据以及操作的类型等。
3、Layout 用于用户界面设计。包含AbsoluteLayout,FrameLayout,GridView,LinearLayout,ListLayout,RadioGroup,TableLayout等等。
在本程序中用到的有:(1)线性布局LinearLayout 垂直:android:orientation=“vertical“ 水平:android:orientation=”horizontal“(2)相对布局RelativeLayout 让子元素指定它们相对于其他元素的位置(通过ID 来指定)或相对于父布局对象。在RelativeLayout布局里的控件包含丰富的排列属性: Layout above:控件在指定控件的上方
Layout below:控件在指定控件的下方 Layout to left of„„
第3章
“计算器”应用程序的设计与实现
§3.1 拟解决的问题及目标
本计算器程序要解决日常生活中常见的基本数据计算问题,程序要实现的目标有如下几个:
(1)要实现基本的加、减、乘、除四则运算。
(2)可以实现在前一步计算结果上继续作加、减、乘、除,即连加、减、乘、除。
(3)有清空功能,即清除所有数据,重新开始计算。
(4)可实现基本的三角函数的计算,如:正弦,余弦,正切,余切。(5)可实现一些特殊运算,如:平方,立方,开方,求对数等。
§3.2 总体设计
1、系统的软件结构图
计算器基本加减乘除运算三角函数运算其他运算加减乘法法法除法正弦余弦正余切切平方立方开方对数 图3-1
2、功能的操作流程
首先用户根据自己的实际需要选择计算的类型,然后进入不同的计算类型,再进行要执行的运算,输入数据,选择运算符号,即可得到结果。
§3.3 详细设计与编码实现
1、功能选择界面
图3-2为系统主界面。用户可以根据需要点击不同按钮进入不同功能的子界面。亦可以点击退出按钮退出本程序。
图3-2
本界面用LinearLayout来布局,主要用到的控件是Button。页面的跳转是通过intent来是实现的。跳转的主要代码如下: public void onClick(View v)
{
Button btn=(Button)v;switch(btn.getId()){ case R.id.button1: Intent intent=new Intent();intent.setClass(mycalActivity.this, secondactivity.class);startActivity(intent);break;
case R.id.button2: Intent intent=new Intent();intent.setClass(mycalActivity.this, thirdactivity.class);
startActivity(intent);break;
case R.id.button3: Intent intent=new Intent();intent.setClass(mycalActivity.this, forthactivity.class);startActivity(intent);break;
case R.id.button4: finish();
}
2、基本加减乘除界面
图3-3为加基本减乘除界面。用户在文本框中输入参加运算的数据,并点击要进行的运算符号,然后点击等号之后,将在等号下方显示结果处显示出计算结果。点击clear按钮,可以将两个文本框中的内容以及显示的结果一起清空,用户可以输入新的数据计算。
在文本框中输入时可以用图右侧的硬键盘,或者是手机自带的软键盘。
图3-3
示例如下:
(1)用户要计算1.23+2.16.在文本框1中输入1.23,点击“+”,再在文本框2中输入2.16,点击“=”,就可以显示出计算结果3.39.如下:
图3-4
(2)计算1-0.32,如图3-5 图3-5
(3)计算3.24*0.25,如图3-6所示。
图3-6
4)计算55/4,结果为13.75.如下图所示:(图3-7
(5)计算1/6.如下图所示。由图3-8可以看出,当除不尽时本计算器保留到8位小数,并且最后一位采用了四舍五入的方法,比较科学、准确。
图3-8(6)点击clear之后全部清空:
图3-9
具体的实现:主要的思路是,用户先输第一个数,然后点击运算符号,在程序中监听按钮的点击,如果点击了+、--、*、/中某一按钮,这时,就取editText1中的值,通过myeditText1= editText1.getText().toString()实现,为了参与运算,需要把字符串类型转换为浮点型,并将其值赋给变量a,代码为a=Float.parseFloat(myeditText1);用flag的不同值记录用户点击的不同的运算按钮。当用户点击“=”时,就将editText2中的内容取出,也同样转化为数值,并用b记录,然后判断flag的值即可知道对应应采取哪种计算,进而算出最终结果,并用textView1显示出计算结果。“清空”的实现是使对应控件的内容取空即可。核心代码如下:
private OnClickListener listener=new OnClickListener(){
String myeditText1;String myeditText2;float a=0;int flag=0;
float b=0;float result;public void onClick(View v){
Button btn=(Button)v;switch(btn.getId()){ case R.id.button1: myeditText1= editText1.getText().toString();
flag=1;
break;case R.id.button2:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=2;break;case R.id.button3:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=3;break;case R.id.button4:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=4;break;case R.id.button5:
myeditText2= editText2.getText().toString();b=Float.parseFloat(myeditText2);
a=Float.parseFloat(myeditText1);
};
}
if(flag==1)result = a+b;
else if(flag==2)result = a-b;else if(flag==3)result = a*b;
else
result=a/b;
String s = ”显示结果: “;s += result;
textView1.setText(s);break;case R.id.button6:
} editText1.setText(”“);editText2.setText(”“);textView1.setText(”显示结果:");break;
3、三角函数运算界面
图3-10为三角函数运算界面。用户在文本框中输入参与计算的数据,然后选择点击要进行的运算类型,这时在显示结果处就会显示计算结果。例如,要计算sin30度,先在文本框中输入30,然后点击sin按钮,这时就会显示结果为0.5.同理,可进行其他计算。
图3-10
4、其他运算界面
图3-11为其他运算界面,目前可实现平方、立方、开方、求以10为底的对数四种运算,由于时间有限,这个界面目前功能并不完善,暂时实现四种运算,不过,基于本计算器程序的设计理念,本界面主要实现一些其他运算,包括一些特殊运算。在今后,这个界面可以修改和扩充,以至拥有更加完善丰富的计算功能。在现有的界面上的操作流程如下:用户在文本框中输入要进行运算的数据,然后选择点击运算按钮,即可显示运算结果。如输入0.5,点击平方,即显示结果0.25,操作方便。
图3-11
第4章
总结
在本次安卓应用程序开发之中,我收获很多,现总结如下:
安卓设计开发过程初期,我打算设计制作一个计算器。但是,刚开始并不能预测难度,不知道在短期内能否很好的完成,于是我的想法是,先实现基本的加、减、乘、除四则运算,然后在此基础上进一步完善丰富其运算功能。首先遇到的问题便是要不要做一个数字键盘。刚开始也试着做了一个键盘,是用button做的,需要很好的布局,但是每当扩充一种功能时,为了使界面整体美观,甚至都要重新设计,很麻烦。后来候突然想到手机有硬键盘,也有自带的软键盘,何不运算的时候直接调出已有的软键盘?这样,根本没有什么必要自己做键盘了,而只需做出运算的按钮即可了。由于当时的目标只是实现加减乘除,因此设计的界面是用两个文本框输入两个数据,然后有+、-、*、/四个按钮供选择,又加一个“=”按钮用于触发显示结果。界面很简单,使用很方便。然后就是才用合适的算法来实现功能。经过思考和多次修改,最后确定了一种比较简明的算法实现。
基本加减乘除功能已经实现,但是计算器的功能过于简单了,接下来便是扩充功能。我首先想到的是需要能实现三角函数运算,常见的平方、开方等运算。但是我遇到了困难。由于刚开始设计的加减乘除运算都是二元运算,因此界面设计的是在两个文本框中输入两个数,但是三角函数计算,平方开方计算都是一元运算,参加运算的数据都只有一个,因而,在原界面上直接扩充并不合适,两个文本框成了扩充的限制。后来经过思考,决定将这些扩充的功能做到别的界面上,与已有的界面相独立,重新设计,这样只需将运算分类,再做一个功能选择的界面,点击不同的运算类别进入不同的运算界面即可,这样这个问题便得到了很好的解决。但是这次设计却给了我很大的教训,开发应用软件的初期设计很重要,不仅要实现现在的目标,还要考虑以后能否进行功能扩充,设计要便于以后的功能扩充,否则,到后来需要扩充时遇到困难,甚至要推翻已有的设计,花费很大的代价。另外,由于时间紧迫,三角函数界面和其他运算界面的功能并不十分完善,只是一些基本的运算,初步体现出了设计的思想,今后还可以进行进一步的扩充,以完善其功能。
在本次开发过程中,我对开发环境进一步的熟悉,基本上可以熟练运用这个 环境,也基本掌握了安卓的开发方法及基本流程。在本次开发过程中,主要用到的知识有Activity的使用,在程序中用到了多个窗口,因而需创建多个Activity。还用到了Intent,主要是用于多个Activity之间的跳转,对Intent的作用和用法有了更进一步的熟悉。在本次程序设计中,我也对用户界面设计有了更进一步的掌握,熟练运用Layout,本次用到的主要是LinearLayout和RelativeLayout。
开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。
在这次程序开发设计中,我也难免会遇到不少困难,这主要是由于我对所用的开发环境并不是很熟悉,开发软件的经验不足。安卓开发用的语言是java,但是我对java的学习并不多,这次开发对我来说可以算是一个全新的尝试,整个开发过程并不是很顺利,却使我从中充分体会到学习的快乐,开发的程序也在一步步得到完善。这次程序开发由于个人水平及时间有限等原因,只能完成一些基本的功能,好多设想并未完全实现,这不能不说是个遗憾,后期仍需努力。
第二篇:安卓android课程设计报告
湘潭大学课程设计报告
课
程 课
题指
导
名
称______手机安卓开发_______ 名
称______天气预报APP_______老
师______周唯___________
姓
名____黄柳________
学
号___2012600719_________ 班
级____12计2班________
小
组______棒棒糖_______ 时
间____2015年1月26 日_____
一、需求分析(一)引言
1.编写目的
1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城市位置,以及用图标表示各城市对应的气象信息,可以简洁的表示出“晴、雨、雪”和“气温”气象信息。
2.项目风险
2.1(项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。)2.2 联网收费视用户电话运营商的收费标准决定
2.3 手机或者无线信号不好时,可能无法连接或更新天气情况 3.预期读者和阅读建议
3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的用户
3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项以及可能存在的风险
4.产品范围
2.2 手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领域(二)综合描述
1.产品的状况
1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上面及时的了解到用户所在城市的天气预报。
2.产品的功能
2.1 天气信息获取 2.2 天气信息显示 3.系统配置功能
3.1 用户类和特性
安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。
安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。
3.2 运行环境
软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在2.2及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。
3.3 设计和实现上的限制
Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。
Android SDK和Eclipse的ADT插件是必须使用的。
软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。
3.4 假设和约束(依赖)
软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。(三)外部接口需求 1 2 用户的手机设备可以支持联网。用户界面 软件接口
软件提供轻量级的进程间通信机制Intent,实现跨进程组件通信。4 访问硬件的API库函数通讯接口
4.1 HTTP 协议:有多种接口可以调用你可以用Java类库封装的HttpConnection 或者用Apach的开源项目的 HttpGet 或者HttpPost,服务器端 需要 编写 Serlvet来响应客户端的请求。
4.2 Sokcet : 就是 服务器端 不断监听 双方约定好的端口号,客户端通过服务器IP去请求连接,连接成功后,得到Socket 的输入输出流,直接操作即可。(四)系统功能需求
天气信息显示和获取
功能描述:需有一个显示天气情况的用户界面,要求百度地图显示各城市位置(如:北京、长沙、广州等3-5个城市),以及用图标表示各城市对应的气象信息,表示出“晴、雨、雪”和“气温”简洁气象信息。输入输出信息:
输入:当触摸某一城市对应的气象图标时,显示该城市当天的温度、湿度、风向和雨雪详细天气信息,并预报该城市后面几天的气象信息。
输出:气象信息的获取,从百度上获取天气预报信息,这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,并将各城市的天气信息保存到SQLite数据库中。
二、概要设计
三、Ui界面
我们的ui界面秉承着清新的风格开发出来的。
整个软件界面使用一个线性布局,让所有的元素从屏幕上方向下填充,并给整个线性布局进行权重划分。
线性布局的最上方是一个TextView,显示当前城市的名字,接着往下是一个相对布局,相对布局的左侧是天气的图片,右侧是三个天气相关的参数。
接着是一个线性布局,布局的左上方是三个TextView,分别显示“预报”,“趋势”,“指数”功能,通过点击相应的TextView,下方的一个线性布局展现不同的功能。功能面板文字的下方是一个大的线性布局,用来显示未来三天的天气情况。在这个大的线性布局中,又含有三个小的线性布局,这三个小线性布局中包含了日期,天气图片和风力状况等(这些控件从上到下垂直居中显示)。
通过给整个XML文件中LinearLayout布局的的子级布局添加权重,让各个部分从上到下有序的显示,让当前城市名称在屏幕的上方显示,功能面板位于屏幕下方显示,以匹配不同尺寸屏幕,让软件的显示效果更好。软件的整体布局风格是清新,优美,大方。
四、功能设计
功能上实现实时的获取天气信息,获取百度api返回数据,解析百度api返回的json数据,根据解析到的数据绘制气温趋势图,并将数据反馈到app上的相应的区域。通过使用ViewPager类,来实现天气预报软件中多个城市间的无缝页面切换。由于组员都缺少JAVA开发经验,对安卓开发也不熟悉,所以我们决定采用调用API的方法来实时获取不同城市的天气预报数据,在这次项目中我们将采用百度的车载API。通过HttpClient类和AsyncTask异步类来获取网络数据。最后通过Gson类来解析获取的网络数据,并给页面中的所有的布局空间设置id,在AsyncTask得到网络数据之后将这些数据同步到软件界面上,呈现给用户。
三、功能模块
我主要负责监听程序的设计,监听用户按键,并进行相应的动作。
只要用户滑动面板,就切换到下一个城市,并获得下一个城市的天气数据,显示在面板上。每隔15分钟自动更新天气数据。主要代码如下:
下面的代码处理网络连接部分,用GSON解析网络上获得的Json网页:
下面代码访问网络:
四、心得体会
通过这个软件的实现,我对Android编程有了更加浓厚的兴趣,对Android中的常用类和接口有了进一步的认识。对编程有了一种新的看法,编程在我的学习中不再是那样的枯燥无味,而是时时刻刻充满惊喜。虽然这是一个挺小的项目但它对我在编程方面起到了一种激励的作用。我会在此基础上更加努力做出更好的程序。
第三篇:安卓实习报告
通信与电子信息专业实训报告
项目名称:基于android的游戏开发
班 级 10通信1班
姓 名
学 号
指导教师
成 绩
实训时间:年月日—
目录
一、实训目的及其意义............................................3 1.1、目的及意义..............................................3 1.2、研究现状................................................3
二、实训主要任务、重点及难点....................................4 2.1、任务....................................................4 2.2、重点内容及实现途径......................................4
三、实训具体内容及完成的主要工作................................5 3.1、认识基础开发............................................6 3.2、了解数据存储............................................6 3.3、总体实训过程............................................7
四、实际遇到的困难,解决问题的方法和措施........................8
(一)、所遇问题.................................................8
(二)、解决方法与措施...........................................9
五、心得体会....................................................9
一、实训目的及其意义 1.1、目的及意义 了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识android,了解基于android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学的延续,而且是校内教学的总结。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。1.2、研究现状 android 是google开发的基于linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。google与开放手机联盟合作开发了 android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 t-mobile 在内的 30 多家技术和无线应用的领军企业组成。google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。android主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。android操作系统最初由andy rubin开发,主要支持手机。2005年8月由google收购注资。2007年11月,google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良android系统。随后google以apache开源许可证的授权方式,发布了android的源代码。第一部android智能手机发布于2008年10月。android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。目前基于android的移动终端上的软件应用开发很火热,android平台的开发已越来越强大。android是一种以linux为基础的开放源码操作系统,主要使用于便携设备。android操作系统最初由andy rubin创办,最初只支持手机。2005年由google收购注资,并拉拢多家制造商组成开放手机联盟(open handset alliance)开发改良,逐渐扩展到到平板电脑及其他领域上。
二、实训主要任务、重点及难点 2.1、任务
认识移动互联网,了解移动互联网的开发,认识及了解android,在给定时间内完成基于android平台的游戏项目的开发,实现预想游戏效果,熟悉项目开发的商业流程,给出游戏全套文档及代码。
2.2、重点内容及实现途径 2.2.1、重点内容:熟悉游戏开发代码,了解项目流程,对android游戏开发有基本了解。2.2.2、实现途径:
所需运行硬件环境:
安卓系统2.2以上 3.5寸以上移动设备
软件开发环境的配置:
(1)配置java程序开发环境
(2)安装并汉化eclipse(jdk)(3)android sdk的安装
(4)adt的安装及配置
(5)android模拟器的配置
(6)office2003以上版本的软件(绘图visio)然后运用eclipse完成项目代码的编写,运行与调试; 最终在实体终端上进行测试,最终完成项目
三、实训具体内容及完成的主要工作
实训前期,有老师给我们讲解了现阶段移动互联网的发展,了解移动互联网的发展主流,说明了现阶段移动互联的发展重要性。老师着重给我们讲解了android的发展,以及现阶段移动互联中android所扮演的角色。接下来我们将针对基于android的游戏开发进行学习,由于时间的原因,我们主要了解了一下游戏开发的基本项目流程,具体的操作将在实训过程中一一讲解验证。
接下来老师为我们讲解了实训的具体内容,对于一个游戏开发项目,首先我们需要进行游戏开发的前期准备,主要是游戏开发环境的配置,以及团队开发过程中的任务分配,之后紧张的游戏项目开发拉开了帷幕。在第一天我们主要学习了eclipse软件的使用,包括游戏工程的创建等等。并且针对eclipse中的 android项目结构进行了讲解:android项目结构:src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由android开发工具自动生成的文件。目录中最重要的就是r.java文件。这个文件由android开发工具自动产生的。res/ 资源(resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。assets资源目录android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件。androidmanifest.xml 项目清单文件。篇二:android实习报告
实习报告
实习目的:
生产实习是计算机科学与技术专业重要的实践性教学活动,其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况,学生在实习的同时,进行一定的社会实践与调查活动,对于提高学生的综合能力和全面素质具有重要意义。
实习内容: android主要有四大组件,分别为:activity 活动、service 服务、broadcast receivers 广播接受者、content provider 内容提供者。还有上激活组件intent。1.activity activity就是一个用户可以直接接触并看到的窗口,当新建一个android project后可以
看到在工程文件下的src中有一个已建好的java类firstactivity,系统也会自动为他配备一个布局文件main.xml,并在androidmanifest中对此activity进行注册。
用户想要自己创建一个activity,首先创建一个java类继承自activity,可以为他配备一个布局文件用来显示activity创建后的布局。最后在主配置文件manifest.xml中对创建的activity进行注册,这一步是必不可少的,没有注册activity无法运行。在manifest.xml中会有许多的activity,但系统一次只能运行一个activity,因此必须修选定一个最先运行的activity。在注册activity是加入
/files目录,如: /data/data/cn.itcast.action/files/itcast.txt,通过点击eclipse菜单“window”-“show view”-“other”,在对话窗口中展开android文件夹,选择下面的file explorer视图,然后在file explorer视图中展开/data/data/
/files目录就可以看到该文件。openfileoutput()方法的第二参数用于指定操作模式,有四种模式android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/
/files),其他程序无法访问。除非在创建时指定了context.mode_world_readable或者context.mode_world_writeable,只有这样其他程序才能正确访问。
实习流程: 2月18——2月27日,老师对于android开发进行了详细的讲解,其内容包括:android 的背景介绍,发展过程,自身的优势与不足.android的控件、布局、activity、service等一系列基础知识,对整个android的开发有了大致的了解 2月28日——3月2日: 学生自己开发android 3gabs项目,老师答疑及验收
实习心得:
时间过的飞快,半个月的实习就要结束了,在这次实习中我们不仅学习了相关的专业知识而且让我对android系统又有了一个更加深入的了解,它也是我们计算机专业的一个新的方向并且发展很迅速,为了今后的发展我们还需不断努力学习!我国的信息产业还很落后,随着社会的发展和国家的支持,手机上网是社会发展的趋势,到时候手机上网将无处不在!之前我对android系统的了解之停留在应用的层次上,对于更深层次的了解是很少的,通过这次实习,让我对android系统有了一个更深层次的了解,同时它页使我意识到无论朝哪个方向发展,主要还是要扎实深刻地学习,同时也得不断努力探索!it业发展速度一直都是相当惊人的,不想被社会淘汰,我们就得必须不断地学习,现在的社会不再是一劳永逸,其他行业也是如此,我们必须不断地拿知识来武装自己,不然被淘汰那是肯定的!现在就业难原因其实在于竞争的家具,为了在竞争中得到成功,我们必须时时刻刻学习,还学到了很多做人做事的道理,不仅懂得了要想在计算机这一行立足必须具备扎实的技术理论知识,还必须学会与人沟通,合作的能力,同时更懂得了尝试的重要性,很多事情不是听说是困难的它就是困难的,只有亲自去做亲自去体会才知道,其实它并没有那么困难,这就是实践的重要性!无论做什么事情都必须要坚持,只有坚持下去,才会成功!事在人为,就怕不做!我们不能怕失败,关键是要从失败中总结经验,带着勇气,带着自信,坚持不懈,踏踏实实。这一次的实习是短暂的,但我收获良多。回顾以前所走过的路,太多的无奈和迷茫,这次实习就像是我人生道路上的航标,为我指明了前景的方向,是我对自己的前途充满了信心,我不仅知道了在人生的岔道口更适合朝哪个方向前进!更知道了在今后的道路上怎么去武装自己!
实习结果:篇三:android生产实习报告
生产实习报告
一 实习目地
生产实习是把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际,巩固所学的知识,提高对实际生活的认识,积累经验。同时生产实习也是大学生以学生身份到工作者身份的一个重要过度阶段。在此期间,学生能够初次体会到实际生产中的种种技能与经验。完成一项项项目,能体现出独立思考能力。android生产实习对目前应用现状进行了分析与比较,进而研究分析了android平台的系统架构和组件模型,在此基础上,基于android平台设计和开发,实现对android编程的理解与应用,特别是在对于控件的应用产生很深的理解。android平台是目前最普遍的手机应用平台,android实习可以让我们与时代最新最广泛的软件开发联系起来,锻炼我们的学习能力,并且让我们可以更加人性化,清晰的为用户考虑。
二 实习内容
此次实习是对android的简单的应用与开发,也是对android各个控件的学习与实践。在java的环境中对界面,应用进行编程。本次实习重点完成了安卓开发计算器、安卓开发学生注册界面、安卓开发音乐播放器和安卓开发游戏连连看这四个项目。
做学生注册界面的时候学习了linearlayout,tablelayout, absolutelayout, relativelayout四种布局,分别为线型布局,表格布局,绝对布局和相对布局,并知道了如何通过这四种布局的相互嵌套来使程序的界面更加的友好,更加的让用户接受。并简单的了解了安卓目录下src,gen,res等文件夹中的文件在项目中的作用,学习了切换界面的类intent。
然后学习了button,textview,seekbar等android开发的控件,并且将这些控件都运用到了所作的学生注册界面中。
做音乐播放器时学习了关于音乐文件的调用,也学习了在主文件main.java中先创建多媒体对象后,然后通过sd卡的文件路径来创建一个播放资源,然后在创建按钮对象,同时添加6个按钮对象创造各自的侦听方法,我们用listactivity来布局播放界面,用imagebutton来实现播放器的开始,暂停的操作。最后在开发连连看游戏时,将前面所学的知识进行综合与加深,也学习到了新的函数与控件,该游戏主要包括classgameview(游戏视类,处理游戏中出现的情况,包括界面生成,算法等)classgameactivity(处理游戏中的消息提示),classstartactivity(游戏菜单设计),classsetactivity(菜单中游戏难度设定)这些类。比如用random函数来对连连看进行重排列,还有用menu对游戏里的功能进行操作,还有用之前学到关于多媒体对象的调用将连连看游戏进行配乐。并且选用了网格对游戏界面进行了规划,以及对于相同图片的的消去,必须满足情况:1,图片相同;2,两个图片之间必须没有障碍物,可以用若干个垂直的直线连接起来;3,连接两个图片的直线线段的转折点不超过两个(连接线由x轴和y轴 的平行线组成,即无拐点,一个拐点,两个拐点)。
三 实习流程
此次对android应用与开发的实习分为以下几个阶段。
首先,由老师带领我们对android以及开发软件eclimpse进行了一个大概的了解与操作,并且对开发语言基础java的基础知识和编程思想进行了一次简单的复习与加深。
然后老师开始带领我们学习android界面的开发,并且告诉我们如何可以将界面尽量做得美观与方便,告诉我们作为程序的开发人员要为用户考虑,在这一阶段,我们开始试着学习和操作android的简单控件,包括textview,button等。
接着我们开始自己开发计算器,第一次将自己学到的控件进行组合搭配,并且开始学会怎么去监听按钮,通过对安卓常用类的学习,我们完成了计算器的常用功能。然而,对于计算机功能的实现,我感觉自己还没有办法做到自己想到的所有功能这让我对android更加满兴趣的学习下去。
当初步接触到了控件的开发与搭配后,我们开始开发学生注册界面,并且将所输入的信息反应到下一个界面中,在做这个的时候,我们又新学习了seekbar,checkbox等控件,让我们进一步学习了android中的常用控件。
然后是对音乐播放器的开发,此阶段我开始真正的接触到了生活中自己经常用到的软件的开发,并且也让我第一次感觉到需要将自己开发的软件做的美观,于是我们开始学会调用背景图片,调用歌曲,并且学习了radiobutton控件,以及播放器中对音乐的下跳,循环播放等功能的学习与实现。
最后是开发游戏“连连看”,在此之前老师先向我们介绍了对于图片的处理等相关知识。
对于连连看,我们很熟悉,也明白其中的游戏规则;然而把它们用计算机语言展示出来却比用文字语言展示出来要难上很多。因此这个项目也是用时最多的一个项目,期间融合了算法设计以及之前几个项目所学的知识。虽然在参考资料
下,完成了项目;但是也存在很多不足。当然也有自己特点的地方,比如添加了成功几步就奖励时间,比如游戏的配备音乐,以及音乐的开关按钮。
四 实习心得
通过这三个星期的毕业实习,我学到了很多关于android系统的技术知识,虽然实习的时间短暂但我仍旧收获很多。首先,在每一天我认识了新的控件及相关的使用;其次,我们了解android系统的历史和今后的发展以及相关android系统的总体构成,然后,我们学会了android编译系统的搭建,以及在这个环境下编写代码,最后制作了简单的音乐播放器以及连连看游戏等软件;在这个过程中,我真正的了解到了理论与实际相结合的必要性以及独立思考的重要性。
生成实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。通过这次实习,开阔了我的视野。这次的实习初步为我解开了安卓的神秘面纱,对于脑海中的那个可望而不可即,可玩儿不可解的安卓平台初步走入了它的神秘世界;既感到兴奋又感到惊奇,更感到压力,方知知识海洋的广大,学员任重道远。这次实习让我看清自己需要什么,同时也让我吸取了许多学习以及和人相处的经验,这将对我以后踏足社会,谋生立业有很好的借鉴和帮助作用。今后,我会珍惜这些宝贵的经验,在人生的旅途中勇往直前,迎接时代的挑战。篇四:安卓实训报告
实习报告书
专 业 计算机科学与技术 系 别
报告题目
安卓
报告人 班
级
指导教师
带队教师 实习时间 实习地点
教务处监制 篇五:安卓记事本实习报告 android记事本的设计与实现 ——sqlite数据库的设计和操作
学生姓名: 指导老师:
摘 要: 随着智能手机的快速普及,智能手机操作系统市场风生水起。android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。
本文主要介绍了一款android记事本sqlite数据库模块的设计与实现。根据人们日常生活的需要,该记事本的内容包括运用sqlite封装好的方法对数据进行添加、删除、修改、更新和密码进入等功能,并且将查询到的数据传递给activity,具有一定的实用性。关键词: 记事本;android;手势密码;sqlite;activity design and implementation of android notepad — design and operation of the sqlite database student name: advisor: this paper describes the design and implementation of an android notepad sqlite database module.according to the needs of daily life, including the contents of the notepad good way to use sqlite package data to add, delete, modify, update and password to access other functions, and query the data is passed to the activity, has a certain practicality.keywords notepad;android;gesture password;sqlite;activity 目录 目录.....................................................................................................................................................................3 1.引言...............................................................................................................................................................4 1.1 项目背景..............................................................................................................................................4 1.2 项目意义..............................................................................................................................................4 1.3 系统可行性分析..................................................................................................................................5 1.4 系统主要任务....................................................................................................................................5 2.系统方案设计.................................................................................................................................................6 2.1 搭建android开发平台.....................................................................................................................6 2.2 sqlite数据库简介............................................................................................................................7 2.3 总体方案设计...................................................................................................................................10 3.系统软件开发环境.......................................................................................................................................10 3.1 windows开发环境...........................................................................................................................10 3.2 java集成开发环境eclipse...........................................................................................................11 3.3 adt plugin for eclipse...............................................................................................................11 4.程序设计.......................................................................................................................................................12 4.1 程序详细设计...................................................................................................................................12 4.2 程序运行及效果截图.......................................................................................................................13 4.3 对sqlite数据库增删改查代码实现.............................................................................................18 5.工作总结与展望...........................................................................................................................................23 参考文献...........................................................................................................................................................24 1.引言
1.1 项目背景 window操作系统的诞生成就了微软帝国,同时也造就了pc时代的繁荣,然而如今,以android和iphone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了pc时代的丧钟!这也预示着移动互联网时代(3g)已经来临。在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的ui设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是google的android!这也意味着google在移动互联网时代开始抢跑并领跑。
通过调查显示,大部分消费者都会使用手机记事本功能。随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像一般记事簿一样简单记录,而是向着更个性化人性化的方向发展。android[1]系统是开源的,它以迅猛的姿势已经占领了全球一半多的市场。记事本在生活和工作也日益凸显出它的重要性,它能更好地帮助人们更好地管理自己的工作和生活,极大的方便了人们的生活。因其开源,我们可以在之上开发安卓记事本软件,同时这也符合广大的市场需求。1.2 项目意义 近几年来随着3g技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在google和android手机联盟的共同推动下,android在众多移动应用开发平台中脱颖而出。android是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。
我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力。安卓如此受到厂商与开发者的青睐,它的前景是一片光明的。国内对于安卓这方面的市场还没有完全开发出来。只要我们努力学习安卓,对理想,对生活都会有很大的补益。因此,开发这样一套很简单的记事本软件对我们来讲是一件很有必要的事情,在下面的各章中我们将以开发安卓记事本软件为例,谈谈其开发过程和所涉及到的问题及解决方法。1.3 系统可行性分析 1.3.1 课题调研
(1)与实践活动和相关的文件和资料由作者本人网络查找,以及老师帮助。
(2)具有遇到问题,具有独立思考,耐心钻研,向老师虚心求教的良好态度。
(3)关于技术方面的难题,跟指导老师面谈。1.3.2 可行性分析
(1)技术可行性:本项目仅需要一台装有eclipse及配置好android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系统。
(2)经济可行性:由于本软件开发只有三个人,三台电脑就行,基本不需要太大的成本.在经济上完全可行。
(3)操作可行性:界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。并没有太大的难度,所以,该项目完全有可操作性。1.4 系统主要任务(1)设计实现”添加新记事”,”编辑内容”,”删除当前记事”这三个主要的功能模块。(2)分析并解决实现中的若干技术问题,像组件的选择以及保存方式的选择。(3)进行测试并分析结果。
当然记事本的基本功能,建立新文件、修改现有文件、删除文件、查看已建立文件等功能是首先必须完成的。可以编写内容,编辑及删除,让记事的方式多样化。记事本软件的界面设计力求简洁,给人清爽的感觉,让图标及按钮以协调的布局呈现出了,菜单功能要相对简单,让用户操作方便,从而让用户体会到此款软件的实用。因为上述操作涉及到的数据量不大,所以将数据库定为安卓系统自带的sqlite数据库[3],所以这就要求我们要实现在sqlite数据库上面的增删改查。不少人希望自己记事本上面的内容不被被人查看,所以要以设置密码的形式来实现保密。鉴于各种各样的密码实现方式,我们选择了用户体验最好的手势解锁方式。以及采用了更加友好的时间显示方式,让用户在使用过程中更加的舒服方便。记事本软件要内存占用适中,cpu占用也是适中,这样让软件运行顺畅。
第四篇:安卓记事本实习报告
Android记事本的设计与实现
Android记事本的设计与实现
——SQLite数据库的设计和操作
学生姓名:
指导老师:
摘 要: 随着智能手机的快速普及,智能手机操作系统市场风生水起。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。
本文主要介绍了一款Android记事本SQLite数据库模块的设计与实现。根据人们日常生活的需要,该记事本的内容包括运用SQLite封装好的方法对数据进行添加、删除、修改、更新和密码进入等功能,并且将查询到的数据传递给activity,具有一定的实用性。关键词: 记事本;Android;手势密码;SQLite;Activity
Android记事本的设计与实现
Design and implementation of Android
notepad — Design and operation of the SQLite database
Student name:
Advisor:
Abstract
With the rapid proliferation of smart phones, smart phone operating system market burgeoned.Android's biggest feature is its open architecture, not only has a very good development, debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support and powerful browser.This paper describes the design and implementation of an Android notepad SQLite database module.According to the needs of daily life, including the contents of the notepad good way to use SQLite package data to add, delete, modify, update and password to access other functions, and query the data is passed to the activity, has a certain practicality.Keywords Notepad;Android;gesture password;SQLite;Activity 2
Android记事本的设计与实现
目录
目录.....................................................................................................................................................................3 1.引言...............................................................................................................................................................4 1.1 项目背景..............................................................................................................................................4 1.2 项目意义..............................................................................................................................................4 1.3 系统可行性分析..................................................................................................................................5 1.4 系统主要任务....................................................................................................................................5 2.系统方案设计.................................................................................................................................................6 2.1 搭建Android开发平台.....................................................................................................................6 2.2 SQLite数据库简介............................................................................................................................7 2.3 总体方案设计...................................................................................................................................10 3.系统软件开发环境.......................................................................................................................................10 3.1 Windows开发环境...........................................................................................................................10 3.2 JAVA集成开发环境eclipse...........................................................................................................11 3.3 ADT Plugin for Eclipse...............................................................................................................11 4.程序设计.......................................................................................................................................................12 4.1 程序详细设计...................................................................................................................................12 4.2 程序运行及效果截图.......................................................................................................................13 4.3 对SQLite数据库增删改查代码实现.............................................................................................18 5.工作总结与展望...........................................................................................................................................23 参考文献...........................................................................................................................................................24
Android记事本的设计与实现
1.引言
1.1 项目背景
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。
在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google的Android!这也意味着Google在移动互联网时代开始抢跑并领跑。
通过调查显示,大部分消费者都会使用手机记事本功能。随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像一般记事簿一样简单记录,而是向着更个性化人性化的方向发展。Android[1]系统是开源的,它以迅猛的姿势已经占领了全球一半多的市场。记事本在生活和工作也日益凸显出它的重要性,它能更好地帮助人们更好地管理自己的工作和生活,极大的方便了人们的生活。因其开源,我们可以在之上开发安卓记事本软件,同时这也符合广大的市场需求。
1.2 项目意义
近几年来随着3G技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。Android是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。
我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力。安卓如此受到厂商与开发者的青睐,它的前景是一片光明的。国内对于安卓这方面的市场还没有完全开发出来。只要我们努力学习安卓,对理想,对生活都会有很大的补益。因此,开发这样一套很简单的记事本软件对我们来讲是一件很有必要的事情,在下面的各章中我们将以开发安卓记事本软件为例,谈谈其开发过程和所涉及到的问题及解决方法。
Android记事本的设计与实现
1.3 系统可行性分析
1.3.1 课题调研
(1)与实践活动和相关的文件和资料由作者本人网络查找,以及老师帮助。
(2)具有遇到问题,具有独立思考,耐心钻研,向老师虚心求教的良好态度。(3)关于技术方面的难题,跟指导老师面谈。1.3.2 可行性分析
(1)技术可行性:本项目仅需要一台装有Eclipse及配置好Android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用Windows Xp及其以上版本,Mac os,Linux等操作系统。
(2)经济可行性:由于本软件开发只有三个人,三台电脑就行,基本不需要太大的成本.在经济上完全可行。
(3)操作可行性:界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。并没有太大的难度,所以,该项目完全有可操作性。
1.4 系统主要任务
(1)设计实现”添加新记事”,”编辑内容”,”删除当前记事”这三个主要的功能模块。
(2)分析并解决实现中的若干技术问题,像组件的选择以及保存方式的选择。(3)进行测试并分析结果。
当然记事本的基本功能,建立新文件、修改现有文件、删除文件、查看已建立文件等功能是首先必须完成的。可以编写内容,编辑及删除,让记事的方式多样化。记事本软件的界面设计力求简洁,给人清爽的感觉,让图标及按钮以协调的布局呈现出了,菜单功能要相对简单,让用户操作方便,从而让用户体会到此款软件的实用。因为上述操作涉及到的数据量不大,所以将数据库定为安卓系统自带的SQLite数据库[3],所以这就要求我们要实现在SQLite数据库上面的增删改查。不少人希望自己记事本上面的内容不被被人查看,所以要以设置密码的形式来实现保密。鉴于各种各样的密码实现方式,我们选择了用户体验最好的手势解锁方式。以及采用了更加友好的时间显示方式,让用户在使用过程中更加的舒服方便。记事本软件要内存占用适中,CPU占用也是适中,这样让软件运行顺畅。
Android记事本的设计与实现
2.系统方案设计
2.1 搭建Android开发平台
2.1.1 安装包下载(1)java JDK下载
进入http://java.sun.com/javase/downloads/index.jsp选择Download JDK只下载JDK,无需下载jre。
(2)Eclipse下载
进入http://www.xiexiebang.com/downloads我们选择第一个,即Eclipse IDE for java EE Developers。
(3)Android SDK下载
说明:Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,完全版下载(Android sdk 2.01)。
2.1.2 软件安装(1)安装JDK 安装完成即可。(2)解压Eclipse Eclipse无需安装,解压后,直接打开就行。(3)解压Android SDK 这个也无需安装,解压后供后面使。(4)配置Eclipse 打开Eclipse,在菜单栏上选择 help->Install New SoftWare点击Add按钮,出现如下界面,输入网址:https://dl-ssl.google.com/android/eclipse/(如果出错,请将https改成http),名称:Android(这里可以自定义),点击OK,点击Next按钮,点击Next按钮,出现如下界面:选择I accept the terms of the license agreements,点击Next,进入安装插件界面安装完成后,点击Yes按钮,重启Eclips。
(5)配置Android SDK 点击菜单window->preferences选择你的Android SDK解压后的目录,选错了就会报 6
Android记事本的设计与实现
错,这个是升级工具,目前还没有一个版本的SDK。
升级SDK版本,选择菜单window->Android sdk and avd manager。选择update all按钮,出现如下界面选择左边的某一项,点击accept表示安装,点击reject表示不安装,我这里只选了SDK 2.1和samples for api 7。自己可以任意自定义,确定后,选择install按钮,进入安装界面:安装完成。
(6)新建AVD(Android vitural device)和上面一样,进入Android sdk and avd manager,选中Vitural Devices 在点击New按钮后,名称可以随便取,target选择你需要的SDK版本,SD卡大小自定义,点击Create AVD,显示创建AVD完毕。
(7)新建Android项目
选择菜单file->new->other 进入如下界面:选择新建Android Project项目,点击Next按钮,进入如下界面名称自定义,应用程序名自定义,报名必须包含一个点以上,min SDK version里面必须输入整数
(8)配置运行
右键项目->Run as->Run Configuration该界面,点击Browse按钮,选择你要运行的项目选择Target切换到以下界面该界面选择运行的AVD,将AVD前面的方框设置为选择状态。
(9)测试项目运行右键项目名称->run as->Android Application即可启动运行该Android程序。
2.2 SQLite数据库简介
SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。至2015年已经有15个年头,SQLite也迎来了一个版本SQLite 3已经发布。
Android记事本的设计与实现
2.2.1 SQLite功能特性 1.ACID事务
2.零配置–无需安装和管理配置
3.储存在单一磁盘文件中的一个完整的数据库 4.数据库文件可以在不同字节顺序的机器间自由的共享 5.支持数据库大小至2TB 6.足够小,大致13万行C代码,4.43M 7.比一些流行的数据库在大部分普通数据库操作要快 8.简单,轻松的API 9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定 10.良好注释的源代码,并且有着90%以上的测试覆盖率 11.独立:没有额外依赖
12.源码完全的开源,你可以用于任何用途,包括出售它
13.支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等
同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。到2013年10月17日最新版本是 3.8.1。能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士.2.2.2 Java连接SQLite数据库:
publicclass TestSQLite { publicstaticvoid main(String[] args){ try { 8
Android记事本的设计与实现
//连接SQLite的JDBC Class.forName(“org.sqlite.JDBC”);//建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之 Connection conn =DriverManager.getConnection(“jdbc:sqlite:zieckey.db”);Statement stat = conn.createStatement();stat.executeUpdate(“create table tbl1(name varchar(20), salary int);”);//创建一个表,两列 stat.executeUpdate(“insert into tbl1values('ZhangSan',8000);”);//插入数据 stat.executeUpdate(“insert into tbl1values('LiSi',7800);”);stat.executeUpdate(“insert into tbl1values('WangWu',5800);”);stat.executeUpdate(“insert into tbl1values('ZhaoLiu',9100);”);ResultSet rs = stat.executeQuery(“select * from tbl1;”);//查询数据 while(rs.next()){//将查询到的数据打印出来
System.out.print(“name = ”+ rs.getString(“name”)+“ ”);//列属性一 System.out.println(“salary = ”+ rs.getString(“salary”));//列属性二 } rs.close();conn.close();//结束数据库的连接 } catch(Exception e){ e.printStackTrace();} } }
Android记事本的设计与实现
2.3 总体方案设计
在本模块中,主要设计到三个文件,第一个是与数据库表相对应的实体类,第二个是创建数据库、创建表的类,第三个是对应的增删改查的方法。下面是整个项目的总体方案设计:
本次Android项目中运用的技术比较广,从基础的Activity、SQLite到开源的手势密码组件,因此将项目尽可能完美的整合到一起成了很重要的一部,如何将总体方案设计的规范以及高校是必不可少。
从人员安排上,我们三人分头进行,各不影响,我主要负责的是Activity的展示,也就是将其他组员的劳动成果展示出来,那么如何美观以及高性能的展示变成了难点。
从设计模式上,我们严格遵循Android Design的规格,并且使用Google在I/O大会上推荐的一些开发方法,从而尽可能的讲模块规范化。
从时间分配上,我们进行了敏捷性开发,充分合理的利用了大家的时间。
3.系统软件开发环境
3.1 Windows开发环境
1.用户界面统一、友好、漂亮:
Windows应用程序大多符合IBM公司提出的CUA(Common User Acess)标准,所有的程序拥有相同的或相似的基本外观,包括窗口、菜单、工具条等。用户只要掌握其中一个,就不难学会其他软件,从而降低了用户培训学习的费用。2.丰富的设备无关的图形操作:
Windows的图形设备接口(GDI)提供了丰富的图形操作函数,可以绘制出诸如线、圆、框等的几何图形,并支持各种输出设备。设备无关意味着在针式打印机上和高分辨率的显示器上都能显示出相同效果的图形。3.多任务:
Windows是一个多任务的操作环境,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。每个程序在屏幕上占据一块矩形区域,这个区域称为窗口,窗口是可以重叠的。用户可以移动这些窗口,或在不同的应用程序之间进行切换,并可以在程序
Android记事本的设计与实现
之间进行手工和自动的数据交换和通信。
虽然同一时刻计算机可以运行多个应用程序,但仅有一个是处于活动状态的,其标题栏呈现高亮颜色。一个活动的程序是指当前能够接收用户键盘输入的程序。
3.2 JAVA集成开发环境eclipse Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础。
[7]
[6]3.3 ADT Plugin for Eclipse ADT Plugin for Eclipse 是Eclipse插件,作用是关联Android SDK,使Eclipse能够创建Android工程。
Android开发工具(ADT)是一个Eclipse IDE,目的是给你一个强大的插件,集成环境中构建Android应用程序。
Eclipse的ADT延伸的能力,可以快速建立新的Android
[10]
[9]
项目,创建一个应用程序的用户界面,添加组件基于Android框架API,使用Android SDK工具调试程序,甚至出口签名(或无)APKs以分发你的应用。
Android记事本的设计与实现
4.程序设计
4.1 程序详细设计
开始绘制修改密码否绘制密码是保存or绘制成功新建记事本成功失败登陆更新记事本删除记事本
图4.1 系统流程图
安卓记事本本人涉及到的是SQLite的设计与操作,主要设计到的文件有三个。分别是:MemoItem.java(与数据库表相对应的实体类)、MemoService.java(对SQLite数据库进行增删改查的方法)、DBHelper.java(建立数据库、建立表的方法)。
在SQLite上建数据库,建表主要要继承SQLiteOpenHelper这个类。在构造方法中实现建数据库,在onCreate方法中进行建表。
实现数据的增删改查,先用dbOpenHelper获得WritableDatabase,再进行相应的操作。还要用到cursor来移动游标,MemoItem返回每一条记录,List
Android记事本的设计与实现
在设计SQLite数据库的同时,还进行了几个简单的Activity的编写。Activity是Android开发的重点,它与XML一个负责界面,一个负责界面实现。此外,在写Activity的时候充分利用JAVA的继承特性,将MainActivity作为基类,让其他Activity继承它,虽然整个项目比较小,但是这种利用JAVA特征的设计模式还是充分利用了。
4.2 程序运行及效果截图
图4.2 程序的首页
Android记事本的设计与实现
图4.3 绘制手势
图4.4 通过手势登录
Android记事本的设计与实现
图4.5 登录成功
图4.6 创建新笔记
Android记事本的设计与实现
图4.7 创建成功
图4.8 更新笔记
Android记事本的设计与实现
图4.9 更新成功
图4.10 所有笔记显示页面
Android记事本的设计与实现
4.3 对SQLite数据库增删改查代码实现
增删改查:
package com.example.others;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class MemoService { private DBOpenHelper dbOpenHelper;private SQLiteDatabase db;private Cursor cursor;
public MemoService(Context context){
this.dbOpenHelper = new DBOpenHelper(context);}
public long save(MemoItem item)//保存每一条数据 { db = dbOpenHelper.getWritableDatabase();String sql = “insert into memo(content, time)values(?,?)”;db.execSQL(sql, new Object[]{item.getContent(),item.getTime()});//将时间插入
cursor= db.rawQuery(“SELECT last_insert_rowid()”, null);
cursor.moveToFirst();//每次插入保证都在最前面一个
long result = cursor.getLong(0);
cursor.close();
db.close();
return result;}
public MemoItem getMemoById(long time)//显示每一条具体的记录 { db = dbOpenHelper.getReadableDatabase();
cursor = db.rawQuery(“select * from memo where memoid=?”,new String[]{time+“"});if(cursor.moveToFirst()){ String content
=
Android记事本的设计与实现
cursor.getString(cursor.getColumnIndex(”content“));
long times = cursor.getLong(cursor.getColumnIndex(”time“));
cursor.close();
db.close();
return new MemoItem(content, times);
}
cursor.close();
db.close();
return null;}
public void updateContent(MemoItem item)//更新每一条记录 { db = dbOpenHelper.getWritableDatabase();db.execSQL(”update memo set content=? where time=?“,new Object[] { item.getContent(), item.getTime()
});db.close();}
public void delete(long time)//删除一条记录 { db = dbOpenHelper.getWritableDatabase();db.execSQL(”delete from memo where time=?“, new Object[] {time});db.close();}
public long getCount()//得到所有的记录数 { db = dbOpenHelper.getReadableDatabase();cursor = db.rawQuery(”select count(*)from memo“, null);cursor.moveToFirst();long result = cursor.getLong(0);cursor.close();db.close();return result;} public List
{
List
db = dbOpenHelper.getReadableDatabase();
Android记事本的设计与实现
cursor = db.rawQuery(”select * from memo order by time desc limit ?,?“,new String[] { String.valueOf(offset),String.valueOf(maxResult)});
while(cursor.moveToNext())
{
long time = cursor.getLong(cursor.getColumnIndex(”time“));
String content cursor.getString(cursor.getColumnIndex(”content“));
books.add(new MemoItem(content,time));
}
cursor.close();
db.close();
return books;} }
建数据库、建表
package com.example.others;
import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context){
super(context, ”csust.db“, null, 1);//创建一个数据库 } public void onCreate(SQLiteDatabase db){ db.execSQL(”CREATE TABLE memo(memoid integer primary autoincrement, content varchar,time interger)“);//创建一个memo表 } public void onUpgrade(SQLiteDatabase db, int oldVersion, newVersion){
db.execSQL(null);//更新数据库
} }
表所对应的实体类
package com.example.others;
= key
int Android记事本的设计与实现
import android.os.Parcel;import android.os.Parcelable;
public class MemoItem implements Parcelable { private String content;private long time;public MemoItem(){} public MemoItem(String content, long time){
this.content = content;
this.time = time;} public String getContent(){
return content;} public void setContent(String content){
this.content = content;} public long getTime(){
return time;} public void setTime(long time){
this.time = time;} @Override public String toString(){
return ”BaseItem [content=“ + content + ”, time=“ + time + ”]";} @Override public int describeContents(){
return 0;} @Override public void writeToParcel(Parcel dest, int flags){
dest.writeString(content);
Android记事本的设计与实现
dest.writeLong(time);} public static final Parcelable.Creator
@Override
public MemoItem createFromParcel(Parcel source)
{
MemoItem item = new MemoItem();
item.content = source.readString();
item.time = source.readLong();
return item;
}
@Override
public MemoItem[] newArray(int size)
{
return new MemoItem[size];
} };}
Android记事本的设计与实现
5.工作总结与展望
整个过程中,我总结了一些经验: 1.体会感触最深的一点
事先必须制定计划。这样即使出现问题,解决时也会像修改几个元素一样简单。最简单的原因是,当真正开始项目后,毫无疑问自己将充分了解自己正在尝试着作什么。通过前期的规划,会让自己的工作变得轻松。2.选择合适的开发环境
好的工具可以给我们带来方便,减少工作量。最好使用集成的开发环境,我使用ADT这个集成的开发环境对安卓记事本进行制作,它的功能强大,增强了功能并节省了应用开发的时间。
3.不可忽视界面的设计
从真正的使用方面来讲,一个系统的界面是十分重要的,好的界面可大大刺激顾客的购买欲,收到以像不到的效果,所以可千万不要设计得太单调乏味,而要尽量友好一些。4.一定要做好调试工作
倘若像开发一个成功的安卓记事本,那么一定要设置好菜单,其原则是简单、美观和实用,最重要的是可靠。在安卓记事本投入运行之前,一定要做大量的调试工作,除了在自己的机上调试外,还应在别的机上测试,保证万无一失 5.相互讨论,虚心求教
这是相互学习的好方法,也是节约开发时间的一个有力途径,同时我们可以利用网络这个有利的条件在网上求教。6.本次实践的收获
由于实践的机会太少,对编程不够熟悉,这次实习设计给了我一个很好的动手机会。通过自己的努力,我学会了如何构建一个安卓记事本,数据库的基本构架,基本掌握了Android的编程技术,了解一个系统的整个开发调试过程。在这一次设计中,翻阅大量资料,虽然结果还未尽完美,但在设计过程中,亦使我专业技能上有了很大的提高,对系统开发过程、步骤有了比较深刻的认识。开发的过程中,我遇到了不少疑难问题,除了向指导老师请教外,更多的时候是请教同学,共同探讨,一起寻找解决问题的方案。这些宝贵的经验对于我今后走上工作岗位将有很大的帮助。
Android记事本的设计与实现
参考文献
[1]熊刚.基于Android的智能手机的设计与实现[D].武汉: 武汉理工大学,2010.[2]周恒民译.Java TCP/IP Socket编程(原书第2版)[M].北京: 机械工业出版,2009.[3]张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社.[4]Joshua Bloch.Effective Java: Second Edition[M].Addison-Wesley,2008.[5]胡伟编著 .Android系统架构及其驱动研究[J].广州.广州广播电视大学学报.2008 [6]余志龙.Google Android SDK 开发范例大全[M].北京:人民邮电出版社.2009-7-1 [7]靳岩,姚尚朗.Google Android 开发入门与实战[M].北京:人民邮电出版社.2009-7-1.[8]毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007年 [9]林邦杰,彻底研究java.北京:电子工业出版社,2002年
[10]王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2003年
第五篇:安卓实训报告
通信与电子信息专业实训报告
项目名称:基于android的游戏开发
班 级 10通信1班
姓 名
学 号
指导教师
成 绩
实训时间:年月日—
目录
一、实训目的及其意义............................................3 1.1、目的及意义..............................................3 1.2、研究现状................................................3
二、实训主要任务、重点及难点....................................4 2.1、任务....................................................4 2.2、重点内容及实现途径......................................4
三、实训具体内容及完成的主要工作................................5 3.1、认识基础开发............................................6 3.2、了解数据存储............................................6 3.3、总体实训过程............................................7
四、实际遇到的困难,解决问题的方法和措施........................8
(一)、所遇问题.................................................8
(二)、解决方法与措施...........................................9
五、心得体会....................................................9
一、实训目的及其意义 1.1、目的及意义 了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识android,了解基于android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学的延续,而且是校内教学的总结。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。1.2、研究现状 android 是google开发的基于linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。google与开放手机联盟合作开发了 android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 t-mobile 在内的 30 多家技术和无线应用的领军企业组成。google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。android主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。android操作系统最初由andy rubin开发,主要支持手机。2005年8月由google收购注资。2007年11月,google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良android系统。随后google以apache开源许可证的授权方式,发布了android的源代码。第一部android智能手机发布于2008年10月。android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。目前基于android的移动终端上的软件应用开发很火热,android平台的开发已越来越强大。android是一种以linux为基础的开放源码操作系统,主要使用于便携设备。android操作系统最初由andy rubin创办,最初只支持手机。2005年由google收购注资,并拉拢多家制造商组成开放手机联盟(open handset alliance)开发改良,逐渐扩展到到平板电脑及其他领域上。
二、实训主要任务、重点及难点 2.1、任务
认识移动互联网,了解移动互联网的开发,认识及了解android,在给定时间内完成基于android平台的游戏项目的开发,实现预想游戏效果,熟悉项目开发的商业流程,给出游戏全套文档及代码。
2.2、重点内容及实现途径 2.2.1、重点内容:熟悉游戏开发代码,了解项目流程,对android游戏开发有基本了解。2.2.2、实现途径:
所需运行硬件环境:
安卓系统2.2以上 3.5寸以上移动设备
软件开发环境的配置:
(1)配置java程序开发环境
(2)安装并汉化eclipse(jdk)(3)android sdk的安装
(4)adt的安装及配置
(5)android模拟器的配置
(6)office2003以上版本的软件(绘图visio)然后运用eclipse完成项目代码的编写,运行与调试; 最终在实体终端上进行测试,最终完成项目
三、实训具体内容及完成的主要工作
实训前期,有老师给我们讲解了现阶段移动互联网的发展,了解移动互联网的发展主流,说明了现阶段移动互联的发展重要性。老师着重给我们讲解了android的发展,以及现阶段移动互联中android所扮演的角色。接下来我们将针对基于android的游戏开发进行学习,由于时间的原因,我们主要了解了一下游戏开发的基本项目流程,具体的操作将在实训过程中一一讲解验证。
接下来老师为我们讲解了实训的具体内容,对于一个游戏开发项目,首先我们需要进行游戏开发的前期准备,主要是游戏开发环境的配置,以及团队开发过程中的任务分配,之后紧张的游戏项目开发拉开了帷幕。在第一天我们主要学习了eclipse软件的使用,包括游戏工程的创建等等。并且针对eclipse中的 android项目结构进行了讲解:android项目结构:src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由android开发工具自动生成的文件。目录中最重要的就是r.java文件。这个文件由android开发工具自动产生的。res/ 资源(resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。assets资源目录android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件。androidmanifest.xml 项目清单文件。篇二:安卓实训报告
实习报告书
专 业 计算机科学与技术 系 别
报告题目
安卓
报告人 班
级
指导教师
带队教师 实习时间 实习地点
教务处监制 篇三:android实习报告
实习报告
实习目的:
生产实习是计算机科学与技术专业重要的实践性教学活动,其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况,学生在实习的同时,进行一定的社会实践与调查活动,对于提高学生的综合能力和全面素质具有重要意义。
实习内容: android主要有四大组件,分别为:activity 活动、service 服务、broadcast receivers 广播接受者、content provider 内容提供者。还有上激活组件intent。1.activity activity就是一个用户可以直接接触并看到的窗口,当新建一个android project后可以
看到在工程文件下的src中有一个已建好的java类firstactivity,系统也会自动为他配备一个布局文件main.xml,并在androidmanifest中对此activity进行注册。
用户想要自己创建一个activity,首先创建一个java类继承自activity,可以为他配备一个布局文件用来显示activity创建后的布局。最后在主配置文件manifest.xml中对创建的activity进行注册,这一步是必不可少的,没有注册activity无法运行。在manifest.xml中会有许多的activity,但系统一次只能运行一个activity,因此必须修选定一个最先运行的activity。在注册activity是加入
表格布局tablelayout。其中框架布局适合于单张图片的显示。3.service 服务 service事实运行在后台的一段代码。他与activity一样有相似的生命周期,但不同的是他不能自己运行,必须通过某一个activity或者其他的context对象来调用。service可通过调用context.startservice()启动,还可以通过serviceconnection来访问service。可以将其他的组件绑定到service上。4.数据存储 activity提供了openfileoutput()方法可以用于把数据输出到文件中,具体的实现过程与在j2se环境中保存数据到文件中是一样的。openfileoutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,android 会自动创建它。创建的文件保存在/data/data/
/files目录,如: /data/data/cn.itcast.action/files/itcast.txt,通过点击eclipse菜单“window”-“show view”-“other”,在对话窗口中展开android文件夹,选择下面的file explorer视图,然后在file explorer视图中展开/data/data/
/files目录就可以看到该文件。openfileoutput()方法的第二参数用于指定操作模式,有四种模式android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/
/files),其他程序无法访问。除非在创建时指定了context.mode_world_readable或者context.mode_world_writeable,只有这样其他程序才能正确访问。实习流程: 2月18——2月27日,老师对于android开发进行了详细的讲解,其内容包括:android 的背景介绍,发展过程,自身的优势与不足.android的控件、布局、activity、service等一系列基础知识,对整个android的开发有了大致的了解 2月28日——3月2日: 学生自己开发android 3gabs项目,老师答疑及验收
实习心得:
时间过的飞快,半个月的实习就要结束了,在这次实习中我们不仅学习了相关的专业知识而且让我对android系统又有了一个更加深入的了解,它也是我们计算机专业的一个新的方向并且发展很迅速,为了今后的发展我们还需不断努力学习!我国的信息产业还很落后,随着社会的发展和国家的支持,手机上网是社会发展的趋势,到时候手机上网将无处不在!之前我对android系统的了解之停留在应用的层次上,对于更深层次的了解是很少的,通过这次实习,让我对android系统有了一个更深层次的了解,同时它页使我意识到无论朝哪个方向发展,主要还是要扎实深刻地学习,同时也得不断努力探索!it业发展速度一直都是相当惊人的,不想被社会淘汰,我们就得必须不断地学习,现在的社会不再是一劳永逸,其他行业也是如此,我们必须不断地拿知识来武装自己,不然被淘汰那是肯定的!现在就业难原因其实在于竞争的家具,为了在竞争中得到成功,我们必须时时刻刻学习,还学到了很多做人做事的道理,不仅懂得了要想在计算机这一行立足必须具备扎实的技术理论知识,还必须学会与人沟通,合作的能力,同时更懂得了尝试的重要性,很多事情不是听说是困难的它就是困难的,只有亲自去做亲自去体会才知道,其实它并没有那么困难,这就是实践的重要性!无论做什么事情都必须要坚持,只有坚持下去,才会成功!事在人为,就怕不做!我们不能怕失败,关键是要从失败中总结经验,带着勇气,带着自信,坚持不懈,踏踏实实。这一次的实习是短暂的,但我收获良多。回顾以前所走过的路,太多的无奈和迷茫,这次实习就像是我人生道路上的航标,为我指明了前景的方向,是我对自己的前途充满了信心,我不仅知道了在人生的岔道口更适合朝哪个方向前进!更知道了在今后的道路上怎么去武装自己!
实习结果:篇四:android实训报告
多媒体技术综合实训
课题名称 多媒体展示系统的设计与开发
计算机与软件学院
计算机多媒体(游戏软件设计与开发)
计媒1021 1002553224 学 号 1002553206 1002553218 院 系 专 业 班 级 1002553212 1002553201 1002553206 罗传龙 尹喜晨 王育 李乐乐 赵妹 范小玉 学生姓名
指导教师: 聂桂军、杨立力 2012 年 06 月 19 日
目 录
目 录........................................................3 前 言........................................................4 第一章 概要设计................................................5 1.1 项目研发背景............................................5 1.2 项目功能简介............................................5 1.3 实训的操作环境..........................................6 第二章 整体设计................................................7 2.1 框架设计................................................7 第三章 详细设计.............................................8 3.1 模块的设计..............................................8 实训心得......................................................43 参考文献......................................................44 前言
随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,android手机学生系统管理服务就是其中的一项。目前的学生系统管理服务主要以使用单机或者网页方式实现,这些方式不适合在户外旅游等场合下进行,给用户造成了很多的不便。android平台提供给普通开发者非常灵活的学生资料展示与控制功能,这将使学生系统管理服务的设计与实现有了更好的平台。另外,android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机服务的普及做出贡献。本次实训对目前应用现状进行了分析与比较,进而研究分析了android平台的系统架构和组件模型,在此基础上,基于android平台设计和开发了一个手机学生系统管理服务,本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户基本的学生系统管理服务需求。
第一章 概要设计 1.1 项目研发背景
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依赖人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。1.2 项目功能简介
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体目标是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管篇五:android实训报告
南 京 师 范 大 学 泰 州 学 院
题 目:
学
姓
班
信 息 工 程 学 院 android实 训 报 告 android gps系统 号: 09090103 名: 冯超洁 级: 信工091 2012 年 6月
摘 要
随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务
将会有很大的发展空间,手机地图服务就是其中的一项。目前的地图服务主要以使用单机或者网页方式实现,这些方式不适合在户外旅游等场合下进行,给用户造成了很多的不便。android平台提供给普通开发者非常灵活的地图展示与控制功能,这将使地图 服务的设计与实现有了更好的平台。另外,android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机地图服 务的普及做出贡献。本文对目前应用现状进行了分析与比较,进而研究分析了android平台的系统架构和组件模型,在此
基础上,基于android平台设计和开发了一个手机web地图服务,该系统包括自我定位、地图模式、路线查询、地点查找四大模块。自我定位模块的功能就是把手机用户自己所在地方的地图和经纬度在界面中显示出来。行走踪迹模块的功能就是把用户经过的地方以路线图的形式给画出来。地点查找模块的功能就是查询一个地方,并把它在地图中标注出来。
本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够 满足手机用户基本的地图服务需求。