• Android开发之搜Ya项目说明(3)




    项目
    搜芽移动client
    ----seller,app,base三个包的简单说明
    作者
    曾金龙
    Tel:18664312687 QQ :470910357@qq.com
    时间
    2014-10-14
    说明
    代码说明






    第一部分 Seller包
    1,启动页面 StartUpActivity.java
    启动页面,搜芽的第一个页面。Android开发中须要在Manifest中设置程序的入口。
    例如以下:
            <activity 
                android:name="com.souya.seller.StartUpActivity"  
                android:label="@string/app_name"
                android:theme="@style/notitle">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity> 
    启动页面的逻辑:
    展示搜芽图片,有益停留2秒(2000毫秒),然后跳转到登入页面,採用new Handler().postDelayed方法实现
    。详见代码,不再复述。


    2,登入页面
    LoginActivity.java


    登入页面的逻辑:
    接受用户输入,在本地保存,并向server发出登入请求,接收到回复假设成功,则跳转到主页面。


    其逻辑框图例如以下:
    在用户触发button的Onclick则进行登入。开启一个异步任务实现。异步任务中调用DataProxy进行登入包的构建与发送。DataProxy将会是我们整个程序和server打交道的代理。能够看看里面的代码,它是对http请求和对应的一个封装。
    登入返回之后,我们会开启一个线程专门做心跳处理。定时发送心跳包。
    详细见:SellerApplication.getInstance().mHeartbeatThread = new Thread(new Runnable() {
    这行代码。
    尚未实现:注冊。










     
    3 ,程序主页面 MainActivity.java
    程序的主界面
    1)继承自 SellerActivity 主要是为了监听一些事件。详细能够去看代码。
    2)ViewPager  TabPageIndicator TabsAdapter 实现Tab页面,而这个Indicator是ViewPagerIndicator项目的(我们在project导入文档中有说明)。
    须要知道掌握的就是怎样加入一个Tab页面放进来。
    mTabsAdapter.addTab就可以。


    3)ActionBar。知道怎样在ActionBar里面加入一个自己的文件夹选项。见onCreateOptionsMenu


    4)TabsAdapter内部类。能够看看,无需修改。


    第二部分 app包
    1 活动页管理 ActivityManager 
    对Activity的管理,为什么要这个类,能够去网上搜,主要是为了解决回退时候的Activity管理问题。


    2 崩溃日志捕获 CrashHandler
    当APP异常退出的时候,记录日志到文件,这样方便我们分析哪里崩溃。详细见代码。


    3 IP监控  IPMonitor 
    临时未用到。
    4 SellerApplication 应用类
    Application类一般用来保存全局数据,用来最開始的初始化。这类功能和设计能够去网上学习。
    我们在这里初始化log4j的日志,保存用户登入账号信息。




    第三部分 base包
    这个包主要是几个基类。为了更好的抽象和监听事件,我们抽象了SellerFragment,它继承了Fragment。
    1 SellerFragment
    关于Android推荐使用Fragment取代Activity的文章,网上学习,这里不做介绍。
    SellerFragment主要集成一些经常使用的功能。
    1)图片缓存对象  ImageFetcher mImageFetcher(图片缓存对象的内部机制无需了解,是第三方的代码,兴许会用就可以)。
    2)对Fagment常见操作的封装。


    2 RefreshableFragment 
    继承了SellerFragment,主要加入了对刷新动作的处理。


    3 BaseFragment 
    继承了RefreshableFragment
    主要加了,对取到图片事件的监听;网络变化的监听;刷新操作的监听。


    4 SellerActivity
    Seller程序中各种Activity的基类。主要是在里面丰富了对菜单的处理。
    注意:ClothSearch mClothSearch;域是为了在ActionBar中加入搜索而生的。在Actionbar中做搜索是一个行业通用设计也是个难点,兴许有时间仔细的学习一下。






    Q&A:
    1 为什么都是Fragment而不是Activity?
    答:据我看到的,外包用的比較多的是Activity,而我们这里用到比較多的Fragment的,我们的原则是能用Fragment的地方就尽量不要用Activity。
    2 有些代码看不懂,声明了却没有地方用到,为什么?
    答:有些代码我没剔除干净,不是懒,由于可能如今用不到,但我认为兴许肯定会用到,所以就留了个引子在那里。假设看到这种代码,无需过多关注。
    3 为什么这个版本号和设计需求有初入?
    答:由于精力有限,以及设计有时候并不一定最好。比方,那个搜索,请看市面通用做法,大家的做法就是对的,我们无需怀疑那么多互联网公司的设计能力。当然,很多其它的丑是由于没时间去调。



































































  • 相关阅读:
    vagrant 命令+配置+入门案例
    博客园皮肤 Cnblogs-Theme-SimpleMemory
    Vue:前后端交互、路由
    Vue :模块化
    Vue:组件开发
    Vue :模板语法
    ssm实战(11)-----用户功能开发
    ssm实战(10)-----通用功能开发(Windows环境下配置)
    ssm实战(9)-----前端开发(Windows环境下配置)
    spring boot实战——微信点餐系统03:微信授权(用户授权),免费内网穿透(固定ip)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4213078.html
Copyright © 2020-2023  润新知