3g嵌入式短学期实习报告.docx
- 文档编号:1244878
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:33
- 大小:969.23KB
3g嵌入式短学期实习报告.docx
《3g嵌入式短学期实习报告.docx》由会员分享,可在线阅读,更多相关《3g嵌入式短学期实习报告.docx(33页珍藏版)》请在冰点文库上搜索。
3g嵌入式短学期实习报告
3G短学期实习报告
教学单位
专业
班级
学生姓名
学号
指导教师
目录
1实训目的·············································································1
2实训时间和地点·····································································1
3实训单位简介········································································1
4实训内容·············································································2
4.1实训期间完成的学习任务························································2
4.2实习期间完成的实践项目························································7
5实训收获与体会·····································································11
6实训中存在的不足··································································13
7致谢·················································································13
一、实训目的
学习的目的的在于创新,提高自己的实际操作能力,熟练掌握技能,立志成为一位编程高手。
学习java,android课程,并且能够熟练的使用编程工具Eclipse,androidSDK等。
能够独立完成项目,解决问题,并在实习中不断提高,丰富自己的知识,为以后的学习和工作打下坚实的基础。
二、实训时间和地点
1.实训时间:
2.实训地点:
三、实训单位简介
文达教育集团成立于1993年,是以IT职业教育为主,集高新技术为一体的集团公司,涉及网络工程、软件开发、网络游戏、电子商务、职业教育、人才服务等多个领域。
拥有文达信息技术学院、文达思科网络技术学院、文达游戏动漫学院、文达软件学院及浙江、湖北、江苏、河南、辽宁、福建等全国近30家 IT教育和研发机构。
文达教育集团与微软公司、思科公司、PROMETRIC、ATA、ADOBE、AUTODESK、CROEL等多家IT国际知名企业合作,16年来,文达已为社会培养30多万名各类IT技术人才和管理人才,成为倍受关注的IT职业教育典范,为我国信息化事业的发展作出了突出的贡献。
文达教育集团荣获了“中国IT教育十大影响力品牌”、“中国IT教育就业服务杰出贡献奖”、“中国IT教育最佳示范基地”等荣誉称号。
2001年5月,世界著名科学家、诺贝尔物理学奖获得者杨振宁教授为安徽文达信息技术职业学院题写校名;2007年11月,杨振宁夫妇又莅临文达电脑集团,对文达电脑教育给予了高度评价,表达了对文达电脑教育的不了情缘。
杭州蜚声腾茂教育科技有限公司直属文达教育集团,集产、学、研为一体,致力于为大学生提供完善、高品质的教育服务,公司主要致力于3G嵌入式开发、软件研发、电子商务开发,以企业真实项目实训和企业合作为大学毕业生定制成功就业解决方案。
四、实训内容
1、当前Android发展趋势
简介
Android(中文俗称安卓)是一个以Linux为基础的开源操作系统,主要用于移动设备,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发中。
Android系统最初由安迪·鲁宾(AndyRubin)开发制作,最初开发这个系统的目的是利用其创建一个能够与PC联网的“智能相机”生态圈。
但是后来,智能手机市场开始爆炸性增长,Android被改造为一款面向手机的操作系统。
于2005年8月被美国科技企业Google收购。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。
让生产商推出搭载Android的智能手机,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。
2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。
市场份额
2009年第二季度,根据市场研究公司Canalys的数据显示,Android占据全球智能手机操作系统市场2.8%的份额,这个数字在2010年第四季度的全球份额中增长到了33%,Android操作系统也因此击败了诺基亚的Symbian系统成为了全球第一大智能手机操作系统。
2012年5月,根据市场调查公司的数据显示,Android操作系统在全球智能手机操作系统中的份额已经过半,达到了60%,全球有一半的智能手机使用Android操作系统。
2010年5月的数据显示,Android操作系统在2010年第一季度的销量超过了对手iOS平台,成为美国最大的智能手机操作系统。
根据本土市场研究公司ComScore的数据显示,2009年11月时,Android在美国的智能手机操作系统市场的占有率为5.2%,在2010年2月时,这个数字变成了9.0%,而在2010年第三季度末时,Android已经占据了美国市场的21.4%的份额。
截止至2011年6月,Google表示,每日通过Google服务器激活的Android设备达到了55万部,并且以每周4.4%的速度增长。
2011年8月1日,Canalys的数据显示,Android已占据美国48%的智能手机市场份额。
2011年10月13日,Google表示,全球市场上有1.9亿部Android设备通过Google认证,而在2011年11月16日,全球市场上已有2亿部Android设备通过Google认证。
但是,搭载Android操作系统的平板电脑却只有1.9%的份额,只有380万Android蜂巢平板被卖出,远远低于苹果公司的iPad的销量。
2012年6月,Google在2012GoogleI/O大会上表示全球市场上有4亿部Android设备被启动,每天启动一百万台
2013年5月,Android在中国的占有率有71.5%,超过其主要竞争对手苹果公司约50%。
世界占有率亦有近70%。
Android开发联盟
Android开发联盟(MobiDever.Android开发联盟),由Sundy(张凌华)于2011年创立,关注中国Android开发的企业、人物及事件,是Android开发爱好者的聚集地之一。
随着移动互联网高速迅猛的发展,风云变幻,时时刻刻都在演绎着各种各样的故事。
Android开发则必将成为移动互联网中不可或缺的一部分。
交流Android开发心得,Android开发教程共享,当然是Android开发联盟。
android开发联盟已经更名为麦可网。
打造以移动技术开发者为核心的实名生态圈,提供供高端职业培训、猎头、技术分享、项目外包、职业规划等综合性服务。
谷歌的亲儿子
谷歌亲儿子是指由谷歌自己设计的手机、平板等设备,因为谷歌不是硬件厂商所以并不能自己制造,于是让HTC、三星等公司代工,设计出的手机叫亲儿子。
2、Android手机开发的一些基本经验
安卓四大组件
Activity:
Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑
service:
后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的食物,定义好需要接受的Intent提供同步和异步的借口
ContentProvider:
是Android提供的第三方应用数据的访问方案,可以派生ContentProvider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径
BroadCastReceiver:
接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型。
安卓界面布局
1.LinearLayout(线性布局):
(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)
线性布局分为水平线性和垂直线性二者的属性分别为:
android:
orientation="horizontal"android:
orientation="vertical"。
2.RelativeLayout(相对布局):
(里面可以放多个控件,但是一行只能放一个控件)
附加几类RelativeLayout的属性供大家参考:
第一类:
属性值为true或false
android:
layout_centerHrizontal水平居中
android:
layout_centerVertical垂直居中
android:
layout_centerInparent相对于父元素完全居中
android:
layout_alignParentBottom贴紧父元素的下边缘
android:
layout_alignParentLeft贴紧父元素的左边缘
android:
layout_alignParentRight贴紧父元素的右边缘
android:
layout_alignParentTop贴紧父元素的上边缘
android:
layout_alignWithParentIfMissing若找不到兄弟元素以父元素做参照物
第二类:
属性值必须为id的引用名“@id/id-name”
android:
layout_below在某元素的下方
android:
layout_above在某元素的上方
android:
layout_toLeftOf在某元素的左边
android:
layout_toRightOf在某元素的右边
android:
layout_alignTop本元素的上边缘和某元素的的上边缘对齐
android:
layout_alignLeft本元素的左边缘和某元素的的左边缘对齐
android:
layout_alignBottom本元素的下边缘和某元素的的下边缘对齐
android:
layout_alignRight本元素的右边缘和某元素的的右边缘对齐
第三类:
属性值为具体的像素值,如30dip,40px
android:
layout_marginBottom离某元素底边缘的距离
android:
layout_marginLeft离某元素左边缘的距离
android:
layout_marginRight离某元素右边缘的距离
android:
layout_marginTop离某元素上边缘的距离
3.TableLayout(表格布局):
(这个要和TableRow配合使用,很像html里面的table)
这个表格布局不像HTML中的表格那样灵活,只能通过TableRow属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。
如:
表示两行两列的一个表格。
android:
gravity="center"书面解释是权重比。
其时就是让它居中显示。
它还可以动态添加里面的每行每列。
如下代码所示:
/*根据id查找表格对象*/
TableLayouttableLayout=(TableLayout)findViewById(R.id.table01);
/*创建列对象*/
TableRowtableRow=newTableRow(this);
/*文本框对象*/
TextViewtemp=newTextView(this);
temp.setText("text的值");
/*将此文本添加到列中*/
tableRow.addView(temp);
android:
stretchColumns="1,2,3,4"它的意思就是自动拉伸1,2,3,4列。
4.AbsoluteLayout(绝对布局):
(里面可以放多个控件,并且可以自己定义控件的x,y的位置)
5.FrameLayout(帧布局):
(里面可以放多个控件,不过控件的位置都是相对位置)
安卓软件开发流程
1、手机应用程序开发"需求分析"
2、手机应用版本确认
3、签订协议
4、手机应用策划及创意
5、手机应用开发
6、移动应用发布
7、手机应用维护
8、应用升级
9、应用案例
AndroidIntent
1Intent用法
1.1启动一个特定的Activity
Intentintent=newIntent(CurrentActivity.this,OtherActivity.class);
startActivity(intent);
1.2启动一个未指明的Activity
Intentinter=newIntent(Intent.ACTION_DIAL,Uri.parse(“tel:
115-1345”));
startActivity(intent);
1.3处理一个Activity的返回值
PublicvoidonCreate(BundlesaveInstanceState){
super.onCreate(savedInstanceState);
listener1=newOnClickListener(){
publicvoidonClick(Viewv){
Intentintent1=newIntent(ActivityMain.this,Activity1.class);
Intent1.putExtra(“activityMain”,”数据来自activityMain”);
startActivityForResult(intent1,REQUEST_CODE);
}
};
Listener2=newOnClickListener(){
publicvoidonClick(Viewv){
setTitle(“这是在ActivityMain”);
Intentintent2=newIntent(ActivityMain.this,Activity2.class);
startActivity(intent2);
}
};
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(listener1);
button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(listener2);
setTitle(“ActivityMain”);
}
@Override
ProtectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
If(requestCode==REQUEST_CODE){
If(resultCode==RESULT_CANCELED)
setTitle(“取消”);
elseif(resultCode==RESULT_OK){
Stringtemp=null;
Bundleextras=data.getExtras();
If(extras!
=null){
Temp=extras.getString(“store”);
}
setTitle(temp);
}
}
}
2Intent应用举例
Activity01.java
publicclassActivity01extendsActivity
{
publicvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
/*设置显示main.xml布局*/
setContentView(R.layout.main);
/*findViewById(R.id.button1)取得布局main.xml中的button1*/
Buttonbutton=(Button)findViewById(R.id.button1);
/*监听button的事件信息*/
button.setOnClickListener(newButton.OnClickListener(){
publicvoidonClick(Viewv)
{
/*新建一个Intent对象*/
Intentintent=newIntent();
/*指定intent要启动的类*/
intent.setClass(Activity01.this,Activity02.class);
/*启动一个新的Activity*/
startActivity(intent);
/*关闭当前的Activity*/
Activity01.this.finish();
}
});
}
}
Activity02.java
publicclassActivity02extendsActivity
{
publicvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
/*设置显示main2.xml布局*/
setContentView(R.layout.main2);
/*findViewById(R.id.button2)取得布局main.xml中的button2*/
Buttonbutton=(Button)findViewById(R.id.button2);
/*监听button的事件信息*/
button.setOnClickListener(newButton.OnClickListener(){
publicvoidonClick(Viewv)
{
/*新建一个Intent对象*/
Intentintent=newIntent();
/*指定intent要启动的类*/
intent.setClass(Activity02.this,Activity01.class);
/*启动一个新的Activity*/
startActivity(intent);
/*关闭当前的Activity*/
Activity02.this.finish();
}
});
}
}
3Android系统自带的Action介绍
3.1ACTION_MAIN
Android.intent.action.MAIN,在每个AndroidManifest.xml问洞中都能看到,标记当前的Activity作为一个程序的入口。
3.2ACTION_VIEW
将数据显示给用户
3.3ACTION_DIAL
用于描述给用户打电话的动作
3.4ACTION_PICK
从特定的一组数据中进行选择数据操作
3.5ACTION_DEIT
编辑特定的数据
3.6ACTION_DELETE
删除特定的数据
4与动作Action相关联的数据Data介绍
VIEW_ACTIONcontent:
//contacts/1显示标示符为1的联系人的详细信息
EDIT_ACTIONcontent:
//contacts/1编辑标示符为1的联系人的详细信息
VIEW_ACTIONcontent:
//contacts/显示所有联系人列表
PICK_ACTIONcontent:
//contacts/显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父Activity
5Intent中其他属性介绍
类别category:
它为执行动作的附加信息
数据类型type:
显式指定Intent的目标组件的类名称。
组件component:
指定Intent的目标组件的类名称
附加信息extras:
是其他所有附加信息的集合
6Android解析Intent实现
6.1直接Intent:
指定了component属性的Intent或者setClass
6.2间接Intent:
没有指定comonent属性的Intent。
6.3如果Intent指明了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不匹配
6.4如果Intent没有提供type,系统将从data中得到数据类型
6.5如果Intent中的数据不是具体内容而是URI形式的话,则将根据Intent中数据的scheme进行匹配
6.6如果Intent指定了一个或多个category,这些类别必须全部出现在组件的类别列表中
SQLite 数据库
1、SQLite简介
SQLite第一个Alpha版本诞生于2000年5月.至今已经有4个年头了.而在今年的5月SQLite也迎来了一个新的里程:
SQLite3.
万网主机适用围:
标准企业A型以上UNIX主机,以上主机都已经安装SQLite2.0数据库。
下面是访问SQLite官方网站:
http:
//www.sqlite.org/时第一眼看到关于SQLite的特性.
1.ACID事务
2.零配置–无需安装和管理配置
3.储存在单一磁盘文件中的一个完整的数据库
4.数据库文件可以在不同字节顺序的机器间自由的共享
5.支持数据库大小至2TB
6.足够小,大致3万行C代码,250K
7.比一些流行的数据库在大部分普通数据库操作要快
8.简单,轻松的API
9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定
10.良好注释的源代码,并且有着90%以上的测试覆盖率
11.独立:
没有额外依赖
12.Source完全的Open,你可以用于任何用途,包括出售它
13.支持多种开发语言,C,PHP,Perl,Java,ASP.NET,Python
2、SQLite类型
SQLite的数据类型
首先你会接触到一个让你惊讶的名词:
Typelessness(无类型).对!
SQLite是无类型的.这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中,无论这列声明的数据类型是什么(只有在一种情况下不是,稍后解释).对于SQLite来说对字段不指定类型是完全有效的.如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3g 嵌入式 学期 实习 报告