Android实习报告.docx

上传人:b****6 文档编号:12343716 上传时间:2023-06-05 格式:DOCX 页数:27 大小:245.54KB
下载 相关 举报
Android实习报告.docx_第1页
第1页 / 共27页
Android实习报告.docx_第2页
第2页 / 共27页
Android实习报告.docx_第3页
第3页 / 共27页
Android实习报告.docx_第4页
第4页 / 共27页
Android实习报告.docx_第5页
第5页 / 共27页
Android实习报告.docx_第6页
第6页 / 共27页
Android实习报告.docx_第7页
第7页 / 共27页
Android实习报告.docx_第8页
第8页 / 共27页
Android实习报告.docx_第9页
第9页 / 共27页
Android实习报告.docx_第10页
第10页 / 共27页
Android实习报告.docx_第11页
第11页 / 共27页
Android实习报告.docx_第12页
第12页 / 共27页
Android实习报告.docx_第13页
第13页 / 共27页
Android实习报告.docx_第14页
第14页 / 共27页
Android实习报告.docx_第15页
第15页 / 共27页
Android实习报告.docx_第16页
第16页 / 共27页
Android实习报告.docx_第17页
第17页 / 共27页
Android实习报告.docx_第18页
第18页 / 共27页
Android实习报告.docx_第19页
第19页 / 共27页
Android实习报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Android实习报告.docx

《Android实习报告.docx》由会员分享,可在线阅读,更多相关《Android实习报告.docx(27页珍藏版)》请在冰点文库上搜索。

Android实习报告.docx

Android实习报告

武汉工程大学

计算机科学与工程学院

专业实习报告

 

专业

计算机科学与技术

班级

2012信息技术02

学号

1205110207

学生姓名

方成钢

指导教师

邬少飞(副教授)陈艳(讲师)

刘军(副教授)

实习时间

2015~2016学年第1学期

2015.7.13至2015.7.31

实习成绩

 

武汉工程大学计算机科学与工程学院制

说明:

1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。

2、实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。

3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。

4、指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。

5、学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。

实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。

6、实习报告正文字数应不少于5000字,实习日记字数不少于500字/天。

7、实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。

学生自主实习的,可根据实习的情况自行填写以上内容。

8、自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实习报告一起装订,作为参加实习答辩和评定成绩的依据。

 

专业实习答辩记录表

学生姓名:

方成钢学号:

1205110207班级:

2012信息技术02

答辩地点:

J411

答辩内容记录(至少3个问题。

有问有答。

问题简洁。

答案准确):

 

答辩成绩

总分值

各项分值

评分标准

实际得分

总得分

备注

30

15

在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。

15

在规定时间内能准确、完整、流利地回答教师所提出的问题。

答辩小组成员(签字):

2015年9月17日

专业实习成绩评定表

学生姓名:

方成钢学号:

**********班级:

2012信息技术02

类别

总分值

各项分值

评分标准

实际

得分

合计

得分

备注

实习表现

20

10

遵守学校和实习单位的考勤、安全生产等纪律,积极参加实习活动,无旷课、迟到、早退等情况。

10

积极完成各项任务,表现良好,服从并配合指导教师和实习单位的工作安排。

项目实践及

实习报告

50

10

实习报告格式规范,文字通顺。

按照实习大纲要求认真完成规定项目内容,能运用所学专业知识对问题加以分析,并对全过程的实习内容进行系统的总结。

20

每天记载实习笔记,内容翔实不空泛,无相互抄袭现象。

论述充分完整,结构严谨合理。

体现了实习过程中的学习情况和项目实践情况,及所思、所获、所感。

20

按照要求完成实习项目,方案合理,设计工作量饱满,能运用专业知识和技能去发现与解决实际问题。

在项目实践过程中展现出了较强的学习能力、动手实践能力、团队协作能力和创新意识。

实习答辩

30

15

在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。

15

在规定时间内能准确、完整、流利地回答教师所提出的问题。

总评成绩

指导教师评语

 

指导教师:

(签字)日期:

2015年9月18日

 

一、实习目的与任务

实习目的:

1.体验和适应企业中型团队项目开发全过程。

2.熟练掌握当前业界主流的软件技术。

3.具备对前沿信息技术的独立研究和应用能力。

4.具备对多种企业平台、软件、框架的集成和整合能力。

5.培养和提高学生对岗位的适应能力,使学生更多的了解软件企业的研发流程、项目配置管理和软件开发技术。

实习任务:

实习任务为开发Android手机办公管理系统,它的核心是以公文管理,行政财务审批为核心,对公司人员提供简便快捷的日常工作支持,对董事长,总经理和决策者提供公司内部资源数据支持。

从而使公司的整体优势得以提升,办公自动化系统可最大限度地减少内部信息交流瓶颈,增加公司的内部办公效率,减轻公司事务性工作的压力,降低成本,不限时间地点的跨域支持金领officeautomation协同办公系统也是公司的内部网,系统及时反映内部公告、通知、公司文化、学习讨论园地等。

整合协同管理公司内部办公流程,从而使整个公司的内部管理可以跟上市场的变化,真正做到与时俱进,采用目前最成熟的Web开发技术,以统一平台、协同管理为基本特征,操作简便、成熟稳定、安全、功能实用,且便于快速部署,具有强大的应用扩展能力,易用于各层次的工作人员。

二、实习地点

北京千锋互联科技有限公司上海培训基地

三、实习内容和要求

本次实习在千锋上海培训基地进行,由专业培训教师讲授AndroidAPP开发知识,通过案例指导学生应用开发的方法和技术。

要求学生认真参加实习培训,归纳和灵活应用课内外的知识,掌握Android小应用程序的开发技术;自由组队,自主选题,完成一个APP项目的开发,并公开演示介绍自己的项目。

按实习规范每天完成不少于500字的笔记,撰写一份实习报告,参加实习答辩。

四、实习总结及分析

为期两个星期的专业实习在北京千锋互联科技有限公司上海培训基地圆满结束。

此次实习的内容是Android系统的设计与开发,开发环境为eclipse。

回顾这两周来的学习,虽说时间很短,但是觉得很充实,收获也不小。

在这短短的的实习时间里,在老师的指导下,我熟悉了JavaAndroid的开发平台,掌握了APP开发的基本方法和技巧,并在老师的带领下完成了一些小型APP的设计和开发。

1、Android平台介绍

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android操作系统最初由AndyRubin开发,主要支持手机。

2005年8月由Google收购注资。

2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

第一部Android智能手机发布于2008年10月。

2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。

2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

Android的系统构架:

Android是基于Linux内核的软件平台和操作系统,采用了软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为四部分。

第一层以Linux内核工作为基础,由C语言开发,只提供由操作系统内核管理的底层基本功能;第二层为中间件层,包括函数库Library和虚拟机VirtualMachine,由C++开发;第三层为应用程序框架层,提供了Android平台基本的管理功能和组件重用机制;第四层为应用程序层,提供了一系列核心应用程序,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。

Android开发四大组件分别是:

活动(Activity):

用于表现功能。

服务(Service):

后台运行服务,不提供界面呈现。

广播接收器(BroadcastReceiver):

用于接收广播。

内容提供商(ContentProvider):

支持在多个应用中存储和读取数据,相当于数据库。

活动Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity可以算是开发者遇到的最频繁,也是Android当中最基本的模块之一。

在Android的程序当中,Activity一般代表手机屏幕的一屏。

如果把手机比作一个浏览器,那么Activity就相当于一个网页。

在Activity当中可以添加一些Button、Checkbox等控件。

可以看到Activity概念和网页的概念相当类似。

一般一个Android应用是由多个Activity组成的。

这多个Activity之间Android的应用可以进行相互跳转,例如,按下一个Button按钮后,可能会跳转到其他的Activity。

和网页跳转稍微有些不一样的是,Activity之间的跳转有可能返回值,例如,从ActivityA跳转到ActivityB,那么当ActivityB运行结束的时候,有可能会给ActivityA一个返回值。

这样做在很多时候是相当方便的。

当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。

用户可以通过回退操作返回到以前打开过的屏幕。

可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。

2、实习过程

在整个实习过程中,我们在老师的带领下一个完成了三个android项目,其中有记事本,汤姆猫帧布局的运用,BMI值测试,以及我们以小组为单位的自主开发的手机卫士项目,在这过程中我们主要学习到了sqlite数据库的应用,以及组件的布局和响应。

Android布局:

Andorid的界面,共有两种布局方式,一种是动态布局:

直接Viewv=newView(this)然后setContentView(v);第二种是静态布局:

在res/layout下建立xml文件,一般情况下一个xml对应一个界面,然后在相应的Activity里调setContentView(R.layout.xml文件名)方法建立关联。

Android界面布局有点像html(连注释代码的用法都一样),要先给Android定框架,然后再在框架里面放控件,Android提供了几种常见的布局框架:

1.AbsoluteLayout(绝对布局):

里面可以放多个控件,并且可以自己定义控件的x,y的位置。

2.RelativeLayout(相对布局):

里面可以放多个控件,允许子元素指定它们相对于父元素或其他元素的位置(通过ID指定)。

因此你可以按正确的顺序对齐两个元素,或者让一个视图在另外一个下面,居于屏幕中间,左边的中间,等等。

元素通过给定顺序来绘制,因此如果第一个元素在屏幕中间,其他以它对齐的元素都会对齐到屏幕中间。

同样,因为这个顺序,如果使用XML来指定这个布局,你将引用的元素(为了定位其它视图对象)必须被列在XML文件中,在你通过引用ID从其他视图中引用它之前。

其中一些特性直接由元素支持,另外一些由它的LayoutParams成员变量支持(为所有这个屏幕中的元素子类化RelativeLayout,因为所有元素都是RelativeLayout父对象的子元素)。

已定义的相对布局RelativeLayout,以及margin[Bottom|Left|Right|Top]。

3.LinearLayout(线性布局):

线性布局LinearLayout在单一方向上对齐所有的子视图-竖向或者横向,这依赖于你怎么定义方向orientation属性。

所有子视图依次堆积,所以一个竖向列表每行只有一个子视图,不管它们有多宽,而一个横向列表将只有一行高(最高子视图的高度,加上填充)。

一个线性布局LinearLayout会考虑子视图之间的边缘空白margins以及每个子视图的引力属性(靠右,居中,或者靠左)android:

orientation="vertical"(垂直线性布局,一行只有一个控件,多行一列车),android:

orientation="horizontal"(水平线性布局,只能有一行,多列).

4.TableLayout(表单布局)这个要和TableRow配合使用,很像html里面的table.表布局TableLayout把它的子元素或子视图定位分配到行和列中。

它是由许多的TableRow组成,每个TableRow都会定义一个Row.表布局容器不显示行(Row),列(Column)和单元的边界线(Cell)。

表的列和最多行单元数一样多。

一个表可以有空单元,但是单元不能像HTML里面那样跨列。

TableRow对象是一个TableLayout的子视图(每个TableRow定义了表中的一个单独行)。

每行有0或多个单元(cell),每个Cell拥有一个View对象,可用任何其他视图定义。

因此,行单元可能由各个视图对象组成,如ImageView或TextView对象。

一个单元也可以是一个ViewGroup对象(比如,你可以嵌入另一个表布局作为一个单元)。

5.FrameLayout:

里面最好只有一个控件,因为不能设计这个控件的位置,控件会放到左上角。

FrameLayout是最简单的一个布局对象。

它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象—比如,一张你要发布的图片。

所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。

后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。

6.TabWidget(切换卡)类似于Android中查看电话簿的界面,通过多个标签切换显示不同的内容.要实现这一效果,首先要了解TabHost,它是一个用来存放多个Tab标签的容器。

每一个Tab都可以对应自己的布局,比如,电话簿中的Tab布局就是一个List的线性布局了。

要使用TabHost,首先需要通过getTabHost方法来获取TabHost对象,然后通过addTab方法来向TabHost中添加Tab。

当然每个Tab在切换时都会产生一个事件,要捕捉这个事件需要设置TabActivity的事件监听setOnTabChangeListener。

SQLite数据库:

Activites可以通过ContentProvider或者Service访问一个数据库。

下面会详细讲解如果创建数据库,添加数据和查询数据库。

创建数据库,Android不自动提供数据库。

在Android应用程序中使用SQLite,必须自己创建数据库,然后创建表、索引,填充数据。

Android提供了SQLiteOpenHelper帮助你创建一个数据库,你只要继承SQLiteOpenHelper类,就可以轻松的创建数据库。

SQLiteOpenHelper类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。

SQLiteOpenHelper的子类,至少需要实现三个方法:

构造函数,调用父类SQLiteOpenHelper的构造函数。

这个方法需要四个参数:

上下文环境(例如,一个Activity),数据库名字,一个可选的游标工厂(通常是Null),一个代表你正在使用的数据库模型版本的整数。

onCreate()方法,它需要一个SQLiteDatabase对象作为参数,根据需要对这个对象填充表和初始化数据。

onUpgrage()方法,它需要三个参数,一个SQLiteDatabase对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

下面示例代码展示了如何继承SQLiteOpenHelper创建数据库:

publicclassDatabaseHelperextendsSQLiteOpenHelper{

DatabaseHelper(Contextcontext,Stringname,CursorFactorycursorFactory,intversion){

super(context,name,cursorFactory,version);

}

@Override

publicvoidonCreate(SQLiteDatabasedb){

//TODO创建数据库后,对数据库的操作

}

@Override

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

//TODO更改数据库版本的操作

}

publicvoidonOpen(SQLiteDatabasedb){

super.onOpen(db);//TODO每次成功打开数据库后首先被执行

}

}

接下来讨论具体如何创建表、插入数据、删除表等等。

调用getReadableDatabase()或getWriteableDatabase()方法,你可以得到SQLiteDatabase实例,具体调用那个方法,取决于你是否需要改变数据库的内容:

db=(newDatabaseHelper(getContext())).getWritableDatabase();

return(db==null)?

false:

true;

上面这段代码会返回一个SQLiteDatabase类的实例,使用这个对象,你就可以查询或者修改数据库。

当你完成了对数据库的操作(例如你的Activity已经关闭),需要调用SQLiteDatabase的Close()方法来释放掉数据库连接。

创建表和索引,为了创建表和索引,需要调用SQLiteDatabase的execSQL()方法来执行DDL语句。

如果没有异常,这个方法没有返回值。

例如,你可以执行如下代码:

db.execSQL("CREATETABLEmytable(_idINTEGERPRIMARYKEYAUTOINCREMENT,titleTEXT,valueREAL);");

这条语句会创建一个名为mytable的表,表有一个列名为_id,并且是主键,这列的值是会自动增长的整数(例如,当你插入一行时,SQLite会给这列自动赋值),另外还有两列:

title(字符)和value(浮点数)。

SQLite会自动为主键列创建索引。

通常情况下,第一次创建数据库时创建了表和索引。

如果你不需要改变表的schema,不需要删除表和索引.删除表和索引,需要使用execSQL()方法调用DROPINDEX和DROPTABLE语句。

给表添加数据,上面的代码,已经创建了数据库和表,现在需要给表添加数据。

有两种方法可以给表添加数据。

像上面创建表一样,你可以使用execSQL()方法执行INSERT,UPDATE,DELETE等语句来更新表的数据。

execSQL()方法适用于所有不返回结果的SQL语句。

例如:

db.execSQL("INSERTINTOwidgets(name,inventory)"+"VALUES('Sprocket',5)");

另一种方法是使用SQLiteDatabase对象的insert(),update(),delete()方法。

这些方法把SQL语句的一部分作为参数。

示例如下:

ContentValuescv=newContentValues();

cv.put(Constants.TITLE,"exampletitle");

cv.put(Constants.VALUE,SensorManager.GRAVITY_DEATH_STAR_I);

db.insert("mytable",getNullColumnHack(),cv);

update()方法有四个参数,分别是表名,表示列名和值的ContentValues对象,可选的WHERE条件和可选的填充WHERE语句的字符串,这些字符串会替换WHERE条件中的“?

”标记。

update()根据条件,更新指定列的值,所以用execSQL()方法可以达到同样的目的。

WHERE条件和其参数和用过的其他SQLAPIs类似。

例如:

String[]parms=newString[]{"thisisastring"};

db.update("widgets",replacements,"name=?

",parms);

delete()方法的使用和update()类似,使用表名,可选的WHERE条件和相应的填充WHERE条件的字符串。

查询数据库,类似INSERT,UPDATE,DELETE,有两种方法使用SELECT从SQLite数据库检索数据。

3、自主选题,完成一个APP项目的开发

我们小组一共八个人,所做项目名称是《手机卫士》。

项目介绍:

手机卫士的主要功能模块包括:

手机防盗、高级工具、应用管理、流量管理、任务管理等。

由于时间限制,我们只完成了手机防盗、高级工具和软件管理这三个部分的功能。

手机防盗的具体功能是先设置手机密码,设置完密码后,接下来就是防盗设置向导,第一步是SIM卡变更报警、gps追踪、远程销毁数据和远程锁屏设置。

第二步是SIM卡绑定。

第三步是安全号码设置,当手机的SIM卡变更后,会发送短信到这个安全号码上。

第四步是提示设置完成和开启保护设置。

高级工具的具体功能包括手机号码归属地查询、设置手机归属地服务、归属地显示风格、归属地显示位置、黑名单、短信备份和短信还原。

黑名单的功能包括添加、修改和删除黑名单。

应用管理的具体功能包括手机应用程序的获取与显示,以及对应用程序进行卸载的操作。

主界面:

显示手机卫士所包括的手机防盗、高级工具和软件工具等几大功能的图标。

图1系统主界面

手机防盗功能的设计与实现:

点击手机防盗的图标,进入设置密码对话框,这是首次登录时弹出来的对话框,用来设置登录密码。

如果两次输入的密码不同,会提示“两次密码不相同”。

只有两次输入的密码相同才能完成密码设置。

密码设置完成后,就会进入设置向导的界面,向导总共分为四步,可进行其他安全设置。

图2手机防盗界面

第一步是SIM卡变更报警、gps追踪、远程销毁数据和远程锁屏设置。

第二步是SIM卡绑定,点击绑定按钮,其右边的“没有绑定”选项会变成“已经绑定”,并且空白方框会打上一个钩,表示已经完成绑定。

点击屏幕下方的上一步和下一步,可以跳转到第一步和第三步的界面。

第三步是安全号码设置,当手机的SIM卡变更后,会发送短信到这个安全号码上。

安全号码的设置,可以直接在输入框中输入号码,也可以点击“选择联系人按钮”在已有联系人中选择,跳转到联系人界面进行选择(由于系统里没有联系人,所以显示“Nocontacts”)。

但是,安全号码不能为空,否则系统会提示“安全号码不能为空”。

输入安全号码后,点击下一步可以进入到第四步。

第四步的作用是提示设置完成和开启保护设置。

如果不开启保护,在点击完成时,会有提示框提示,建议开启保护。

再点击“OK”就可以回到第四步

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2