基于PANDROID的相册应用

时间:2022-05-26 08:29:01

基于PANDROID的相册应用

摘要:近几年,Android手机系统应用越来越广泛,随之Android应用程序急剧增加,呈现出指数增长的态势。然而随着这些应用程序基数大了,软件质量也是良莠不齐,各类不同质量规模的应用都涌向了Android应用市场,充斥在各类Android应用商店中。文章通过介绍设计一个基于Android的相册的高质量应用,阐述了Android activity、图片编辑、图片布局等相关知识,尤其对相册开发过程、开发技术原理以及软件效果作了详细的介绍,同时将设计过程中所用到的主要方法及控件进行了详细说明,具有一定的参考价值和较强的实用性。

关键词:Android;相册;应用

1 相册的架构

1.1 系统使用的开发技术

整个相册使用了安卓activity,图片适配器BaseAdapter,画廊gallery,布局listview,GridView,安卓的信息传递Intent。

1.2 安卓activity介绍

Activity是Android组件中最基本也是最为常见用的四大组件

。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个Android应用中,一个Activity通常就是一个单独的屏幕,可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

1.3 图片适配器BaseAdapter介绍

BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter用来将不同的数据映射到View上。不同的数据对应不同的适配器,如ArrayAdapter,CursorAdapter,SimpleAdapter等,他们能够将数组,指针指向的数据,Map等数据映射到View上。

1.4 画廊Gallery介绍

Gallery是一个水平的列表选择框,它允许用户通过拖动来查看上一个、下一个列表选项。要使用一个Gallery非常的简单,只需要设置填充它内容的Adapter即可。Gallery一般是用来显示图片的,也经常用来显示一些自定义布局和伪3D的效果。

1.5 布局ListView介绍

ListView控件可使用4种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。View属性决定在列表中控件使用何种视图显示项目。下面的示例使用Biblio.mdb数据库作为资源,通过ListItem对象移居ListView控件。还必须确保已将Biblio.mdb安装在机器上。在以下代码中检查OpenDatabase函数中的路径,并改变它,使之反映Biblio.mdbFVt器上的实际路径。

1.6 布局Gridview介绍

GridView是DataGrid的后继控件,在.net framework 2中。GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行。

1.7 GridView控件的事件

RowDeleting,RowDeleted这两个事件都是在一行的Delete按钮被单击时发生,它们分别在该网格控件删除该行之前和之后激发。RowEditing当一行的Edit按钮被单击时,但是在该控件进入编辑模式之前发生。RowUpdating,RowUpdated这两个事件都是在一行的update按钮被单击时发生,它们分别在该网格控件更新该行之前和之后激发。SelectedlndexChanging,SelectedlndexChanged这两个事件都是在一行的Select按钮被单击时发生,它们分别在该网格控件处理选择操作之前和之后激发。Sorting,Sorted这两个事件都是在对一个列进行排序的超链接被单击时发生,它们分别在网格控件处理排序操作之前和之后激发。

1.8 GridView控件的列字段

GridView控件中的每一列由一个DataControlField对象表示。默认情况下,AutoGenerateColumns属性被设置为true,为数据源中的每一个字段创建一个AutoGeneratedField对象,每个字段再作为GridView控件中的列呈现,其顺序同于每一字段在数据源中出现的顺序。

2 Intent介绍

Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。为了实现这个目的,listActivity需要构造一个Intent,这个Intent用于告诉系统,要做“查看”动作,然后调用startActivity(Intent intent),将构造的Intent传入,系统会根据此Intent中的描述,到ManiFest中找到满足此Intent要求的Activity,最终传入Intent,detaiiActivity则会根据此Intent中的描述,执行相应的操作。

3 未来展望

文章中,3D效果没有很生动地实现,图片浏览有一定的立体效果。对于Android相册的发展,人脸识别技术以及声音匹配技术无疑是更好的选择,但是文章人脸识别功能没有真正--意义上的实现,只能让机器认出这是一张人的脸,当做出不同的表情时就会被认为是两个人,只能通过文字标记同一人;而声音的匹配更是完全没有头绪,认知与投入还是不够,以期再进行完善。

上一篇:浅谈工程测量质量的加强途径 下一篇:以项目驱动为导向的高职课程教学改革应用探讨