Android开发之搜Ya项目说明(3)
生活随笔
收集整理的這篇文章主要介紹了
Android开发之搜Ya项目说明(3)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
項目
搜芽移動client
----seller,app,base三個包的簡單說明
作者
曾金龍
Tel:18664312687 QQ :470910357@qq.com
時間
2014-10-14
說明
代碼說明
第一部分 Seller包
1,啟動頁面 StartUpActivity.java
啟動頁面,搜芽的第一個頁面。Android開發(fā)中須要在Manifest中設(shè)置程序的入口。
例如以下:
? ? ? ? <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毫秒),然后跳轉(zhuǎn)到登入頁面,採用new Handler().postDelayed方法實現(xiàn)
。詳見代碼,不再復(fù)述。
2,登入頁面
LoginActivity.java
登入頁面的邏輯:
接受用戶輸入,在本地保存,并向server發(fā)出登入請求,接收到回復(fù)假設(shè)成功,則跳轉(zhuǎn)到主頁面。
其邏輯框圖例如以下:
在用戶觸發(fā)button的Onclick則進(jìn)行登入。開啟一個異步任務(wù)實現(xiàn)。異步任務(wù)中調(diào)用DataProxy進(jìn)行登入包的構(gòu)建與發(fā)送。DataProxy將會是我們整個程序和server打交道的代理。能夠看看里面的代碼,它是對http請求和對應(yīng)的一個封裝。
登入返回之后,我們會開啟一個線程專門做心跳處理。定時發(fā)送心跳包。
詳細(xì)見:SellerApplication.getInstance().mHeartbeatThread = new Thread(new Runnable() {
這行代碼。
尚未實現(xiàn):注冊。
?
3 ,程序主頁面 MainActivity.java
程序的主界面
1)繼承自 SellerActivity 主要是為了監(jiān)聽一些事件。詳細(xì)能夠去看代碼。
2)ViewPager ?TabPageIndicator TabsAdapter 實現(xiàn)Tab頁面,而這個Indicator是ViewPagerIndicator項目的(我們在project導(dǎo)入文檔中有說明)。
須要知道掌握的就是怎樣加入一個Tab頁面放進(jìn)來。
mTabsAdapter.addTab就可以。
3)ActionBar。知道怎樣在ActionBar里面加入一個自己的文件夾選項。見onCreateOptionsMenu
4)TabsAdapter內(nèi)部類。能夠看看,無需修改。
第二部分 app包
1 活動頁管理 ActivityManager?
對Activity的管理,為什么要這個類,能夠去網(wǎng)上搜,主要是為了解決回退時候的Activity管理問題。
2 崩潰日志捕獲 CrashHandler
當(dāng)APP異常退出的時候,記錄日志到文件,這樣方便我們分析哪里崩潰。詳細(xì)見代碼。
3 IP監(jiān)控 ?IPMonitor?
臨時未用到。
4 SellerApplication 應(yīng)用類
Application類一般用來保存全局?jǐn)?shù)據(jù),用來最開始的初始化。這類功能和設(shè)計能夠去網(wǎng)上學(xué)習(xí)。
我們在這里初始化log4j的日志,保存用戶登入賬號信息。
第三部分 base包
這個包主要是幾個基類。為了更好的抽象和監(jiān)聽事件,我們抽象了SellerFragment,它繼承了Fragment。
1 SellerFragment
關(guān)于Android推薦使用Fragment取代Activity的文章,網(wǎng)上學(xué)習(xí),這里不做介紹。
SellerFragment主要集成一些經(jīng)常使用的功能。
1)圖片緩存對象 ?ImageFetcher mImageFetcher(圖片緩存對象的內(nèi)部機(jī)制無需了解,是第三方的代碼,興許會用就可以)。
2)對Fagment常見操作的封裝。
2 RefreshableFragment?
繼承了SellerFragment,主要加入了對刷新動作的處理。
3 BaseFragment?
繼承了RefreshableFragment
主要加了,對取到圖片事件的監(jiān)聽;網(wǎng)絡(luò)變化的監(jiān)聽;刷新操作的監(jiān)聽。
4 SellerActivity
Seller程序中各種Activity的基類。主要是在里面豐富了對菜單的處理。
注意:ClothSearch mClothSearch;域是為了在ActionBar中加入搜索而生的。在Actionbar中做搜索是一個行業(yè)通用設(shè)計也是個難點,興許有時間仔細(xì)的學(xué)習(xí)一下。
Q&A:
1 為什么都是Fragment而不是Activity?
答:據(jù)我看到的,外包用的比較多的是Activity,而我們這里用到比較多的Fragment的,我們的原則是能用Fragment的地方就盡量不要用Activity。
2 有些代碼看不懂,聲明了卻沒有地方用到,為什么?
答:有些代碼我沒剔除干凈,不是懶,由于可能如今用不到,但我認(rèn)為興許肯定會用到,所以就留了個引子在那里。假設(shè)看到這種代碼,無需過多關(guān)注。
3 為什么這個版本號和設(shè)計需求有初入?
答:由于精力有限,以及設(shè)計有時候并不一定最好。比方,那個搜索,請看市面通用做法,大家的做法就是對的,我們無需懷疑那么多互聯(lián)網(wǎng)公司的設(shè)計能力。當(dāng)然,很多其它的丑是由于沒時間去調(diào)。
總結(jié)
以上是生活随笔為你收集整理的Android开发之搜Ya项目说明(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 探秘推荐引擎之协同过滤算法小综述
- 下一篇: Makefile学习笔记-备忘