基于Android系统的图片浏览器开发与设计(8)
时间:2017-02-07 20:06 来源:毕业论文 作者:毕业论文 点击:次
在本应用程序中需要使用到的具体信息如下表所示,其中,表4.4为Media类字段,表4.5为Thumbnails类字段。 表4.4 Media(Image)中字段 字段名 类型 描述 BUCKET_DISPLAY_NAME TEXT 所在文件夹名 BUCKET_ID TEXT 所在文件夹ID DATE_TAKEN INTEGER 拍摄时间(距1970年1月1日) DISCRIPTION TEXT 图片的描述信息 _ID INTEGER 当前照片的ID LATITIUDE DOUBLE 拍摄照片所在的纬度 LONGTITUDE DOUBLE 拍摄照片所在的经度 MINI_THUMB_MAGIC INTEGER 缩略图ID CONTENT_TYPE STRING 文件格式(例:image/jpg) ORIENTATION INTEGER 照片拍摄的角度 表4.5 Thumbnails中字段 字段名 类型 描述 DATA DATA STREAM 缩略图转成的字节流 HEIGHT INTEGER 缩略图高度 WIDTH INTEGER 缩略图宽度 IMAGE_ID INTEGER 原照片ID KIND INTEGER 缩略图种类 _ID INTEGER 缩略图的ID 5 系统实现 5.1 应用界面实现 在Android的每一个可视化界面中,都有其唯一的布局文件,用XML进行标记,包括每个Acitivity的各种布局方式、以及各种资源文件如图像、文字、形状、颜色等的引用。程序在运行时,通过代码对各个配置文件进行读取。这样就能形成各种不同的可视化界面和炫丽多彩的效果。本程序中的主要界面也是一个Activity,效果如图5.1所示。 MainActivity.java(BuncketBrowse.java/PhotoBrowse.java): Activity启动后会自动调用onCreate()方法,作为入口函数,紧接着就会调用设置layout的XML的方法,setContentView(),这里将会res/layout/main.xml加载为主布局,代码如下: public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); } main.xml的布局内最外层是一个线性布局<LinearLayout>,第二个<LinearLayout>布局中是标题信息,主要内容是一个文本<TextView>和一个<Spinner>,用来表示排列顺序信息,而<GridView>即是控制网格浏览图片的内容了。同时,main.xml主要控制的是两个Activity,都是继承自MainActivity,因为他们的布局非常类似。界面图5.1所示。 图5.1 图片组浏览界面 图片浏览界面,使用的布局是res/layout/gallery.xml,外层使用了<FrameLayout>,是帧布局,控件覆盖使用;<ImageView/>是主窗口,显示图片;中间的<RelativeLayout>中包括了两个<Button>,分别是返回和详细信息按钮,以及一个<TextView>显示图片标题;下面的<RelativeLayout>标识着下方的滚动浏览图片和放大缩小按钮。界面如图5.2所示。 图5.2 图片浏览界面 图片处理界面,布局界面在res/layout/process.xml,与gallery.xml类似,下方换成了三个<Button>用来控制具体修改的属性、参数值等。界面如图5.3所示。 图5.3 图片修改界面 在Android的布局中,通常的布局方式主要是在XML中设置属性来完成的。例如表5.1中的常见属性,代表了一般布局中所使用的布局方法。 表5.1 常见XML布局的属性 属性名 值 说明 (责任编辑:qin) |