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

简介:


项目
搜芽移动客户端
----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


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


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










 
3 ,程序主页面 MainActivity.java
程序的主界面
1)继承自 SellerActivity 主要是为了监听一些事件。具体可以去看代码。
2)ViewPager  TabPageIndicator TabsAdapter 实现Tab页面,而这个Indicator是ViewPagerIndicator项目的(我们在工程导入文档中有说明)。
需要知道掌握的就是如何添加一个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 为什么这个版本和设计需求有初入?
答:因为精力有限,以及设计有时候并不一定最好。比如,那个搜索,请看市面通用做法,大家的做法就是对的,我们无需怀疑那么多互联网公司的设计能力。当然,更多的丑是因为没时间去调。



































































相关文章
|
8天前
|
编解码 数据库 Android开发
安卓应用开发:打造高效用户界面的五大技巧
【5月更文挑战第18天】在竞争激烈的应用市场中,一个流畅且直观的用户界面(UI)对于安卓应用的成功至关重要。本文将探讨五种提升安卓应用用户界面性能的技巧,包括合理布局设计、优化资源使用、利用硬件加速、内存管理以及响应式编程。通过这些方法,开发者可以创建出既美观又高效的应用体验,从而吸引和保留用户。
|
1天前
|
数据处理 API Android开发
安卓应用开发:构建一个高效的通知管理系统
【5月更文挑战第25天】在移动操作系统中,通知管理是用户体验的核心组成部分。特别是对于安卓设备,由于其开放性和多样性,有效的通知管理系统显得尤为重要。本文将详细介绍如何在安卓平台上构建一个高效、用户友好的通知管理系统。我们将从通知渠道的管理、用户自定义设置以及后台数据处理等方面展开讨论,并提供实用的代码示例和最佳实践建议。
|
2天前
|
缓存 监控 Java
安卓应用开发中的内存优化策略
【5月更文挑战第24天】 在移动设备上,资源的有限性要求开发者对应用程序进行细致入微的性能优化。特别是对于安卓平台,由于设备的多样性和碎片化问题,内存管理成为提升应用性能、用户体验和电池寿命的关键因素。本文将探讨针对安卓开发的内存优化技巧,从避免内存溢出、减少内存占用到提高内存回收效率等方面展开讨论,旨在为开发者提供实用的内存优化策略,以改善应用的运行效率和稳定性。
|
6天前
|
搜索推荐 API Android开发
安卓应用开发:打造高效通知管理系统
【5月更文挑战第20天】在移动设备中,通知管理是用户体验的关键部分。一个高效的通知系统不仅能够及时传达重要信息,还能避免用户感到不必要的干扰。本文将深入探讨如何在安卓平台上开发一个高效的通知管理系统,包括通知的设计、发送策略以及用户的个性化设置。通过分析安卓系统的通知机制和最新的API特性,我们将提供一个实用的开发指南,帮助开发者创建更加智能和用户友好的通知体验。
|
9天前
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
9天前
|
前端开发 Android开发
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
|
9天前
|
安全 Linux Android开发
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
|
9天前
|
算法 前端开发 Android开发
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
|
9天前
|
缓存 Android开发
Android插件化——高手必备的Hook技术,零基础开发android
Android插件化——高手必备的Hook技术,零基础开发android
|
9天前
|
Android开发
Android高级开发面试题以及笞案整理,实战解析
Android高级开发面试题以及笞案整理,实战解析