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 为什么这个版本和设计需求有初入?
答:因为精力有限,以及设计有时候并不一定最好。比如,那个搜索,请看市面通用做法,大家的做法就是对的,我们无需怀疑那么多互联网公司的设计能力。当然,更多的丑是因为没时间去调。



































































相关文章
|
18天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
24天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
6天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
33 19
|
10天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
26天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
26天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!
|
6天前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
13 0
|
缓存 安全 开发工具
Android 解决bug:Android studio 运行、编译项目时导致电脑死机
Android 解决bug:Android studio 运行、编译项目时导致电脑死机
919 0
|
Android开发
Android Studio在android Emulator中运行的项目黑屏
Android Studio在android Emulator中运行的项目黑屏
761 0
Android Studio在android Emulator中运行的项目黑屏
|
Android开发 开发者 Windows
Android Studio运行项目
一、在真机上运行(Mac没得) 二、Android Studio自带模拟器(AVD)安装以及运行项目 三、在模拟器上运行
655 0
Android Studio运行项目