3g嵌入式短学期实习报告.doc

上传人:知****量 文档编号:18881180 上传时间:2022-06-02 格式:DOC 页数:28 大小:1.05MB
返回 下载 相关 举报
3g嵌入式短学期实习报告.doc_第1页
第1页 / 共28页
3g嵌入式短学期实习报告.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《3g嵌入式短学期实习报告.doc》由会员分享,可在线阅读,更多相关《3g嵌入式短学期实习报告.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、3G短学期实习报告教学单位 专 业 班 级 学生姓名 学 号 指导教师 目录1 实训目的12 实训时间和地点13 实训单位简介14 实训内容24.1实训期间完成的学习任务24.2实习期间完成的实践项目75实训收获与体会116实训中存在的不足137 致谢13一、实训目的学习的目的的在于创新,提高自己的实际操作能力,熟练掌握技能,立志成为一位编程高手。学习java,android课程,并且能够熟练的使用编程工具Eclipse,android SDK等。能够独立完成项目,解决问题,并在实习中不断提高,丰富自己的知识,为以后的学习和工作打下坚实的基础。二、实训时间和地点1实训时间: 2实训地点: 三、

2、实训单位简介文达教育集团成立于1993年,是以IT职业教育为主,集高新技术为一体的集团公司,涉及网络工程、软件开发、网络游戏、电子商务、职业教育、人才服务等多个领域。拥有文达信息技术学院、文达思科网络技术学院、文达游戏动漫学院、文达软件学院及浙江、湖北、江苏、河南、辽宁、福建等全国近30家IT教育和研发机构。文达教育集团与微软公司、思科公司、PROMETRIC、ATA、ADOBE、AUTODESK、CROEL等多家IT国际知名企业合作,16年来,文达已为社会培养30多万名各类IT技术人才和管理人才,成为倍受关注的IT职业教育典范,为我国信息化事业的发展作出了突出的贡献。文达教育集团荣获了“中国

3、IT教育十大影响力品牌”、“中国IT教育就业服务杰出贡献奖”、“中国IT教育最佳示范基地”等荣誉称号。2001年5月,世界著名科学家、诺贝尔物理学奖获得者杨振宁教授为安徽文达信息技术职业学院题写校名;2007年11月,杨振宁夫妇又莅临文达电脑集团,对文达电脑教育给予了高度评价,表达了对文达电脑教育的不了情缘。杭州蜚声腾茂教育科技有限公司直属文达教育集团,集产、学、研为一体,致力于为大学生提供完善、高品质的教育服务,公司主要致力于3G嵌入式开发、软件研发、电子商务开发,以企业真实项目实训和企业合作为大学毕业生定制成功就业解决方案。四、实训内容1、当前Android发展趋势简介Android(中文

4、俗称安卓)是一个以Linux为基础的开源操作系统,主要用于移动设备,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。Android系统最初由安迪鲁宾(Andy Rubin)开发制作,最初开发这个系统的目的是利用其创建一个能够与PC联网的“智能相机”生态圈。但是后来,智能手机市场开始爆炸性增长,Android被改造为一款面向手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apa

5、che免费开源许可证的授权方式,发布了Android的源代码。让生产商推出搭载Android的智能手机,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。市场份额2009年第二季度,根据市场研究公司Canalys的数据显示,Android占据全球智能手机操作系统市场2.8%的份额,这个数字在2010年第四季度的全球份额中增长到了33%,Android操作系统也因此击败了诺基亚的Symbian系统成为了全球第一大智能手机操作系统。201

6、2年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表示,每日通过Goog

7、le服务器激活的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在2012 Google I/O大会上表示全球市场上有4亿部An

8、droid设备被启动,每天启动一百万台2013年5月,Android在中国的占有率有71.5%,超过其主要竞争对手苹果公司约50%。世界占有率亦有近70%。Android开发联盟Android开发联盟(MobiDever.Android开发联盟),由Sundy(张凌华)于2011年创立,关注中国Android开发的企业、人物及事件,是Android开发爱好者的聚集地之一。随着移动互联网高速迅猛的发展,风云变幻,时时刻刻都在演绎着各种各样的故事。Android开发则必将成为移动互联网中不可或缺的一部分。交流Android开发心得,Android开发教程共享,当然是Android开发联盟。andr

9、oid开发联盟已经更名为麦可网。打造以移动技术开发者为核心的实名生态圈,提供供高端职业培训、猎头、技术分享、项目外包、职业规划等综合性服务。谷歌的亲儿子谷歌亲儿子是指由谷歌自己设计的手机、平板等设备,因为谷歌不是硬件厂商所以并不能自己制造,于是让HTC、三星等公司代工,设计出的手机叫亲儿子。2、Android手机开发的一些基本经验安卓四大组件Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑service:后台服务于Activity,封装有一个完整的功能逻辑

10、实现,接受上层指令,完成相关的食物,定义好需要接受的Intent提供同步和异步的借口Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型。安卓界面布局1.LinearLayout ( 线性布局 ) :(里面只

11、可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= horizontal android:orientation= vertical 。2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件)附加几类 RelativeLayout 的属性供大家参考:第一类 : 属性值为 true 或 falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:l

12、ayout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignParentRight 贴紧父元素的右边缘android:layout_alignParentTop 贴紧父元素的上边缘android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做参照物第二类:属性值必须为 id 的引用名“ id/id-name ”android:layout_belo

13、w 在某元素的下方android:layout_above 在某元素的上方android:layout_toLeftOf 在某元素的左边android:layout_toRightOf 在某元素的右边android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐第三类:属性值为具体的像素值,如 30dip , 4

14、0pxandroid:layout_marginBottom 离某元素底边缘的距离android:layout_marginLeft 离某元素左边缘的距离android:layout_marginRight 离某元素右边缘的距离android:layout_marginTop 离某元素上边缘的距离3.TableLayout ( 表格布局 ) : (这个要和TableRow配合使用,很像html里面的table)这个表格布局不像HTML中的表格那样灵活,只能通过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。 如:表示两行两列的一个表格。android:gravi

15、ty=center 书面解释是权重比。其时就是让它居中显示。它还可以动态添加里面的每行每列。如下代码所示:/*根据id查找表格对象*/TableLayout tableLayout = (TableLayout) findViewById(R.id.table01);/*创建列对象*/TableRow tableRow = new TableRow(this);/*文本框对象*/TextView temp = new TextView(this);temp.setText(text的值);/*将此文本添加到列中*/tableRow.addView(temp);android:stretchCo

16、lumns=1,2,3,4 它的意思就是自动拉伸1,2,3,4列。4.AbsoluteLayout ( 绝对布局 ) : (里面可以放多个控件,并且可以自己定义控件的x,y的位置)5.FrameLayout ( 帧布局 ) :(里面可以放多个控件,不过控件的位置都是相对位置)安卓软件开发流程1、手机应用程序开发需求分析2、手机应用版本确认3、签订协议4、手机应用策划及创意5、手机应用开发6、移动应用发布7、手机应用维护8、应用升级9、应用案例Android Intent1 Intent用法1.1启动一个特定的ActivityIntent intent=new Intent(CurrentAct

17、ivity.this,OtherActivity.class);startActivity(intent);1.2启动一个未指明的ActivityIntent inter=new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:115-1345”);startActivity(intent);1.3处理一个Activity的返回值Public void onCreate(Bundle saveInstanceState)super.onCreate(savedInstanceState);listener1=new OnClickListener()publi

18、c void onClick(View v)Intent intent1=new Intent(ActivityMain.this,Activity1.class);Intent1.putExtra(“activityMain”,”数据来自activityMain”);startActivityForResult(intent1,REQUEST_CODE);Listener2=new OnClickListener()public void onClick(View v)setTitle(“这是在ActivityMain”);Intent intent2=new Intent(Activity

19、Main.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”);OverrideProtected void onActivity

20、Result(int requestCode,int resultCode,Intent data)If(requestCode=REQUEST_CODE)If(resultCode=RESULT_CANCELED)setTitle(“取消”);else if(resultCode=RESULT_OK)String temp=null;Bundle extras=data.getExtras();If(extras!=null)Temp=extras.getString(“store”);setTitle(temp);2 Intent应用举例Activity01.javapublic clas

21、s Activity01 extends Activitypublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);/* 设置显示main.xml布局 */setContentView(R.layout.main);/* findViewById(R.id.button1)取得布局main.xml中的button1 */Button button = (Button) findViewById(R.id.button1);/* 监听button的事件信息 */button.setOnCli

22、ckListener(new Button.OnClickListener() public void onClick(View v)/* 新建一个Intent对象 */Intent intent = new Intent();/* 指定intent要启动的类 */intent.setClass(Activity01.this, Activity02.class);/* 启动一个新的Activity */startActivity(intent);/* 关闭当前的Activity */Activity01.this.finish(););Activity02.javapublic class

23、Activity02 extends Activitypublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);/* 设置显示main2.xml布局 */setContentView(R.layout.main2);/* findViewById(R.id.button2)取得布局main.xml中的button2 */Button button = (Button) findViewById(R.id.button2);/* 监听button的事件信息 */button.setOnCli

24、ckListener(new Button.OnClickListener() public void onClick(View v)/* 新建一个Intent对象 */Intent intent = new Intent();/* 指定intent要启动的类 */intent.setClass(Activity02.this, Activity01.class);/* 启动一个新的Activity */startActivity(intent);/* 关闭当前的Activity */Activity02.this.finish(););3 Android系统自带的Action介绍3.1ACT

25、ION_MAINAndroid.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_ACTION content:/contacts/1显示标示符为1的联系人的详细信息EDIT_ACTION content

26、:/contacts/1编辑标示符为1的联系人的详细信息VIEW_ACTION content:/contacts/显示所有联系人列表PICK_ACTION content:/contacts/显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父Activity5 Intent中其他属性介绍类别category:它为执行动作的附加信息数据类型type:显式指定Intent的目标组件的类名称。组件component:指定Intent的目标组件的类名称附加信息extras:是其他所有附加信息的集合6 Android解析Intent实现6.1直接Intent:指定了co

27、mponent属性的Intent或者setClass6.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

28、版本诞生于2000年5月. 至今已经有4个年头了. 而在今年的5月SQLite也迎来了一个新的里程: SQLite 3. 万网主机适用围:标准企业A型以上UNIX主机,以上主机都已经安装SQLite2.0数据库。 下面是访问SQLite官方网站: http:/www.sqlite.org/ 时第一眼看到关于SQLite的特性. 1. ACID事务 2. 零配置 无需安装和管理配置 3. 储存在单一磁盘文件中的一个完整的数据库 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至2TB 6. 足够小, 大致3万行C代码, 250K 7. 比一些流行的数据库在大部分普通数据

29、库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. Source完全的Open, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python 2、SQLite类型 SQLite的数据类型 首先你会接触到一个让你惊讶的名词: Typelessness(无类型). 对! SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数

30、据类型是什么(只有在一种情况下不是, 稍后解释). 对于SQLite来说对字段不指定类型是完全有效的. 如: Create Table ex1(a, b, c); 诚然SQLite允许忽略数据类型, 但是仍然建议在你的Create Table语句中指定数据类型. 因为数据类型对于你和其他的程序员交流, 或者你准备换掉你的数据库引擎. SQLite支持常见的数据类型, 如: CREATE TABLE ex2( a VARCHAR(10), b NVARCHAR(15), c TEXT, d INTEGER, e FLOAT, f BOOLEAN, g CLOB, h BLOB, i TIMEST

31、AMP, j NUMERIC(10,5) k VARYING CHARACTER (24), l NATIONAL VARYING CHARACTER(16) ); 前面提到在某种情况下, SQLite的字段并不是无类型的. 即在字段类型为”Integer Primary Key”时. 3、如何连接SQLite? 用PHP操作sqlite数据库 a、 如何连接sqlite数据库? if ($db = sqlite_open(mysqlitedb, 0666, $sqliteerror) select * from sqlite_master; echo 数据库连接成功!n; else die(

32、$sqliteerror); b、 如何列出数据库中所有的表? if ($db = sqlite_open(mysqlitedb, 0666, $sqliteerror) $result = sqlite_array_query($db, select * from sqlite_master;); foreach ($result as $entry) echo talbe name=.$entryname.n; echo sql=.$entrysql.n; echo ; sqlite_close($db); else die($sqliteerror); c、 对sqlite数据库的查询,

33、以及结果集的显示 if ($db = sqlite_open(mysqlitedb, 0666, $sqliteerror) $result = sqlite_array_query($db, select name, email from user , SQLITE_ASSOC); echo user表查询结果:n; echo nn; foreach ($result as $entry) echo n; echo nameemail.$entryname. $entryemail.; sqlite_close($db); else die($sqliteerror); d、 数据库对象记录

34、的增加、删除、修改 sqlite_query($db, INSERT INTO user VALUES(user.$i. ,user.$i.); sqlite_query($db, delete from user where user=user99); sqlite_query($db, UPDATE user SET email=lilz where name=user1); 4、SQLite的管理 管理工具也有不少,建议您使用sqlitemanager,用法酷像phpmyadmin. 可以到 3实训期间完成的学习任务Android基础01、Android程序框架 02、AndroidUI

35、整体介绍 Android.View和android.widget包 03、TextView 04、EditText05、Button06、RadioButton、RadioGroup07、CheckBox08、ImageView09、ProgressBar10、SeekBar11、Toast12、LinearLayout13、TableRow14、FrameLayout15、ScrollView16、RelativeLayout17、TableLayout项目实例一: 基本用户界面的游戏主菜单实例项目实例二: 基本用户界面的游戏设置菜单实例Android之UI界面开发01、Android应用程

36、序资源02、StateListDrawable03、AnimationDrawable04、View类界面05、View 事件响应06、Canvas类07、Paint类08、Bitmap类09、BitmapFactory类10、触屏事件及持续按键的响应11、地图编辑器的使用12、游戏地图的实现13、SurfaceView类14、SurfaceHolder项目实例:图形界面的实践项目Android多媒体与传感器的开发01、音频播放整体简介02、MediaPlayer03、SoundPool04、视频播放与Camera拍照05、VideoView06、Camera图像采集07、传感器的应用开发介绍

37、08、传感器应用的开发流程09、加速度传感器开发10、SensorSimulator11、Android常用传感器Orientation MagneticFieldTemperature、Light、 Pressure项目实例一: 游戏的背景及音效处理项目实例二:传感器应用Andriod数据库与文件存储01、File存储简介02、文件的读写03、读写SD卡上文件04、游戏中数据存储及应用05、SharedPreferences与Editor06、SQLite 数据库07、SQLiteDatabase08、SQLiteOpenHelper09、SQLite3工具10、ContentProvide

38、r简介11、基于Socket的网络通信12、ServerSocket13、Socket14、Socket通信实例15、基于Http协议网络通信16、URL17、HttpURLConnection4实习期间完成的实践项目 1.打电话发短信 Button btcall = (Button) this.findViewById(R.id.btcall);btcall.setOnClickListener(new OnClickListener() public void onClick(View v) String num = ed1.getText().toString();Intent inte

39、nt = new Intent(Intent.ACTION_CALL,Uri.parse(tel:+num);startActivity(intent););2.画廊 class ImageAdapter extends BaseAdapterprivate Context context;private int im;public ImageAdapter(Context c,int im)this.context = c;this.im = im;public int getCount() / TODO Auto-generated method stubreturn im.length;

40、public Object getItem(int position) / TODO Auto-generated method stubreturn imposition;public long getItemId(int position) / TODO Auto-generated method stubreturn position;public View getView(int position, View convertView, ViewGroup parent) ImageView iv = new ImageView(context);iv.setImageResource(

41、imposition);iv.setLayoutParams(new Gallery.LayoutParams(200,200);iv.setScaleType(ImageView.ScaleType.FIT_XY);return iv;3.谁是幸运儿public class LuckyActivity extends Activity String names = 许世伟, 杜星星, 韩坚, 黄哲, 何美笑 ;int imgs = R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d,R.drawable.e ;public void

42、onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);final ImageView imgr = (ImageView) this.findViewById(R.id.imgr);final TextView tvr = (TextView) this.findViewById(R.id.txr);Button btr = (Button) this.findViewById(R.id.btl);btr.setOnClickListener(new OnClickListener() public void onClick(View v) Random r = new Random();int lucky = r.nextInt(names.length);tvr.setText(nameslucky);imgr.setImageResource(imgslucky););4.计算器public class CalculatorActivity extends Activity String str1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁