Android实习周记Word文件下载.doc
《Android实习周记Word文件下载.doc》由会员分享,可在线阅读,更多相关《Android实习周记Word文件下载.doc(7页珍藏版)》请在冰点文库上搜索。
![Android实习周记Word文件下载.doc](https://file1.bingdoc.com/fileroot1/2023-5/7/70e4aefb-954e-41ec-9402-efc540ad0ce0/70e4aefb-954e-41ec-9402-efc540ad0ce01.gif)
掌握文本显示组件的基本属性及操作方法。
TextView组件的主要功能是用于显示文本,实际上这种控件主要就是提供了一个标签的显示操作。
<
TextView>
组件的常用属性及对应方法。
配置文本显示框。
设置“android:
text”属性设置文字的显示风格(android:
textStyle):
正常(normal)粗体(bold)斜体(italic)。
Android中设置文字大小的定义类型。
在Android中所有的组件可以设置大小,但是在设置大小的时候需要指定其单位,这些单位如下:
px(pixels):
像素;
dip(deviceindependentpixels):
依赖于设备的像素;
sp(scaledpixels——bestfortextsize):
带比例的像素;
pt(points):
点;
in(inches):
英尺;
mm(millimeters):
毫米。
使用样式表文件,在Android中为了方便美工对组件进行修饰,也可以使用一些样式文件对组件显示进行控制,用户只需要按照如下的xml文件格式即可定义组件的显示样式。
TextView作为文本组件主要的功能是显示文本数据;
所有的组件可以直接通过一个样式表文件进行属性的配置。
第二周
本周张栋老师又启动了一个新的项目——电子名片管理系统。
该项目包括三个部分:
个人APP、企业版APP和管理平台。
该项目的开发背景是:
名片是商务交往的纽带。
而制作名片的核心目的就是自我展示和业务推介,通过名片建立自己的人脉圈。
传统的纸质名片不易传递,存储和管理。
在商务场合中很多时候需要给多名客户分发名片,而传统的纸质名片需要准备一定的数量和一定的时间进行分发。
同时分发和接受的名片并不易存储,极易丢失。
大量的纸质名片很难对其进行管理,例如很难找到某张名片。
为了达成以下几个目标决定开发该应用。
1.名片交换方便快捷:
1对1名片交换更加方便
2.多人交换一步即成:
多人之间的名片交换更加方便,使用应用一键可以达到目的
3.名片信息清晰易得:
对于用户的信息可以进行实时的维护,也可订制自己的名片信息
4.云人脉圈智能可控:
名片信息可同步到云端,保留信息
项目一启动,我们就开始进行需求分析,然后开始设计和制作原型,在大家熬夜奋战的情况下,我们终于完成了个人APP、企业APP和平台的原型制作。
在完成任务的同时,我还继续深入学习Android技术,各自开始编写一些简单的Android应用程序。
实现简单的界面布局功能。
学习android中各种基本组件的使用
掌握RadioGroup类和RadioButton类的使用,单选钮在开发中提供了一种多选一的操作模式,也是经常见到的一种组件,例如:
在选择文件编码的时候只能从多种编码中选择一种,或者是选择性别的时候只能从“男”或“女”之中选择一个,而在Android中可以使用RadioGroup来定义单选钮组件。
RadioGroup类的常用操作方法。
RadioGroup提供的只是一个单选钮的容器,只有在此容器之中配置多个按钮组件之后才可以使用,而要想设置单选钮的内容,则需要使用RadioButton类。
掌握RadioGroup类相当于定义了一个单选钮的容器;
RadioButton类用于定义单选钮中的内容。
掌握CheckBox组件的使用。
CheckBox的主要功能是完成复选框的操作,在用户输入信息的时候,可以一次性选择多个内容,例如:
用户在选择个人兴趣爱好的时候一定会存在多个,则此时就直接使用CheckBox即可完成功能。
CheckBox类的常用方法。
通过程序操作复选框组件。
CheckBox组件用于实现复选框的功能。
掌握下拉列表Spinner的使用;
可以通过程序配置Spinner显示内容;
可以通过配置文件配置Spinner显示内容。
下拉列表框也是一种常见的图形组件,它可以为用户提供列表的选则方式,与复选框或单选钮相比还可以节省手机的屏幕空间,在Android中可以使用android.widget.Spinner类实现。
Spinner类的常用方法。
配置列表项:
在Android中,可以直接在main.xml文件中定义“<
Spinner>
”节点,但是在定义此元素的时候却不能直接设置其显示的列表项,关于下拉列表框中的列表项有以下两种方式进行配置:
方式一:
直接通过资源文件配置;
方式二:
通过android.widget.ArrayAdapter类读取资源文件或者是指定具体设置的数据。
其中,ArrayAdapter类的功能:
有两个主要功能:
读取资源文件中定义的列表项或者是通过List集合设置列表项。
值得注意的是,对于下拉列表项的显示风格一般都会将其设置为:
“android.R.layout.simple_spinner_item”,下面分别在values文件夹之中定义两个资源文件,用于保存所需要的下拉列表信息。
使用Spinner可以完成下拉列表框的显示功能;
下拉列表框的显示内容可以通过配置文件或程序进行填充。
掌握时间选择器的使用;
可以通过程序配置显示的时间。
在Android中使用TimePicker(时间选择器),可以进行时间的快速调整。
TimePicker的常用方法。
掌握日期选择器的配置及使用。
与时间选择器对应的还有一个日期选择器(DatePicker),可以完成年、月、日的设置。
DatePicker类的常用方法。
日期选择器可以进行日期的配置;
可以通过设置配置不同的显示风格。
线型布局管理器的配置;
通过Activity程序进行线型布局。
布局管理器分类:
在Android中一共有以下四种布局管理器:
LinearLayout:
线性布局管理器(默认),分为水平和垂直两种,只能进行单行布局;
FrameLayout:
所有的组件放在左上角,一个覆盖一个;
TableLayout:
任意行和列的表格布局管理器,其中TableRow代表一行,可以向行中增加组件;
RelativeLayout:
相对布局管理器,更具最近一个视图组件,或是顶层父组件来确定下一个组件的位置。
废除的布局管理器:
在Android2.3.3版本之前还存在着一种绝对布局管理器(AbsoluteLayout),此布局管理器使用X、Y轴坐标的形式排列组件。
线型布局有两种排列方式:
水平和垂直可以通过LinearLayout类定义线型布局,而布局参数可以使用LinearLayout.LayoutParams类完成。
FrameLayout布局(帧布局)就是在屏幕上开辟一个区域以填充所有的组件,但是使用FrameLayout布局会将所有的组件都放在屏幕的左上角,而且所有的组件可以层叠进行显示。
框架布局是在一个指定的区域内使用组件进行填充;
可以使用FrameLayout和FrameLayout.LayoutParams类手工配置布局。
掌握表格布局管理器的基本使用;
掌握TableLayout和TableRow的操作关系;
掌握表格布局管理器中常见属性的作用。
TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器之中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。
表格布局管理器使用TableRow控制表格行;
表格布局的几个属性:
定义伸缩列:
android:
shrinkColumns="
3"
设置不显示列:
collapseColumns="
0,3"
增加背景图片:
background="
@drawable/mldn_logo"
表格布局也可以使用Activity程序动态生成。
掌握相对布局管理器的主要特点及使用;
可以使用Activity程序动态增加组件。
相对布局管理器指的是参考某一其他控件进行摆放,可以通过控制,将组件摆放在一个指定参考组件的上、下、左、右等位置,这些可以直接通过各个组件提供的属性完成。
相对布局管理器是以一个组件进行定位的参考;
使用RelativeLayout和RelativeLayout.LayoutParams类可以在Activity程序中动态配置布局管理器。
Android事件处理的学习。
了解事件处理的作用,了解常用的事件及相关处理接口。
Android程序的开发主要是借助于Java语言,其事件的处理流程也是参考了java中的事件处理操作,在Java之中,如果要想进行图形界面的事件处理则首先必须有一个事件源,而造成事件源产生可以有多种形式,例如:
单击按钮或者是修改下拉列表选项,之后根据此事件源找到相应的事件处理操作类,对事件进行处理。
事件处理的核心在于如下操作:
注册监听程序;
根据指定的事件编写指定的处理程序;
在事件处理类之中完成事件的处理操作。
单击事件、单选按钮与OnCheckedChangeListener、下拉列表框与OnItemSelectedListener、监听日期与时间的改变、焦点事件、长按事件、键盘事件、触摸事件。
掌握滚动视图:
ScrollView,列表显示:
ListView,对话框:
Dialog,随笔提示文本:
AutoCompleteTextView,拖动条:
SeekBar,评分组件:
RatingBar,信息提示框:
Toast,图片切换:
ImageSwitcher,文本切换:
TextSwitcher,拖拉图片:
Gallery,网格视图:
GridView,时钟组件:
AnalogClock与DigitalClock,计时器:
Chronometer,标签:
TabHost,菜单:
Menu,隐式抽屉组件:
SlidingDrawer,缩放控制:
ZoomControls,弹出窗口:
PopupWindow,树型组件:
ExpandableListView。
第三周
本周开始编写电子名片管理系统项目规格说明书。
接着又和同学们一起分析和设计数据库。
在这期间,我不仅学会了分析问题、撰写文档的能力,还学会了许多以前没有使用过得软件。
当然在确保完成任务的同时,我还不忘继续学习Android开发技术。
本周还学习了Android提供的数据的存储方式:
在Android中一共提供了五种数据存储:
SharedPreferences存储;
文件存储;
SQLite数据库存储;
ContentProvider存储;
网络存储。
SharedPreferences提供了一些基础的信息保存功能,所有的信息都是按照“key=value”的形式进行保存的,但是android.content.SharedPreferences接口所保存的信息只能是一些基本的数据类型,例如:
字符串、整型、布尔型等。
SharedPreferences可以实现简单的数据存储功能实现,可以利用super.getSharedPreferences()方法取得实例。
使用SharedPreferences可以方便的完成数据的存储功能,但是其只能保存一些很简单的数据,如果想存储更多类型的数据,则可以使用文件的存储操作,如果要想操作文件,则需要Activity类的支持。
利用IO流操作文件,考虑到用户要自定义保存目录,以及在“sdcard”上操作,所以本程序不太适合直接使用Activity类提供的文件操作方法,用户可以直接使用最传统的IO流完成。
使用IO流完成了文件的保存,但是却存在一个最大的问题,因为现在文件的路径采用的是硬编码的方式设置,那么就有可能因为sdcard不存在而出现错误,即:
最好的做法就是判断sdcard是否存在,如果存在则保存,如果不存在则提示用户“sdcard”不存在,无法保存,而要想完成这个判断的功能就必须通过android.os.Environment类取得目录的信息。
DOM操作:
使用文件保存数据固然很方便,但是如果现在数据较多的话,则管理起来就不方便了,所以在使用文件保存时,也往往会采用XML文件形式进行数据的保存,而一旦使用XML操作,那么就肯定需要对XML文件进行解析,而DOM解析就是最常用的一种。
SAX操作:
虽然DOM操作使用广泛,但是并不适合于使用DOM进行大数据文件的操作,而这个时候就可以使用SAX解析方式进行XML文件的读取。
使用XMLPull解析:
DOM和SAX在使用上各有特点,但是使用起来也都很不方便,而开发过JavaEE程序的读者应该很清楚,在日常的工作之中往往会用多种开源组件(JDOM、DOM4J)来完成XML解析的操作,但是在Android操作系统之中又提供了一种pull解析的方式。
在Android中如果要完成PULL解析处理需要org.xmlpull.v1.XmlPullParserFactory类和org.xmlpull.v1.XmlPullParser接口的支持,XmlPullParserFactory类的主要功能是可以通过里面提供的newPullParser()方法取得一个XmlPullParser接口的对象。
以上的程序使用了Pull解析方式完成了XML文档的解析操作,但是Android中的Pull解析方式也可以同样完成XML文档的输出功能,而这个时候就可以利用org.xmlpull.v1.XmlSerializer接口完成,此接口主要功能是可以通过程序控制XML文件中的元素、属性、文字的关系结构。
JSON数据解析:
JSON采用完全独立于语言平台的文本格式(这一点与XML作用类似),使用JSON可以将对象中表示的一组数据转换为字符串,然后可以在各个应用程序之间传递这些字符串,或者在异步系统中进行服务器和客户端之间的数据传递。
JSON操作本身有其自己的数据格式,这些数据格式,用户可以自己使用字符串拼凑,也可以直接利用JSON给出的操作类完成,而在Android系统之中,JSON操作所需要的数据包已经默认集成了,所以用户不再需要任何导包的操作,即可进行开发使用文件存储可以保存更加丰富的数据;
在Android之中可以使用XML的DOM和SAX解析方式进行文件操作;
在Android之中提供了PULL解析用于完成XML解析;
JSON可以进行简便的信息传送,性能更高;
可以将要读取的文件配置到项目的res文件目录之中,这样可以采用Resource直接进行资源文件的读取。
了解SQLite数据库的基本作用;
掌握数据库操作辅助类:
SQLiteDatabase的使用;
可以使用命令操作SQLite数据库;
可以完成数据库的CRUD操作;
掌握数据库查询及Cursor接口的使用。
SQLite是一个轻量级的、嵌入式的、关系型数据库,是遵守ACID的关联式数据库管理系统,其主要的是针对于嵌入式设备专门设计的数据库,由于其本身占用的存储空间较小,所以目前已经在Android操作系统之中广泛的使用着,而且在SQLite数据库之中可以方便的使用SQL语句实现数据的增加、修改、删除、查询等操作,最新版本的SQLite数据库为SQLite3。
在Android系统之中,一个android.database.sqlite.SQLiteDatabase类的实例都代表了一个SQLite数据库的操作,通过SQLiteDatabase类可以执行SQL语句,以完成对数据表的增加、修改、删除、查询等操作,在此类之中定义了基本的数据库执行SQL语句的操作方法以及一些操作的模式常量。
SQLite数据库是一个专门用于嵌入式设备的数据库;
SQLite支持SQL语句的操作;
可以使用SQLiteOpenHelper类完成数据库的操作;
所有的查询数据使用Cursor进行接收。
在Android当中,每一个应用程序的数据都是采用私有的形式进行操作的,不管这些数据是文件保存还是数据库保存,都不能被外部应用程序所访问。
但是在很多情况下用户是需要可以在不同的应用程序之间进行数据的交换,所以为了解决这样的问题,在Android中专门提供了一个ContentProvider类,此类的主要功能是将不同的应用程序的数据操作标准统一起来,并且将各个应用程序的数据操作标准暴露给其他应用程序,这样,一个应用程序的数据就可以按照ContentProvider所制定的标准被外部所操作。
ContentProvider在程序的操作中所提供的是一个操作的标准,所以用户如果要想依靠此标准进行数据操作的时候,必须使用到android.content.ContentResolver类完成,而这个类中所给出的操作方法与ContentProvider是一一对应的,当用户调用了ContentResolver类的方法时实际上就相当于调用了ContentProvider类中的对应方法。
由于所有的数据都要通过Uri进行传递,以增加操作为例,当用户执行完增加数据操作后往往需要将增加后的数据ID通过Uri进行返回,当接收到这个Uri的时候就需要从里面取出增加的ID,为了方便用户这种取出数据的操作,在Android中又提供了一个android.content.ContentUris的辅助工具类,帮助用户完成Uri的若干操作;
由于在使用ContentProvider类操作的时候某一个方法都可能要传递多种Uri,例如:
以query()方法为例,有可能表示查询全部,有可能表示按ID查询,所以必须对这些传递的Uri进行判断后才可以决定最终的操作形式,为了方便的用户的判断,专门提供了android.content.UriMatcher类,进行Uri的匹配;
ContentProvider可以将一个应用程序的数据操作交由外部处理;
使用SimpleCursorAdapter类可以对Curosr进行封装,并直接用于显示。
在这次生产实习中,我们遵守纪律,不迟到,不早退,按时完成老师布置的任务。
有时候为了完成任务,熬夜到一点多,虽累,但充实。
通过这次实习,我们不仅将理论知识用于实践中,提高了技能,而且对所学专业、就业目标和社会责任也有了更深刻的认识。
在以后的工作和学习中,我会更加努力,去实现我的人生目标。
友情提示:
如果你没有足够的下载券,又特别喜欢这篇文档。
请关注微信公众号sports17520,回复领取文档即可免费获得本文档。
扫一扫下面的二维码即可关注。
7