Android程序设计 实训报告_第1页
Android程序设计 实训报告_第2页
Android程序设计 实训报告_第3页
Android程序设计 实训报告_第4页
Android程序设计 实训报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android程序设计

实训报告

专业:计算机科学与技术

班级:U计算机121

学号:1211502125

姓名:王红阳____________

完成日期:2015年1月30FI

暨嫉工甯院

Android实训第一天

1、任务:1、安装JDK启动,并测试JDK是否安装配置成功

2、解压文件包,运行Hello小程序

3、看千锋Android应用开发视频教程(第一章基础入门)

2、Android视频学习笔记

Android系统介绍:

Android是基于Linux内核的操作系统,由谷歌公司开发

Android平台的五大优势:

1.开放性

2.挣脱运营商的束缚

3.丰富的硬件选择

4.不受任何限制的开发商

5.无缝结合的Google应用

Android学习路线图:

1.Java学习基础

2.面向对象基础

3.数据库基础

4.JDBC编程

5.Java动态网页编程

6.UI界面设计,Android数据库编程,Android网络编程

7.HTML5开发

8.图片处理

9.碰撞检测,物理引擎介绍

10.2D引擎介绍

Android系统框架介绍:

•SRC目录:完成对Java代码的编写

•assets目录:资源目录

•Res目录:存在图片,布局文件盒字符串

•bin目录:输出文件夹,如生成的APK文件

•gen目录:系统自动生成的源代码目录

Android生命周期介绍:

1.搭建开发环境:jdk,sdk,adt,Eclipse等几个工具

2.配置好Java环境,新建一个Hell。的安卓应用工程开发项目

3.运行该项目,使得自己的电脑能出现安卓的虚拟的界面,这样安卓的开发环境

就搭建好了

4.Activit:布局于窗口之上的悬浮交互界面

5.整体生命周期:OnCreate-lonDestory

6.可是生命周期:onstart--Nonstop

Intent(意图)

•意图是一种运行时绑定机制

•通过静态变量传递数据:可以解决意图传递不了的数据

安装JDK:

1、双击下载的JDK安装软件,进入安装界面

2、单击“下一步”按钮,进入自定义安装界面

3、按照默认配置,单击“下一步”按钮,即进入安装状态。

4、安装过程,弹出JRE的安装目录设置界面

5、进行环境变量的配置:a、单击“我的电脑”,选择“高级”选则卡

b、在用户变量里新建用户界面

c、输入变量名PATH,变量值为C:\ProgramFiles

(x86)\Java\jdkl.8.0_25\bin的用户变量

d、输入变量名CLASSPATH,变量值为C:\Program

Files(x86)\Java\jdkl.8.0_25\lib的用户名

6、查看JDK是否安装配置成功,在DOS环境下进行测试

解压文件包,运行Hello小程序

文件解压直接使用,运行Hell。程序显示

7irig

Hello

Helloworld*

Kutfwv*K*«t>OMd

UwyourphjnUctlkf^ovdlagravidamp«x

<7DCO1

小结1:今天最主要的任务就是配置eclipse的环境,一开始以为只要解压了文件就能用了。忽

略了最基木的环境配置,结果怎么都打不开。最后在老师和同学的帮助下将jdk安装好了,并

且环境也配置好了才能运行成功。在一切结束后自己也找了一个小程序试试手,感觉良好,今

天受益很多。

Android实训第二天

1、任务:1、千锋Android应用开发视频教程(第二章常用布局)

2、Android游戏开发教程一数独一01

Android视频学习笔记

Android常用布局属性的介绍

•线性布局LinerLayout:是最常用的布局,在XML文件中使用<LinerLayout>来定义

•线性布局可以分为水平方向课垂直方向的布局,也就是两个属性:verticalhorizontal

•属性gravity用于控制布局中视图的位置

Android框架布局的使用:

框架布局是最简单的布局方式、所有添加到这个布局中的视图都是以层叠的方式显示。第一个

添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层

的视图,因此框架布局类似堆栈布局。

Android相对布局的使用:

RelativeLayout:可以设置某一个视图相对于其他视图的位置,这些位置包括上下左右等

Android表格布局的介绍:

TableLayout:在表格布局中,一一个列的宽度由该列中最宽的那个单元格指定,而表格的宽度室

友父容器指定的

在TableLayout中可以设置列的三种属性:

1.Shrinkable:即该列的宽度可以进行收缩,以使表格能够适应其父容器的大小

2.Stretchable:该列队的宽度可以进行拉伸,以使填满表格中的空闲空间

3.Collapsed:该列会隐藏

数独笔记:

A、我知道了本次的课程设计目标-数独游戏。

B、Android的图形编程的基本概念:颜色对象(color)、画笔对象(paint)、画布对象(canvas)

C、自定义View的基本实现方法:1、定义一个类,继承View;

2、复写View的onDraw函数;

3、在onDraw当中使用Canvas和Paint对象绘制图形;

小结2:今天主要是先学习了安卓图形编程基本概念,有3种,分别是颜色,画笔,画布对象,

颜色表示方法有3种,color类表示还有就是用xml文件中定义。接着是自定义view的基本方

法。也有3种。分别是view类,复写函数和在ondraw绘制图形。最后是用一个实例来总结今

天所学的。注意的是不能直接画,需要定义一个方法才能画。

Android实训第三天

1、任务:1、千锋Android应用开发视频教程(第三章android使用pull解析xml)

2、Android游戏开发教程_数独一02

Android视频学习笔记

•Pull解析器的运行方式和Sax解析器很相似,它提供了类似的事件

•使用Parser.next。进行下一个元素并且处罚相应的事件,事件将作为代码被发送,因此可以

使用一个switch来对事件进行选择,然后进行相应的处理

Pull解析的特点:

简单的结构:一个接口、一个列外、一个工厂组成的Pull解析器

简单易用:pull解析器只有一个重要的方法Next()方法,他被用来检索下一个事件,而他只

有五个常用属性

•StartDocument

•Start_TAG

•TEXT

•END_TAG

•END_DOCUMENT

HTTP数据组织方式:

HTML方式

XML方式可扩展标记语言,跨平台,是一种简单的数据存储语言

包含节点、元素、属性和属性值

语法规则:

•开始和结束标签匹配

•嵌套标签不能互相嵌套

•区分大小写

解析XML的三种方式:

DOM"文档对象模型”方式,解析完的XML将生成一个树状结构的对象

DOM这样规定:

•整个文档是一个节点文档

•每一个XML标签是一个元素节点

•包含在XML元素中的文本是文本节点

•每一个XML的属性称为节点属性

•SAX以事件的形式通知陈新股,对XML进行解析

Sax优点:处理速度快,占用内存小

XMLPULL程序以“拉取”的方式对XML进行解析

SAXDOMPULL的比较:

SAX和PULL比DOM占用的更少的内存解析方式,更加适合Android手机开发

数独笔记

A、Paint的设置方法:setAntiAlias:设置画笔的锯齿效果、setColor:设置画笔

颜色、setARGB:设置画笔的a,r,g,b值、setAlpha:设置Alpha值、setTextSize:设置

字体尺寸、setStyle:设置画笔风格,空心或者实心、setStrokeWidth:设置空心的边框

宽度、getColor:得到画笔的颜色、getAlpha:得到画笔的Alpha值

B、使用Canvas绘制点、线和图形:1、绘制直线:drawLine(floatstartX,floatstartY,

floatstopX,floatstopY,Paintpaint)

2、绘制矩形:drawRect(floatleft,floattop,float

right,floatbottom,Paintpaint)

3、绘制圆形:drawCircle(floatex,floatcy,float

radius,Paintpaint)

C、使用Canvas绘制文字:drawText(Stringtext,floatx,floaty,Paintpaint)

D、使用Canvas绘制图片的方法drawBitmap(Bitmapbitmap,floatleft,floattop,

Paintpaint)

小结3:今天主要学习了painl的设置方法,包括颜色,透明度,字体大小和粗细,这些都是很

实用的。另外,还学习了绘制图形和文字的方法。最后以•个实例来详细的说明了以上多点细

节处理。

Android实训第四天

1、任务:1、千锋Android应用开发视频教程(第四章网络基础)

2、Android游戏开发教程—数独_03

2、Android视频学习笔记

androtd入门介绍:

百度地图介绍:

病用UI布斶的介绍

常用的uiag控样

HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应

用层的协议,是通用的、无状态的面相对象的协议

HTTP协议实例剖析:

•在浏览器客户端中得到用户输入的内容

•浏览器得到这个网址后,内部会将这个域名发送到DNS上,进行域名解析,得

到它的IP之后就会链接到指定的服务器上,假如服务器的地址是

2:80,从浏览器到服务器端口它使用到最底层的TCP/IP协议

•实现TCP/IP协议用Socket来完成,使用了S从客厅的套接字

•服务器端的80端口监听客户端的链接,这样客户端到服务器就连接上了

HTTP请求体的内容介绍

请求体

GET/POST[URLfa径]HTTP〃HTTP酶的是

Host[URLitfL]是

User:AgeN[请求类型唯一标注】否

Accept【设・版务•返回的数据类型)否

Accept-Languageff服务器返回的沿司否

A8ept-Encoding[设置总务21返回的压漏编码]否

Accept-Charset【设置服务器返回的文字函码]否

\An\An是

P8t内容音

HTTP返回请求数据的三种方式:

•以HTML代码内容返回

•以XML字符串的形式返回,在以后的Android开发中这种形式返回的数据比较

•以Jason对象的形式返回,在网络流量上考虑Jason要比XML方式要好一些,

便与解析

GET和POST之间的主要区别:

1.GET是从服务器上获取数据,POST是向服务器传送数据

2.在客户端,GET方式通过URL提交数据,数据在URL中可以看到,POST方

式,数据放置在HTMLHEADER内提交

3.对于GET方式,服务器用Request.QueryString获取变量的值,对于POST方式,

服务器端用Request.From获取提交的数据

4.GET方式提交的数据最多只能有1024字节,而POST没有此限制

5.安全性问题:使用GET的时候,参数会显示在地址栏上,而POST不会,所以

安全性有差别,POST的安全性较高

URL的定义和组成

>UniformResourceLocator统一资源定位符

,URL的组成就分.http://www.mbahbcom/china/mdexhtm

,http

,WWW:代表i个万维网勉务器

>mbalibcom/:版务器的域名.或啜务器名称

China/:子目录.类似于我们的耳件夹

,Indexhim是文件夹中的-於文件

一/china/indexhtnVW称为URL路径

JAVA中HTTP的编程接口:

•标准的JAVA接口

•标准的Apache接口

数独笔记

•绘制九宫格

•在九宫格当中放置数字

小结4:今天学习了绘制九宫格和在其中放置数字,主要是要绘制出横向的8条线并且对纵向

的某些线条进行加深。在写代码的时候,先写出view类。然后对颜色进行设置,接着就是设置

横向和纵向的高度。在写代码的时候主要注意文字位置的摆放。

Android实训第五天

1、任务:1、千锋Android应用开发视频教程(第五章android解析json数据)

2、Android游戏开发教程一数独」)4

2、Android视频学习笔记

Jason的数据格式:JSONQavaScriptObjectNotation)是一种轻量级的数据交换格

式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交

换语言。易于人阅读和编写,同时也易于机器解析和生成。

JSON建构于两种结构:

1.“名称/值”对的集合(Acollectionofname/valuepairs)。不同的语言中,它被

理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希

表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。

2.值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组

(array)

Gson解析:

Gson是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率.

从结构上看,所有的数据(data)最终都可以分解成三种类型:

•第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),

比如"北京"这个单独的词。

•第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列

在一起,又叫做数组(array)或列表(List),比如"北京,上海"。

•第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有

一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),

比如"首都:北京"。

Json的规格非常简单,只用一个页面几百个字就能说清楚,jfu.B.DouglasCrockford

声称这个规格永远不必升级,因为该规定的都规定了。

1.并列的数据之间用逗号(",")分隔。

2.映射用冒号(":")表示。

3.并列数据的集合(数组)用方括号("[]")表示。

4.映射的集合(对象)用大括号("{}")表示。

Android中可以使用Gson解析JSON数据

1.通过获取JsonReader对象解析JSON数据

2.通过把JSON数据映射成一个对象,使用Gson对象的fromJson。方法获取一个对

象数组进行操作

阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部

分,它具备如下特征:

速度最快,测试表明,fastjson具有极快的性能,超越任其他的JavaJsonparser。

包括自称最快的JackJson;

功能强大,完全支持JavaBean、集合、Map、日期、Enum,支持范型,支持

自省;无依赖,能够直接运行在JavaSE5.0以上版本;支持Android;开源(Apache

2.0)

Fastjson解析JSON步骤

•服务器端将数据转换成json字符串

•客户端将json字符串转换为相应的javaBean

数独笔记

FontMetrics的使用方法:FontMetricsfm=paint.getFontMetrics();

文字在矩形框当中居中的方法

初始化九宫格数据

小结5:今天主要学习了上节课遗留下来的数字放置的问题。主要内容是.FontMetrics的使用方

法,文字在矩形框当中居中的方法,初始化九宫格数据。FontMetrics最主要的4个属性的作用

可以让字符串在矩形框中居中。在做实例的时候,计算x和y的偏移量,将初始化的数据填到

九宫格中。今天新加了一个game类,负责逻辑上的运算。而且要考虑到代码具有可移植性。

Android实训第六天

1、任务:1、千锋Android应用开发视频教程(第六章控件)

2、Android游戏开发教程.数独_05

2、Android视频学习笔记

•单点触摸事件

publicbooleanonTouchEvent(MotionEventevent){

〃获取事件的种类

event.getAction();

〃获取点击的坐标

event.getX();

event.getY();

•碰撞检测

1.地图格子划分检测

2.矩形检测

3.圆形检测

4.像素检测

5.四叉树检测

6.3D中的碰撞检测

•可用数据计算

小结6:今天主要学习了单点触摸事件,碰撞检测,可用数据计算。其中单点触摸事件的方法

是通过view类复写过来的。如何判断碰撞检测则是通过一个通用方法:判断x和y轴坐标是否

在同•个矩形框内,x轴坐标是不是大于左顶点的坐标加上单元格的宽度,然后判断y轴坐标

是不是大于左顶点的坐标加单元格高度。并且通过实例来加深印象。

Android实训第七天

1、任务:1、千锋Android应用开发视频教程(第六章控件2)

2、Android游戏开发教程一数独_06

2、Android视频学习笔记

•对话框的使用方法

干得3G学院中国移动互联网研发培训专家

对话框的创建方法

AlertDialog.Builderbuilder=newAlertDialog.Builder(DialogAlertDialogl.this);

builder.setMessage(*Areyousureyouwanttoexit?*)

.$etPo$itiveButtonCYe$\newDialoginterface.OnClicklistenerO{

publicvoidonClick(DialogInterfacedialog,intid)(

dialog.di$mi$$0;

)

})

.setNegativeButtonCNo',newDialoglnterface.OnClickListenerO(

publicvoidonClick(DialogInterfacedialog,intid){

dialog.cancelO;

)

});

AlertDialogalert=builder.createO;

alert.showO;

•自定义对话框的方法

V\中国将动互联网研裳培训专

自定义对话框的实现方法

AlertDialog.Builderbuilder

AlertDialogalertDialog;

Layoutlnflaterinflater=LayoutInflater./hjATXmContext);

Viewlayout=inflater.inflate(R.layoutxz/sto/7Ld^/o^

null);

TextViewtext=(TextView)layoutfindViewByld(R.idJejrt);

text.setTextCHello,thisisacustomdialog!-);

ImageViewimage=(ImageView)layout.findViewById(R.id.//n<?^;

image.setImageResource(R.drawable.Zcc/d;

builder=newAlertDialog.Builder(mContext);

builder.setView(layout);

alertDialog=builder.createO;

alertDialog.showO|

•在对话框当中显示候选数字

小结7:今天主要学习了对话框的使用方法,自定义对话框的方法,在对话框中显示候选数字。

在如何创建对话框的时候首先要先生成一个builder对象。这种方法适用于简单。在创建自定义

对话框的时候,其中调用inflater方法就可以得到一个view对象,接着把生成的view对象放到

builder里面去就可以显示出自定义对话框。通过实例,对自定义对话框的印象和认识更加加深

了。

Android实训第八天

1、任务:1、千锋Android应用开发视频教程(第七章jdbc框架介绍、第八章JavaWeb)

2、Android游戏开发教程一数独_07

2、Android视频学习笔记

Jndi技术简介

•JNDI(JavaNamingandDirectoryInterface),Java命名和目录接口,它对应于J2SE

中的javax.naming包,

•这套API的主要作用在于:它可以把Java对象放在一个容器中(JNDI容器),

并为容器中的java对象取一个名称,以后程序想获得Java对象,只需通过名称

检索即可。

•其核心API为Context,它代表JNDI容器,其lookup方法为检索容器中对应名

称的对象。

•编写自己的jdbc框架

•元数据-DatabaseMetaData

•元数据:数据库、表、列的定义信息。

・Connection.getDatabaseMetaData()

•DataBaseMetaData对象

•getURL():返回一个String类对象,代表数据库的URL。

•getUserName():返回连接当前数据库管理系统的用户名。

•getDatabaseProductName():返回数据库的产品名称。

•getDatabaseProductVersion():返回数据库的版本号。

•getDriverNameO:返回驱动驱动程序的名称。

•getDriverVersion():返回驱动程序的版本号。

•isReadOnlyO:返回一•个boolean值,指示数据库是否只允许读操作。

•元数据-ParameterMetaData

•PreparedStatement.getParameterMetaData()

•获得代表PreparedStatement元数据的ParameterMetaData对象。

•Select*fromuserwherename=?Andpassword=?

•ParameterMetaData对■象

•获得指定参数getParameterCount的个数

•getParameterType(intparam)

•斐得指定参数的sql类型

•元数据-ResultSet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论