生产实习周记
激动人心的时刻终于到了,为期三周的生产实习终于开始了。在这宝贵的三周时间里,我们会将理论付诸实践,完成老师安排的任务的同时,学习新的知识。
第一周
实验室三位老师启动了二手书租赁系统这个项目,我们一起讨论了二手书租赁系统的需求。本项目后台采用.NET MVC4+MS Sqlserver2008,分为后台管理和前台展示,前台分为平台端和手机端。手机端需要有展示图书和预订等功能,我们Android组的同学负责手机端的UI设计和功能实现。
由于首次接触Android开发,接下来我们开始各自学习android编程基础。自己在图书馆借了一些有关Android开发的图书,还在网上下了许多Android 开发视频。全心投入Android技术的学习之中。
初识Activity,编写第一个android程序。学习的内容主要有:Android 基本组件(Activity、Intent、Broadcast Receiver、Adapter、Service)。Activity 实际上就是表示的是一个人机的交互程序,用于存放各个显示控件,也是Android的基本组成,所有的Android项目都使用Java语言进行开发,所以每一个继承了android.app.Activity的Java类都将成为一个Activity程序,而一个Android项目将由多个Activity程序所组成,而所有的显示组件都必须放在Activity上才可以进行显示。Activity类的常用方法。
Android项目中的文件夹作用。Android项目中的文件作用。Android项目由若干个Activity程序所组成,每一个Activity都是一个Java类;一个Android项目中所有用到的资源都保存在res文件夹之中;Android中的组件需要在布局管理器中进行配置,之后在Activity程序中可以使用findViewById()方法查并进行控制;在布局管理器中定义的每一个组件都有其对应的操作类,用户可以直接实例化这些类的对象进行组件的定义显示;标准的Android项目,所有的文字显示信息应该保存在l文件中保存。
Android中的基本控件的学习。掌握文本显示组件的配置及使用;掌握文本显示组件的继承结;掌握文本显示组件的基本属性及操作方法。TextView组件的主要功能是用于显示文本,实际上这种控件主要就是提供了一个标签的显示操作。<TextView>组件的常用属性及对应方法。配置文本显示框。设置“android:text”属性设置文字的显示风格(android:textStyle):正常(normal)粗体(bold)斜体(italic)。Android中设置文字大小的定义类型。在Android中所有的组件可以设置大小,但是在设置大小的时候需要指定其单位,这些单位如下:px(pixels):像素; dip(device independent pixels):依赖于设备的像素;sp(scaled pixels —— best for text size):带比例的像素; pt(points):点;in(inches):英尺;mm(millimeters):毫米。使用样式表文件,在Android中为了方便美工对组件进行修饰,也可以使用一些样
式文件对组件显示进行控制,用户只需要按照如下的xml文件格式即可定义组件的显示样式。TextView作为文本组件主要的功能是显示文本数据;所有的组件可以直接通过一个样式表文件进行属性的配置。
第二周
本周张栋老师又启动了一个新的项目——电子名片管理系统。该项目包括三个部分:个人APP、企业版APP和管理平台。
该项目的开发背景是:名片是商务交往的纽带。而制作名片的核心目的就是自我展示和业务推介,通过名片建立自己的人脉圈。
传统的纸质名片不易传递,存储和管理。
在商务场合中很多时候需要给多名客户分发名片,而传统的纸质名片需要准备一定的数量和一定的时间进行分发。同时分发和接受的名片并不易存储,极易丢失。大量的纸质名片很难对其进行管理,例如很难到某张名片。
为了达成以下几个目标决定开发该应用。
1.名片交换方便快捷:1对1名片交换更加方便
2.多人交换一步即成:多人之间的名片交换更加方便,使用应用一
键可以达到目的
3.名片信息清晰易得:对于用户的信息可以进行实时的维护,也可
android radiogroup订制自己的名片信息
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中,可以直接在l文件中定义“<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:相对布局管理器,更具最近一个视图组件,或是顶层父组件来确定下一个组件的位置。废除的布局管理器:在Android 2.3.3版本之前还存在着一种绝对布局管理器(AbsoluteLayout),此布局管理器使用X、Y轴坐标的形式排列组件。线型布局有两种排列方式:水平和垂直可以通过LinearLayout 类定义线型布局,而布局参数可以使用LinearLayout.LayoutParams类完成。FrameLayout布局(帧布局)就是在屏幕上开辟一个区域以填充所有的组件,但是使用FrameLayout布局会将所有的组件都放在屏幕的左上角,而且所有的组件
可以层叠进行显示。框架布局是在一个指定的区域内使用组件进行填充;可以使用FrameLayout和FrameLayout.LayoutParams类手工配置布局。掌握表格布局管理器的基本使用;掌握TableLayout和TableRow的操作关系;掌握表格布局管理器中常见属性的作用。TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout 布局管理器之中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。表格布局管理器使用TableRow控制表格行;表格布局的几个属性:定义伸缩列:android:shrinkColumns="3"设置不显示列:
android:collapseColumns="0,3"增加背景图
片:android: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”的形式进行保存的,但是t.SharedPreferences接口所保存的信息只能是一些基本的数据类型,例如:字符串、整型、布尔型等。SharedPreferences可以实现简单的数据存储功能实现,可以利用SharedPreferences()方法取得实例。
使用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在使用上各有特点,但是使用起来也都很不方便,而开发过Java EE程序的读者应该很清楚,在日常的工作之中往往会用多种开源组件(JDOM、DOM4J)来完成XML解析的操作,但是在Android操作系统之中又提供了一种pull解析的方式。在Android中如果要完成PULL解析处理需要lpull.v1.XmlPullParserFactory类和lpull.v1.XmlPullParser 接口的支持,XmlPullParserFactory类的主要功能是可以通过里面提供的newPullParser()方法取得一个XmlPullParser接口的对象。以上的程序使用了Pull解析方式完成了XML文档的解析操作,但是Android中的Pull解析方式也可以同样完成XML文档的输出功能,而这个时候就可以利用lpull.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数据库为SQLite 3。在Android系统之中,一个android.database.sqlite.SQLiteDatabase类的实例都代表了一个SQLite数据库的操作,通过SQLiteDatabase类可以执行SQL语句,以完成对数据表的增加、修改、删除、查询等操作,在此类之中定义了基本的数据库执行SQL语句的操作方法以及一些操作的模式常量。SQLite数据库是一个专门用于嵌入式设备的数据库;SQLite支持SQL语句的操作;可以使用SQLiteOpenHelper类完成数据库的操作;所有的查询数据使用Cursor进行接收。
在Android当中,每一个应用程序的数据都是采用私有的形式进行操作的,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论