项目

搜芽移动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 为什么这个版本号和设计需求有初入?

答:由于精力有限,以及设计有时候并不一定最好。比方,那个搜索,请看市面通用做法,大家的做法就是对的,我们无需怀疑那么多互联网公司的设计能力。当然,很多其它的丑是由于没时间去调。

Android开发之搜Ya项目说明(3)的更多相关文章

  1. Android开发之Java集合类性能分析

    对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...

  2. Android开发之InstanceState详解

    Android开发之InstanceState详解   本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...

  3. Android开发之Git配置

    Android开发之Git配置 1.首先git配置: 输入命令: git config --global user.name "xxx.xx" git config --globa ...

  4. 【Android UI】Android开发之View的几种布局方式及实践

    引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...

  5. Android开发之旅: Intents和Intent Filters(理论部分)

    引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...

  6. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

  7. Android开发之Java必备基础

    Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...

  8. Android开发之PopupWindow

      /* *  Android开发之PopupWindow * *  Created on: 2011-8-8 *  Author: blueeagle *  Email: liujiaxiang@g ...

  9. [置顶] Android开发之MediaPlayerService服务详解(一)

    前面一节我们分析了Binder通信相关的两个重要类:ProcessState 和 IPCThreadState.ProcessState负责打开Binder 驱动,每个进程只有一个.而 IPCThre ...

随机推荐

  1. 关于std::string

    主要注意的一个问题是:std::string 实际是类似一个 vector<char>的结构. 它里面是可以存放 ascii为0 的字符不算结尾 (否则 unicode方式的编码存放就有问 ...

  2. [转]Permission denied: /.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

    原文链接:http://blog.csdn.net/dyw/article/details/6612497 近日,在Apache2环境下部署Rails3应用时碰到此错误: Permission den ...

  3. Robot Framework与Web界面自动化测试学习笔记:如何判断单选框的选中状态

    单选按钮是个常见的html元素,在网页中往往提供一组单选按钮来做选项. 这样在自动化测试用例中需要判断当前选中的按钮是否与预期的一直. 可以这样来操作: ${value}    Get Element ...

  4. Jquery学习笔记:获取jquery对象的基本方法

    jquery最大的好处是将js对html页面的操作(读写)进行了封装,隔离了浏览器的差异性,并简化了操作,和提供了强大的功能. 在web页面中,所有的js操作都是围绕操作dom对象来的.而jquery ...

  5. java 泛型详解(普通泛型、 通配符、 泛型接口)

    java 泛型详解(普通泛型. 通配符. 泛型接口) JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能---- ...

  6. Fedora20安装完Nvidia后启动一直黑屏解决办法。

    安装完Fedora20后,把Nvidia驱动装上后重起机器一直黑屏时,切换到命令行下:Alt+F2  登陆上去,然后直接更新: su -c ‘yum update’ ,再重起就OK了.

  7. 谁是Docker的开发人员

    由CHRIS DAWSON发表在thenewstack/DATA RESEARCH qianhen123/CHB译 我们分析了Docker的容器库并提出两个问题: 1.Docker的贡献者们感兴趣的其 ...

  8. CSS:重量和级联规则,确定其优先级

    资源:http://www.ido321.com/1063.html 首先,给大家看一篇关于CSS优先级的演示样例:http://www.ido321.com/76.html 一.主要的优先级规则 比 ...

  9. Swift - 网络请求报App Transport Security has blocked a cleartext错

    使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误: App Transport Security has blocked a cleartext HTTP (http:// ...

  10. 如何捕获Wince下form程序的全局异常

    前言 上两篇文章我们总结了在winform程序下如何捕获全局的异常.那么同样的问题,在wince下我们如何来处理呢?用相同的代码来处理可以吗? 答案是否定的,上面的方案1完全不能解决wince下的情况 ...