第一篇:Android专业调研报告(范文)
Android专业设置的调研报告
一、Android简介与发展历程
1、Android简介
Android 是Google历经数年和投资数亿美元开发出来的智能手机系统,是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Google也发起了围绕Android的组织——开放手机联盟,其英文全称为“Open Handset Alliance”。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
随着各大移动终端生产商大力开发和生产基于Android的移动智能设备,Android迅速得到业界和社会的认可,并成为整个产业的热点,基于Android平台的各类人才逐渐成为各大企业竞相争夺的焦点。而且Android是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。
2、发展历程
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。根据市场研究公司Gartner的统计数据显示,2010年第二季度,谷歌Android移动操作系统的市场份额上升至17.2%,成功取代苹果IOS晋升为全球第三大移动操作系统。在2010年第二季度一系列最新智能手机发布以后,Android操作系统在美国个人消费者市场上销售的所有智能手机中所占份额为33%,超过RIM的28%和苹果的22%。2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。
Android是目前开放性最强的移动设备综合平台,使得电信运营商、手机制造商以及产业链各环节能够更好、更快地将产品推向市场,同时降低成本。和中国移动一样,中国联通的手机操作系统也是基于Android进行深入二次开发的。在这数年中,Android的发展日新月异,具体的发展历程如下: Android 1.1
发布时间:发布于 2009 年 2 月
代表手机:T-MOBILE G1
Android 1.5
发布于 2009 年 5 月
代表手机:摩托罗拉CILQ
Android 1.6
2009 年 9 月发布
代表手机:索尼爱立信 X10
Android 2.0
2009 年 10 月 26 日
代表机型:摩托罗拉XT800,HTC G6
Android 2.0/2.1 Eclair
2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair法式奶油夹心甜点”。
Android 2.2 Froyo
谷歌于北京时间2010年5月20日晚上10:30点在旧金山Moscone会展中心举办 Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。相对于上一版本的改变:整体性能大幅度的提升,3G网络共享功能,Flash的支持,App2sd功能,全新的软件商店,更多的Web应用API接口的开发。
Android 2.3 Gingerbread
北京时间12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。虽然在版本号方面Android 2.3相对于前作而言的提升并不算多,但是从功能以及界面的变化上来看还是十分明显的。
Android 2.4
就像Android 2.0和2.1版本都使用Eclair(法式奶油夹心甜点)一样,Android
2.3和2.4将会共享Gingerbread(姜饼)代号。这两个版本之间的变化不会太大,但是会有不少功能更新。
Android 3.0 Honeycomb
2011年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用 Android3.0系统的是MOTOXOOM。
Android 4.0 Ice Cream Sandwich
2011年10月19日上午十点,谷歌与三星联手在中国香港举办发布会,公布有关Android 4.0(Ice Cream Sandwich,冰淇淋三明治)系统信息。Android4.0 拥有十大重点新特性。集成谷歌电视和Chrome OS的智能停放,运行速度得到进一步提升。
二、Android专业设置的原则
1、根据社会需求增设专业方向。Android的专业设置调整依据二十一世纪我国社会发展状况,经济建设情况和本地经济发展的需求,人才需求的情况,积极稳妥地设置专业、调整专业,以适应社会经济发展和企业的人才需求。
2、Android的专业设置以学校发展、面向市场为主,突出对学生创新能力和实践能力的培养,有利于树立现代化教育教学观念,优化课程结构,改进教学方法,促进学校内部各项改革、各项资源的合理配置。
3、Android的专业设置是在教育部高职高专教育指导性专业目录及有关行业制定的相关专业设置标准、业务方位的基础上,依据改专业在本校已经具有的软硬件条件等确定的。
三、Android专业培养目标及要求
1、培养目标
Android专业设置以高职软件技术专业人才培养方案为蓝图,培养德、智、体全面发展,即牢固掌握必需的文化科学基础知识,又以掌握软件技术专业理论知识为目标,具备桌面应用程序、中小型C/S应用程序、中小型B/S应用程序开发能力,具有较强的创新能力、较强的实践技能的“应用型”、“创业型”的复合型人才。
以毛泽东思想、邓小平理论等重要思想为指导,引导学生树立科学的世界观、人生观和爱国主义、集体主义、社会主义的思想以及良好的职业道德和行为规范,提高科学文化修养,掌握必要的文化基础知识、专业知识和熟练的职业技能,培养学生爱岗敬业的品质和适应职业变化的能力,具有创新精神,具有健康的身体和心理,具有艰苦朴素,吃苦耐劳的精神。
2、培养要求
本专业毕业生主要面向企业从事Android桌面应用程序的开发,应掌握Android开发工作所必需的基础知识、基本技能,了解我国IT行业发展及有关方针政策,培养学生在今后的学习、工作中贯彻执行政策的能力,运用所学知识分析问题、解决问题的能力,掌握本专业的Java、Java Web、J2EE以及Android应用开发等系列知识,具有较强的实践动手力能,成为懂业务、会管理、能操作,能正确地领会企业、公司的项目开发意图,能胜任团队合作开发、项目单独模块设计开发等工作,且能反馈工作中的问题并更正错误,综合职业能力强的应用型
专门人才,能胜任Android行业、Java行业岗位的工作。
四、Android专业设置的可行性
1、Android专业设置有“学科理论知识体系”的支撑
“技术专业”不像“学科专业”拥有庞大的理论体系,其“知识”只能依附于“学科体系”,“技能”只有一些零星分散在不同技术领域中的“专有技术”,这些技术无法形成“技术理论”,从来没有形成也不可能形成“技术理论体系”,因而专业设置需要“学科理论知识体系”支撑。
我系软件技术专业以C++课程为基础、数据结构课程为导向、Java系列课程为核心,有着全面完善的Java学科理论知识体系,为Android系列课程的开设奠定了良好的理论基础,并且以项目驱动为教学手段,为Android课程实训提供了培养了良好动手能力的平台。
2、Android专业的教学内容相对稳定
无论教学内容如何“与时俱进”,始终赶不上新技术发展的速度。学校培养的毕业生很难成为“先进技术的拥有者”,只能是“传统技术的传人”。现阶段,在Android方向的技术更新有着迅猛势头,但技术核心思想保持着相对稳定,所以其教学内容大体保持相对稳定,只需要更新一些就业行业上需要的新特性、新元素。
3、Android专业开设经济成本低
google提供现成的丰富api类库,并且有google doc,calendar等免费、好用的api;大量的开源代码可以借鉴;不需要缴纳例如wm或苹果或nokia的授权费用,可以大幅度降低开发成本。
4、Android专业师资培养的周期较短
“技术专业”除了执教前必须取得高校教师资格证书外,教师还必须学习所从教的专业基础课知识。只有这样,教师才能站在专业培养目标的高度重新审视自身知识体系,改造自己的知识结构。无论“技术专业”教师来自哪里,都必须经过一个“专业知识的再造过程”,因此其师资培养的周期比普通高等教育要长一些。
Android的专业课程是以Java课程的开设为基础的、在Java系列课程的开设前提下加开2门android相关知识技术方面的课程,我系老师只需针对android方面的技术知识进行自学,并参与相关的android教学培训,开展一些学术研讨
会,就能形成自己的教学模式。
5、Android专业教学师资力量可行性分析
我院有一支结构合理,整体素质优良的师资队伍,职称结构合理,老中青相结合,教研成果丰硕。Android用Java+Eclipse开发,易学易用,入门门槛低,教研室老师大都有着一定java教学经验,能够较快地进入教学角色。此外,我院通过引进大量高学历应届毕业生和企业高级技术人员,建立了一支理论扎实,实践经验丰富的双师型教师队伍。
6、Android专业实践教学可行性分析
重视实践教学环节是高等职业教育的本质特征。实践教学环节中的教学内容必须与社会岗位能力的要求相一致,至少是“高度仿真”,这就使该专业设置必须以对实践教学基地的巨额投资为基础。
我系已经有了较为完备的实践教学实验室和设备,Android的实践教学不需要再投入其他设备的投资,用现有的实验设备资源足够满足Android的实践教学内容,并且我系还可以通过校企合作等方式,让企业分担部分实践教学内容。
1)实验室的建设:有着多个设备完善的多媒体教学、实践教学实验室,配备了高端配置的计算机,能够满足现阶段各种主流开发语言的运行以及教学任务的进行,并且Android的教学与实践不需要再投入其他额外的投资,现有的硬件资源已能够满足现阶段Android主流版本的开发与教学。
2)为了使教学与实践很好地结合起来,多形式、多渠道地开展实训活动,我们将与一些实训基地建立长期的实训、培训协作关系,加强校企之间的联系,拓展实训渠道。另外,我们还将积极采取多形式的实习方式,如:顶岗实习、自择实习,校内模拟实习等,从而有力地保障学生的实训质量。
7、Android专业设置有利于提高学生的就业率
现阶段Android的流行火爆程度已经得到了社会与学校的公认,如果将社会对Android人才的需求引入到我系毕业生求职方向中,将会很大提高我系毕业生就业率与就业质量。对于高职毕业生,由于用人目的不同,用人单位考核人才的重点不是学历和学校名称,而是更看中应聘者的岗位职业能力。掌握了Android开发技能的高职毕业生能获得更好的就业和择业机会。
我系还可以通过开展相关Android技能培训考证,颁发职业资格证书,为学生的就业增加砝码。
五、Android专业建设与发展的主要思路以及实施方案
1、专业建设与发展思路
1)专业建设前要进行充分的调研。我们已经对Android专业建设情况进行了前期调研,获得了大量的有用资料,为专业的开设和发展提供了参考。
2)加强师资力量的建设。首先是有目的地、重点地、分批地提高师资水平,如选派青年教师安博牛耳进行了Android初级培训;其次是不断地完善实验设施软件环境,从而不断地满足教学发展的要求。
3)培养大批的软件技术专业人才。为了适应职业教育形势发展的要求,办出Android专业特色,今后教学发展要面向社会的就业需求,满足企业文化的理念,为社会培养中等层次的软件技术专业人才。
4)不断深化理论教学和实践教学的改革。在Android理论教学方面,要花大力气研究和把握职业教育的发展变化规律,特别是要多调查研究Android的前沿技术与发展方向,科学定位人才的培养目标,合理设置Android专业课程,增加选修课,切实做到理论与实践紧密结合。在实践教学方面,要坚持以培养职业技能为宗旨的实训方针,加强校企、校社联系,广开实训渠道,不断探索职业教育的新思路。
2、专业建设与发展实施方案
第一阶段:2011年11月7日至2011年11月9日,Android专业建设小组人员进行任务分工。收集与专业建设相关的资料,进行专项研讨,确定专业建设方案。
第二阶段:2011年11月10日至2011年11月20日,组织专业建设小组人员到企业进行调研,了解现阶段流行的移动开发平台,采集现阶段android系统开发平台的相关信息与资料。
第三阶段:2011年11月21日至2011年11月23日,专业建设小组开展学术研讨,结合专业建设研究方案,学习资料,总结与分析专业建设的具体事宜。
第四阶段: 2011年11月24日至2011年12月9日,组织2名教师参加Android系统开发培训。
第五阶段:在2012年上学期,开设一门Android软件开发相关的公共选修课程。
综上所述,开办Android专业是必要的、可行的。我系已经具备开设Android专业的条件,并将继续为此做好充分的准备。
第二篇:android天气预报报告
Android天气预报论文
学 院: 专 业: 学 号: 学生姓名: 指导教师: 日 期:
电子信息工程学院 计算机应用 11033801135
郎红 黄炜 2013年11月13
一、项目背景
现有的3G技术和移动互联网技术的快速发展,智能手机功能的不断增强,让基于Android平台的查询需求越来越多。
本软件就是利用现有的网络快速获取网络上的天气信息并显示到手机终端上,为用户提供实时的天气查询和近期天气查询服务,为工作、出行等带来便利。通过Web Service等技术让用户体验到前所未有的移动计算。
二、需求分析
(一)功能需求
在这个综合示例中,有一个显示天气情况的用户界面,可以通过图片和文字显示当前和未来几天的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务按照一定时间间隔,从搜索引擎上获取天气预报信息,并将天气信息保存在后台服务中。示例还需要提供基于SMS短信的天气数据服务,其他手机用户可以向本示例所在的手机上发送SMS短信,在短信中包含特定的关键字,则可以将已有的天气情况通过SMS短信回复给用户。最后,每个被发送的SMS短信都会被记录下来,用户可以浏览或删除这些记录信息。
(二)界面需求
从上面的描述中可以基本了解软件的功能需求,但为了将需求分析过程变得简单明了,首先找出用户界面上需要显示的内容。功能描述中有“显示天气情况的用户界面”和“用户可以浏览或删除这些记录信息”,除此以外,一般应用软件还应有显示配置信息的界面。因此,本示例应该包含三个用户界面: 显示天气预报的用户界面、显示已发送SMS短信的用户界面、浏览和设置配置信息的用户界面
(三)内部功能
从用户界面出发,分析隐藏在界面后面的内部功能,这些功能则是程序正常运行的基础(1)显示天气预报的用户界面 ;
①获取搜索引擎的天气数据 ②保存天气数据信息(2)显示SMS短信的用户界面
①根据关键字监视SMS短信 ②发送包含天气信息的SMS短信 ③将发送SMS短信的相关信息写入数据库(3)浏览和设置配置信息的用户界面
①将用户设置的配置信息保存到数据库 ②启动时读取数据库中的配置信息 ③支持恢复缺省设置
三、程序设计
(一)用户界面设计
根据需求中的用户界面分析,应用程序应包含三个主要的用户界面,每个用户界面的显示内容
在“显示天气预报的用户界面”中,显示目标城市的当前的天气状况,包括城市名称、温度、湿度、风向、雨雪情况和获取数据时间等信息。在界面的下方显示未来四天的天气状况,但仅包括温度和雨雪情况
在“显示已发送SMS短信的用户界面”中,显示每个回复短信的时间、目标手机号码、城市名称、当天的天气状况和未来一天的天气状况
在“浏览和设置配置信息的用户界面”中,显示希望获取天气预报的城市名称、获取数据的频率和短信监视的关键字,并允许用户设置是否提供短信服务,以及是否记录回复短信信息
用户界面草图:
(二)数据库设计
本示例主要有两种数据需要存储
配置信息:因为配置信息的数据量很小,从Android支持的存储方式上分析,可以保存在SharedPreference、文件或SQLite数据库中
SMS短信服务信息: SMS短信服务信息是一个随着时间推移而不断增加的数据,属于文本信息,而且有固定的格式,因此适合使用SQLite数据库进行存储
综合分析这两个需要存储的数据,选择SQLite数据库作为存储数据的方法(1)配置信息:
配置信息中主要保存目标城市的名称,访问搜索引擎更新天气信息的频率,请求天气信息服务短信的关键字,以及是否提供短信服务和是否记录短信服务内容,配置信息的数据库表结构
(2)SMS短信服务信息:
SMS短信服务信息主要保存请求天气服务短信的发送者、短信内容、接收时间和回复信息的内容,SMS短信服务信息的数据库表结构
(三)程序设计
程序模块设计:
从功能需求上分析,可以将整个应用程序划分为4个模块,分别是用户界面、后台服务、数据库适配器和短信监听器。下图是模块结构图
从模块结构图中不难看出,后台服务是整个应用程序的核心,主要包含数据获取子模块和短信服务子模块。数据获取子模块负责周期性的从搜索引擎获取天气信息;短信服务子模块则负责处理接收到的服务请求短信,并发送包含天气信息的短信。
后台服务由用户界面通过Intent启动,启动后的后台服务可以在用户界面关闭后仍然保持运行状态,直到用户通过用户界面发送Intent停止服务,或系统因资源不足而强行关闭服务。
用户界面从后台服务获取天气信息,而没有直接通过网络访问搜索引擎的天气数据。一方面是因为后台服务使用了工作线程,通过后台服务获取天气数据可以避免因网络通信不畅造成界面失去响应。另一方面,在用户关闭界面后,后台服务仍然需要更新天气信息,以保证短信服务数据的准确性。用户界面通过直接调用数据库适配器,向SQLite数据库中读写配置信息,或对SMS短信服务信息进行操作。
短信监听器是一个BroadcastReceiver,监视所有接收到的短信。如果短信中包含用户自定义的关键字,短信监听器则会认为这条短信是天气服务请求短信,将短信的相关信息写入后台服务的短信服务队列。如果用户在配置信息中选择无需提供短信服务,短信监听器仍然继续监听所有短信,只是后台服务不再允许将服务请求短信写入服务队列。
数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台服务会调用它实现数据库操作。
四、项目功能描述
(一)系统主要功能
本软件要完成在android手机上实现天气的即时预报。所涉及的功能有: 1.启动程序后可以进行城市、更新频率的设置;
2.可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。使用效果图实现与相应天气的结合。
3.这些天气数据是通过后台服务获取的,这个后台服务可以按照一定的时间间隔,通过搜索引擎提供的公共接口获取天气预报信息,并将天气信息保存在本地数据库中。(二)工程结构
在程序开发阶段,首先确定“天气预报软件”的工程名称为WeatherDemo,包名称为edu.hrbeu.WeatherDemo。然后根据程序模块设计的内容,建立WeatherDemo示例,WeatherDemo示例源代码的文件结构:
为了使源代码文件的结构更加清晰,WeatherDemo示例设置了多个命名空间中,分别用来保存用户界面、数据库、后台服务、SMS短信和天气数据的源代码文件,WeatherDemo示例的命名空间
WeatherDemo示例将不同用途的源代码文件放置在不同的命名空间中。WeatherDemo示例的文件用途说明
Android资源文件保存在/res的子目录中。/res/drawable目录中保存的是图像文件,/res/layout目录中保存的是布局文件,/res/values目录中保存的是用来定义字符串和颜色的文件,/res/xml目录保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,资源文件名称与用途:
(三)数据库适配器
数据库适配器是最底层的模块,主要用于封装用户界面和后台服务对SQLite数据库的操作。数据库适配器的核心代码主要在DBAdapter.java文件中 用户保存配置信息的类文件Config.java Config.java文件的全部代码如下: package edu.hrbeu.WeatherDemo.DB;2 3 public class Config { 4 public static String CityName;5 public static String RefreshSpeed;6 public static String ProvideSmsService;7 public static String SaveSmsInfo;8 public static String KeyWord;9 10 public static void LoadDefaultConfig(){ 11 CityName = “New York”;12 RefreshSpeed = “60”;13 ProvideSmsService = “true”;14 SaveSmsInfo = “true”;15 KeyWord = “NY”;16 }17 } 从代码中不难看出,公有静态属性CityName、RefreshSpeed、ProvideSmsService、SaveSmsInfo和KeyWord,完全对应数据库中保存配置信息表的属性(参照表12.1)。在程序启动后,保存在数据库中的城市名称、更新频率、是否提供短信服务、是否保存短信信息和关键字等内容,将被读取到这个Config类中,供其它模块做逻辑判断时使用。
代码第10行的LoadDefaultConfig()函数,保存了程序内置的配置参数此函数会在两个情况下被调用,用户主动选择“恢复缺省设置”;首次启动程序时,用来初始化保存配置参数的数据库,DBAdapter类与以往介绍过的数据库适配器类相似,都具有继承SQLiteOpenHelper的帮助类DBOpenHelper。DBOpenHelper在建立数据库时,同时建立两个数据库表,并对保存配置信息的表进行了初始化。
在DBAdapter类中,用户界面会调用SaveConfig()和LoadConfig(),从SQLite数据库中保存和读取配置信息。保存配置信息时,SaveConfig()函数会将Config类中的公有静态属性写入数据库;反之,LoadConfig()会将数据库中的配置信息写入Config类中的公有静态属性。
另一个会调用DBAdapter类的是后台服务,即WeatherService类。后台服务主要调用SaveOneSms(SimpleSms sms)、DeleteAllSms()和GetAllSms()函数,分别用来保存SMS短信记录、删除所有SMS数据记录和获取所有SMS数据记录。在GetAllSms()函数中,调用了一个私有函数ToSimpleSms(Cursor cursor),用来将从数据库获取的数据转换为SimpleSms实例数组。
(四)短信监听器
短信监听器本质上是BroadcastReceiver,用于监听Android系统所接收到的所有SMS短消息,可以在应用程序关闭后仍然继续运行,核心代码在SmsReceiver.java文件中。在介绍SmsReceiver类前,先说明用来保存SMS短信内容和相关信息的SimpleSms类。android.telephony.SmsMessage是Android提供的短信类,但这里需要一个更精简、小巧的类,保存少量的信息,因此构造了SimpleSms类,仅用来保存短信的发送者、内容、接收时间和返回结果。这里的“返回结果”指的是返回包含天气信息的短信内容。
SimpleSms.java文件完整代码: package edu.hrbeu.WeatherDemo.SMS;2 import java.text.SimpleDateFormat;3 4 public class SimpleSms { 5 public String Sender;6 public String Body;7 public String ReceiveTime;8 public String ReturnResult;9 10 public SimpleSms(){ 11 } 12 public SimpleSms(String sender, String body){ 13 this.Sender = sender;14 this.Body = body;15
SimpleDateFormat tempDate = new SimpleDateFormat(“yyyy-MM-dd” + “ ” + “hh:mm:ss”);16 this.ReceiveTime = tempDate.format(new java.util.Date());17 this.ReturnResult = “";18 } 19 } 代码第5行到第8行的属性Sender、Body、ReceiveTime和ReturnResult,分别表示SMS短信的发送者、内容、接收时间和返回结果。第15行和第16行在SimpleSms类的构造函数中,直接将系统时间以“年-月-日 小时:分:秒”的格式保存在ReceiveTime属性中。
SmsReceiver类继承BroadcastReceiver,重载了onReceive()函数。系统消息的识别和关键字的识别并不复杂,只要接收android.provider.Telephony.SMS_RECEIVED类型的系统消息,则表明是Android系统接收到了短信。将短信的内容拆分后,判断消息内容是否包含用户定义的关键字,则可判断该短信是否为天气服务请求短信。
最后,在AndroidManifest.xml文件中注册短信监听器SmsReceiver,并声明可接收短信的用户许可android.permission.RECEIVE_SMS。如果注册的组件不在根命名空间中,则需要将子命名空间写在类的前面,例如下面在代码第1行中,因为SmsReceiver.java文件在edu.hrbeu.WeatherDemo.Service命名空间下,而不在根命名空间edu.hrbeu.WeatherDemo下,因此注册组件时需要在类名SmsReceiver前添加.Service。
后台服务是WeatherDemo示例的核心模块,在用户启动后持续在后台运行,直到用户手动停止服务,后台服务功能,发送包含天气信息的SMS短信(短信发送子模块,周期性的获取搜索引擎的天气数据(数据获取子模块)。
1.短信发送子模块
后台服务在单独的线程上运行,首先调用ProcessSmsList()函数,检查短信队列中是否有需要回复的短信,然后调用Get搜索引擎WeatherData()函数获取天气数据,最后线程暂停1秒,以释放CPU资源,WeatherDemo示例后台服务的核心代码在WeatherService.java文件中。下面是线程调用函数的部分代码 :
private static ArrayList
private void ProcessSmsList(){ 2 if(smsList.size()==0){ 3 return;4 } 5 SmsManager smsManager = SmsManager.getDefault();6 PendingIntent mPi = PendingIntent.getBroadcast(this, 0, new Intent(), 0);7 while(smsList.size()>0){ 8 SimpleSms sms = smsList.get(0);9 smsList.remove(0);10
smsManager.sendTextMessage(sms.Sender, null, Weather.GetSmsMsg(), mPi, null);11 sms.ReturnResult = Weather.GetSmsMsg();12 SaveSmsData(sms);13 }14 } 发送短信是使用SmsManager对象的sendTextMessage()方法,该方法一共需要5个参数,第1个参数是收件人地址,第2个参数是发件人地址,第3个参数是短信正文,第4个参数是发送服务,第5个参数是送达服。sendTextMessage()方法的收件人地址和短信正文是不可为空的参数,而且一般GSM规范要求短信内容要控制在70个汉字以内。代码第8行的Weather.GetSmsMsg(),用来获得供回复短信使用的天气信息,因为考虑到短信的字数限制,仅返回当天和未来一天的天气状况。
2.数据获取模块
天气数据是从搜索引擎提供的Web Service中获取的,调试WeatherDemo示例时需要网络环境,数据的获取地址是 http://www.xiexiebang.com/ig/api?hl=en&weather=New%20York。New%20York表示获取纽约(New York)的天气数据,%20表示一个空格。读者可以将上面提供的地址输入到Web浏览器,在浏览器中直接看到XML格式的天气数据。
WeatherAdapter类实现了利用URL获取位图的私有函数GetURLBitmap(),以及用来下载和解析XML数据的公有函数GetWeatherData()。后台服务在调用GetWeatherData()函数解析搜索引擎提供的天气数据时,会不断调用GetURLBitmap()函数,将XML数据中的天气图标根据图标地址下载到本地保存。GetURLBitmap()函数的代码如下 :
private static Bitmap GetURLBitmap(String urlString){ 2 URL url = null;3 Bitmap bitmap = null;4 try { 5 url = new URL(”http://www.xiexiebang.com" + urlString);6 } 7 catch(MalformedURLException e){ 8 e.printStackTrace();9 }10 11 try{ 12 HttpURLConnection conn =(HttpURLConnection)url.openConnection();13 conn.connect();14 InputStream is = conn.getInputStream();bitmap = BitmapFactory.decodeStream(is);16 is.close();17 }catch(IOException e){ 18 e.printStackTrace();19 } 20 return bitmap;21 } 第12行代码构造了支持HTTP功能的URLConnection,第14行返回字节流,第15行使用字节流产生位图,第16行关闭字节流。
GetWeatherData()函数首先根据指定的URL地址,从网络获取字节流数据,然后调用轻量级XML解析器XmlPullParser对天气数据进行解析,并将解析结果保存在Weather类的公有静态属性中。
(六)用户界面
在用户界面设计上,采用可多分页快速切换的TabHost控件。WeatherDemo示例TabHost控件的每个标签页与一个Activity相关联,这样就可以将不同标签页的代码放在不同的文件中,而且每个标签页都可以有独立的选项菜单。
WeatherDemo类是继承TabActivity的Tab标签页,共设置3个标签页 TAB1的标题为“天气预报”,关联的Activity为WeatherActivity,TAB2的标题为“历史数据”,关联Activity为HistoryActivity,TAB2的标题为“系统设置”,关联Activity为SetupActivity。
WeatherDemo.java中的代码只是用户界面的框架,设置了Tab标签页的图标、标题和所关联的Activity,标签页中的具体显示内容还要依赖于每个Activity所设置的界面布局
界面布局包含 WeatherActivity、HistoryActivity、SetupActivity 1.WeatherActivity用户界面
WeatherActivity在启动时并不能直接显示最新的天气信息,用户需要通过选项菜单的“启动服务”开启后台服务,然后点击“刷新”获取最新的天气状况。
选项菜单还提供“停止服务”和“退出”选项。WeatherActivity使用的布局文件是tab_weather.xml,这是个较为繁琐的界面布局,多次使用了垂直和水平的线性布局。
2.historyActivity界面
HistoryActivity主要用来显示SQLite数据库中的短信服务信息,显示的内容包括发送者的手机号码、时间和回复短信内容。为了能够以列表的形式显示多行数据,并且定制每行数据的显示布局,这里使用了以往章节没有介绍过的ListActivity(Android.app.ListActivity)。
ListActivity可以不通过setContentView()设置布局,也不必重载onCreate()函数,而直接将显示列表加载到ListActivity,增加了使用的便利性。在WeatherDemo示例中,仍然使用setContentView()设置布局,这样做的好处是可以在界面中设置更为复杂的显示元素,例如在列表上方增加了提示信息“SQLite数据库中的短信服务信息”。下方的代码是HistoryActivity.java文件的onCreate()函数中的设置布局和加载适配器的关键代码。1.setContentView(R.layout.tab_history);2 setListAdapter(dataAdapter);3.SetupActivity界面
SetupActivity主要用来保存和恢复用户设置的运行参数,第一次启动或恢复缺省设置(在选项菜单中)后,界面上会显示系统的缺省设置,包括城市名称、更新频率、是否提供短信服务、是否记录短信服务数据信息和短信服务的关键字。
SetupActivity.java文件中,主要功能集中在RestoreDefaultSetup()、UpdateUI()和SaveConfig()三个函数上。RestoreDefaultSetup()用来恢复系统的缺省配置 ;UpdateUI()会根据保存在Config类中的数据更新SetupActivity的界面控件,SaveConfig()根据界面配置更改Config类,然后调用数据库适配器的DBAdapter.SaveConfig()函数,将Config类中的配置数据写入数据库。
五、总结
通过该项目的实战演练让我受益匪浅,在这个过程中,我学会了很多知识,比如Android环境的搭建、Activity、Service、ContentProvider、SQLite的用法等,但我学会的最重要的一点是,利用现有的资源去解决问题,在图书馆、网络上寻找答案。
虽然,这个软件目前运行良好,但是我认为代码的健壮性还很差,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。
第三篇:Android 课程设计报告
课 程 设 计
课程名称: 嵌入式技术课程设计 设计题目: 基于Android系统的小查询工具 学 院: 信息工程与自动化学院 专 业: 计算机科学与技术 年 级: 2010级 学生姓名: 指导教师: 日 期: 2013/7/8
教 务 处 制
课 程 设 计 任 务 书
信息工程与自动化 学院 计算机科学与技术 专业 2010 年级 学生姓名:
课程设计题目: 基于Android系统的小查询工具 课程设计主要内容:
通过本课程设计,使学生巩固软件工程的基本概念、原理,熟悉安卓应用开发环境和技术,学会完成一个移动终端应用软件的分析、设计、编码测试和安装,将理论与实际相结合,强化学生的项目开发和团队意识,提高学生分析能力和创新能力
基本理论
1、Android系统的开发方法及基本原理
2、JavaEE应用程序设计开发技术 实验方法与基本要求
要求学生掌握Windows环境下Android系统开发的一般方法,AndroidSdk 集成开发环境的构建及JavaEE应用程序的开发。整个设计过程必须由学生自己独立完成,课程设计按二人一组,分组进行全过程的设计。
设计内容
1、Windows环境下构建Android系统的开发环境
2、基于Android模拟手机,设计手机应用程序
3、将程序下载的Android手机上应用
设 计 指 导 教 师(签字): 教学基层组织负责人(签字):
年 月 日
目录
一、课程设计的目的及要求...................................3 1.1 课程设计的目的.......................................3 1.2 课程设计要求………………………………………………………………………3
二、Android应用程序开发背景....................................................................3 2.1开发背景...............................................3 2.2开发环境...............................................4
三、Android应用程序开发环境搭建............................5 3.1所需软件的下载…………………………………………………………………… 5 3.2相应软件的安装.........................................5
四、“小查询工具”的设计与实现„„„„„„„„„„„„„„„10 1.总体设计„„„„„„„„„„„„„„„„„„„„„„„ 10 1)界面设计„„„„„„„„„„„„„„„„„„„„„10 2)功能设计„„„„„„„„„„„„„„„„„„„„„12 2.详细设计„„„„„„„„„„„„„„„„„„„„„„„ 12 1)模块设计„„„„„„„„„„„„„„„„„„„„„12 2)编码实现„„„„„„„„„„„„„„„„„„„„„12 3.手机上运行截图„„„„„„„„„„„„„„„„„„„„ 14
五、总结与体会„„„„„„„„„„„„„„„„„„„„„„„16
基于Android系统的小查询工具设计
一、课程设计的目的及要求 1.1 课程设计的目的
1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;搭建一个完整的安卓开发环境。
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
3)培养学生在项目开发中团队合作精神,创新意识及能力。
1.2 课程设计要求
1)通过Eclipse搭建一个完整的安卓开发环境。
2)在安卓开发环境上编写一个简单的安卓软件,并且能够在手机上运行。
二、Android应用程序开发背景 2.1开发背景
1.智能手机的市场
(1)功能多样化的智能手机挑战全球PC出货量
移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长,该机构预计2013年全球智能手机出货量将达到4.13亿,超过台式电脑与笔记本电脑出货量的总和。
(2)智能手机的用户使用数量正在高速增长。据市场调研机构Gartner信息,2011年全球智能手机的总出货量将会达到4.68亿部,相比2010年实现了57.7%的增长,而谷歌Android操作系统将会在今年之内成为全球最大的智能手机操作系统。另外,全球市场调研机构IDC预计未来5年中国手机市场上,智能手机替代传统功能手机的趋势将日益明显,未来5年中国智能手机市场复合增长率将达到34.1%,人们对IT设备智能化的向往是这一增长率能够实现的主要因素,并且与其他国家相比,中国智
在path变量(已存在不用新建)添加变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin(注意变量值之间用“;”隔开)
检验环境变量是否配置成功:“开始”-->“运行”-->输入“javac”-->“Enter”,如果能正常打印用法说明配置成功!
选择目标工具所在的文件夹跳出安装工具的目录
勾选目录点击Next,即可开始安装;安装的详细目录:
安装完成后,可以在Preference处查找到:
4.安装SDK(SDK解压即可使用)
安装好以后,通过SDK下载开发所需的源文件包:
这个操作只有在联网的时候才能进行下载。
四、“小查询工具”的设计与实现
1.总体设计
1)界面设计
主界面:
02)功能设计
对于这次课程设计编写的小查询工具,我们需要它能够帮助我们完成的功能为:手机归属地查询、身份证信息查询、区号邮编城市查询。对于小查询工具的每个查询功能,当用户点击相应的功能时,它能够帮助用户查询用户所需要的信息。
2.详细设计
1)模块设计
I、主界面模块(选题模块)
该模块是查询软件的主界面,在该模块界面有三个功能:手机归属地查询、身份证信息查询、区号邮编城市查询。用户根据自己所要查询的信息,选择相应的功能就可以查询用户想知道的信息。II、手机归属地查询模块
在该模块中,当用户在输入框中输入一个正确的号码时,点击“开始查询”按钮,就可以查询到该手机号码的归属地。III、身份证信息查询模块
在该模块中,当用户在输入框中输入一个正确的身份证号码时,再点击“开始查询”按钮,就可以查询到该身份证号码所代表的人的生日、性别以及出生地址。IV、区号邮编城市查询模块
在该模块中,当用户在输入框中输入一个正确的区号或者邮编或者城市名称时,点击“开始查询”按钮,就可以查询到其对应的省份、城市、区号、邮编以及归属地。
2)编码实现:
各包内的JAVA源文件:
界面切换等活动的基本代码:
3.手机上运行截图
手机截图:
516-
第四篇: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是加入
可指定当前的Activity为主Activity最先被执行。其他Activity可借助激活组件Intent
进行启动。通过Intent还可实现来了两个Activity之间传递数据
Activity具有生命周期,他有三种状态:运行状态、暂停信息和停止状态。运行态是在屏幕台前位于当前任务堆栈的顶部,即获取焦点的Activity。暂停信息是指失去了焦点但对于用户仍可见,此状态下当程序处于低内存是仍有可能被消除。停止状态是指完全被另一个Activity覆盖,但他仍然保留所有的信息与状态。
2.Android图形设计UI
Android UI控件一般写在布局文件中,此次实习所学控件主要有:TextView,EditText
Button、AlertDialog、RadioButton、CheckBox、Spinner和TableRow等。将这些控件及相应的属性写在layout下的布局文件中就可在与其绑定的Activity中显示相应的对话框,文本框,按钮等。
Android的界面布局是为了使控件能够更友好的呈现在用户的眼中。主要有:绝对布局Absolutelayout、线形布局LinearLayout、框架布局FramLayout、相对布局RelativeLayout和
表格布局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业发展速度一直都是相当惊人的,不想被社会淘汰,我们就得必须不断地学习,现在的社会不再是一劳永逸,其他行业也是如此,我们必须不断地拿知识来武装自己,不然被淘汰那是肯定的!现在就业难原因其实在于竞争的家具,为了在竞争中得到成功,我们必须时时刻刻学习,还学到了很多做人做事的道理,不仅懂得了要想在计算机这一行立足必须具备扎实的技术理论知识,还必须学会与人沟通,合作的能力,同时更懂得了尝试的重要性,很多事情不是听说是困难的它就是困难的,只有亲自去做亲自去体会才知道,其实它并没有那么困难,这就是实践的重要性!无论做什么事情都必须要坚持,只有坚持下去,才会成功!事在人为,就怕不做!我们不能怕失败,关键是要从失败中总结经验,带着勇气,带着自信,坚持不懈,踏踏实实。这一次的实习是短暂的,但我收获良多。回顾以前所走过的路,太多的无奈和迷茫,这次实习就像是我人生道路上的航标,为我指明了前景的方向,是我对自己的前途充满了信心,我不仅知道了在人生的岔道口更适合朝哪个方向前进!更知道了在今后的道路上怎么去武装自己!
实习结果:
第五篇:专业调研报告(样本)
***专业调研报告
调研题目:
调研单位:
团队成员:
负 责 人:
年月日
企业调研报告提纲
一、调研目的以改革为主要目的,结合示范学校建设的主要内容,即人才培养模式与课程体系改革、师资队伍建设、校企合作运行机制体制建设等,围绕6个创新(创新教学环境、创新专业设置、创新教材应用、创新教学方式、创新队伍建设、创新管理制度)和8项重点任务(4个模式:改革培养模式、改革教学模式、改革办学模式、改革评价模式;3项支撑:创新教育内容、加强队伍建设、完善内部管理 ;一个基础:数字化建设)展开。
二.调研主要状况
1.调研对象:(调研相关行业(共?个)、企业团体(共?家)、同类院校(共?所)、调研学生家长(共?人)
2.调研内容:
企业人力资源现状和人才需求状况、学校人才培养的现状、校企合作现状及主要合作内容等。
3.调研方式:走访调研对象、组织座谈会、问卷观察等
三.调研资料整理
1.企业人力资源现状和企业用人需求
(1)企业员工主要来源
(2)企业人才需求标准
(3)企业员工培训状况
2.学校专业队人才培养的认识
(1)毕业生的职业品德与操作能力分析
(2)学校人才培养与企业需求的对接
(3)企业需要或可以运行的校企合作方式
3.校企合作现状分析
(1)企业对校企合作的需求
(2)企业对校企合作的意向性项目
(3)校企合作形式分析
(4)企业接收学生顶岗位实习的形式
(5)企业对参与学校人才培养的顾虑
(6)企业对学生实习安全的认识和意向
(7)影响校企合作的主要动因
(8)企业对校企合作在政府方面支持需求
四.策略与改革思路
(略写,在分析报告中详写)