当前位置:操作系统 > 安卓/Android >>

Android项目实战之(1)-- 开发一个"快速冲浪"的程序

 

概述:这个小程序,你讲学习到基本控件(Button,Listview,Gridview,TextView等)的使用技巧,AssetManager类的使用,XML数据的解析方式,BaseAdapter,几种布局的使用,Sqlite的使用等等。

 

 一、简单需求设计

    左右分栏的形式,左栏为一级菜单,右栏为二级菜单。通过点击一级菜单列表在右栏现实二级菜单,在二级菜单中点击相关选项进入网页。一级菜单,二级菜单均有编辑功能,或增,或删,或改。为提高用户体验,将二级菜单的显示模式定为两种,一为列表模式,二为表格方式。将在一二级菜单中添加列表头或者列表尾进行添加操作。为更迎合用户的偏好使用,将设计将用户本次的设置保存到系统中,方便用户下次使用。提供恢复默认设置的选项,即将数据初始为原始状态。

 

二、技术实现可能性预见

    就我本人而言,做过的项目不多,那么首先我会做一个简单的技术考察,或做一些小Demo。那么这里,我就以我的方式来阐述下这个项目需要用到的一个技术。首先,必然要用到xml的解析,那么xml有三种解析方式(这里只做简单说明):(1)DOM解析,Dom解析器会在解析xml文档是,把文档中所有的元素按照其出现的层次关系解析成一个个Node节点对象,Node节点对象提供了相应的方法去获取父节点和子节点,那么我们可以通过这些方法读取整个xml并对其操作,它的缺点是一次性加载整个xml文件,那么对于移动设备,内存是非常宝贵的,所以我们不用它。(2)SAX解析,SAX解析允许在读取文档的时候,即对文档进行处理,而不必等到整个文档撞在完毕才对其进行操作。它是基于事件驱动的(3)PULL方式,和SAX一样也是基于事件驱动的,使用起来也比较简单,那么我们就用Pull。Activity之间的数据传递和保存,这个是完全可以处理的。调用相应的方法,或者将需要存储的数据保存到sqlite就可以了。这些开始开代码吧。功能的实现,基本没有什么问题了,那么下一步我们就来布局下界面。

 

三、界面布局的设计

    根据之前的需求设计,大致将界面布局定为以下样式。

 

 

 

四、项目关键技术点讲解及代码展示

1、在Eclipse中新建工程,SurfingDemo,程序包名:org.winplus.sufing

 

2、按照我的编码习惯,我喜欢先将UI弄好,然后直接取数据,并将其显示。那么根据上图UI的设计草图,我们可以将几个主要的布局进行排版设计。代码如下:

 

surfing.xml(布局描述文件)

 

<span style="font-family: 'Microsoft YaHei'; "><span style="font-size:16px;"><?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent" 

    android:orientation="horizontal" > 

 

    <!-- 左边的操作布局即,一级菜单的显示--> 

 

    <LinearLayout 

        android:id="@+id/layout_left" 

        android:layout_width="200px" 

        android:layout_height="wrap_content" 

        android:orientation="vertical" > 

 

        <TextView 

            android:id="@+id/left_msg" 

            android:layout_width="wrap_content" 

            android:layout_height="40px" 

            android:text="@string/txt_left_msg" /> 

 

        <ListView 

            android:id="@+id/list_first_classify" 

            android:layout_width="wrap_content" 

            android:layout_height="wrap_content" /> 

    </LinearLayout> 

 

    <!-- 右边布局,即二级菜单的显示--> 

 

    <LinearLayout 

        android:id="@+id/layout_right" 

        android:layout_width="wrap_content" 

        android:layout_height="wrap_content" 

        android:layout_weight="1" 

        android:orientation="vertical" > 

        <!-- 右边操作布局,显示模式的设置--> 

        <LinearLayout 

            android:id="@+id/layout_right_oper" 

            android:layout_width="fill_parent" 

            android:layout_height="40px" 

            android:orientation="horizontal" > 

 

            <TextView 

                android:id="@+id/right_msg" 

                android:layout_width="wrap_content" 

                android:layout_height="wrap_content" 

                android:layout_weight="1" 

                android:text="@string/txt_right_msg" /> 

 

            <ImageButton 

                android:id="@+id/display_list" 

                android:layout_width="wrap_content" 

                android:layout_height="wrap_content" 

                android:background="#00000000" 

                android:src="@drawable/ic_display_list"/> 

 

            <ImageButton 

                android:id="@+id/display_grid" 

                android:layout_width="wrap_content" 

            &n

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,