51建設(shè)Android版一些技術(shù)整理

不知不覺幾個月就過去了城侧,新項目已經(jīng)發(fā)了兩個大的版(其實已經(jīng)迭代了3版)疆偿,趁著項目新版剛剛上線閑下來的時間整理下用到的技術(shù)點咱筛。

整體架構(gòu)

采用MVP

Android官方MVP架構(gòu)示例項目解析

推薦一個插件 MVPHelper可以快速生成mvp java文件(接口定義實現(xiàn)類),不過類名字后綴是固定的杆故,建議下載代碼自己重寫Idea插件迅箩,打包使用

Android Support包

“com.android.support:appcompat-v7:25.1.0", 
 "com.android.support:design:25.1.0", 
"com.android.support:recyclerview-v7:25.1.0",
"com.android.support:cardview-v7:25.1.0",
"com.android.support:support-v4:25.1.0",
"com.android.support:multidex:1.0.1",
"com.android.support:support-core-utils:25.1.0",

第三方軟件包

圖片

Fresco
facebook出品,值得推薦

網(wǎng)絡(luò)

項目開始時研究對比了Volley 和 Retrofit处铛,最后選擇了Retrofit + okhttp 3, 結(jié)合Rxjava一起使用

Retrofit 2 + OKHttp 3

事件

EventBus

注解

butterknife
Android Butter Knife 框架——最好用的View注入

后來發(fā)現(xiàn)如果使用kotlin語言開發(fā)android沙热,注解會更簡單叉钥,一句引用就搞定了,直接使用xml布局文件的空間id作為變量

import kotlinx.android.synthetic.main.activity_detail.*
篙贸。投队。。
webView.loadUrl(url)

數(shù)據(jù)庫

Realm
realm的發(fā)展很快爵川,現(xiàn)在已經(jīng)不僅僅在移動平臺敷鸦,也開始涉及到服務(wù)器端。
https://www.infoq.com/news/2014/10/Realm-android

關(guān)于realm的坑不少寝贡,這里記錄一個項目中關(guān)于數(shù)據(jù)庫升級的扒披,一定要實現(xiàn) RealmMigration

public class MyMigration implements RealmMigration {
    @Override
    public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
   
        // DynamicRealm exposes an editable schema
        RealmSchema schema = realm.getSchema();

//        if (oldVersion == 0) {
//            schema.create("TestBean")
//                    .addField("name", String.class)
//                    .addField("age", int.class)
//            oldVersion++;
//        }

        if (oldVersion == 0) {
            schema.get("TestBean")
                    .addField("version", int.class);
            oldVersion++;
        }
    }
}

統(tǒng)計分析與埋點

友盟統(tǒng)計
GrowingIO

推送服務(wù)

Jpush極光推送
一開始使用的百度推送(決定于服務(wù)器,之前的項目使用的極光)圃泡,對接完成后會發(fā)現(xiàn)推送收不到的問題碟案,目前各個手機(jī)廠商對于手機(jī)的權(quán)限越來越重視,大部分后臺服務(wù)必須手動開啟權(quán)限后才能使用颇蜡,再加上百度推送依賴自家軟件強(qiáng)(測試的時候開了百度的幾個應(yīng)用都不行了价说,知道開啟百度地圖),最終還是更換到了機(jī)關(guān)推送

還有一點吐槽的就是百度的文檔和sdk集成方式還不如一些小公司做的簡潔风秤,呵呵鳖目!

調(diào)試

Stetho
[Facebook的一個開源調(diào)試工具](Stetho: A new debugging platform for Android)

持續(xù)集成

為了方便測試,采用了Jenkins + gradle + fir.im自動打包上傳到fir.im

http://blog.csdn.net/cunxinaimei/article/details/52540197

APK加固

我們選擇的是360加固助手缤弦,你可以在線加固领迈,也可以下載加固助手進(jìn)行加固,我們寫了一個自動加固打包腳本Mac版(本人很懶碍沐,能省事就省事)

Paste_Image.png

腳本代碼:

#!/usr/bin/env bash

echo "------ clean  apks ..."
rm -rf ../biuild/apk
echo "------ clean  apks  finished!"

echo "------ build  running..."
gradle  clean assembleDev -b ../build.gradle
echo "------ build  finished!"


java -jar ./jiagu.jar -login 360加固賬號 密碼
java -jar ./jiagu.jar -importsign 簽名文件 密碼 別名 密碼
java -jar ./jiagu.jar -showsign
java -jar ./jiagu.jar  -importmulpkg ./渠道列表.txt
java -jar ./jiagu.jar  -showmulpkg
java -jar ./jiagu.jar  -showconfig

mkdir -p ../build/apk
java -jar jiagu.jar  -jiagu ../app/build/outputs/apk/51jianshe-dev-release_*.apk ../build/apk -autosign -automulpkg

#curl -F "file=@/yourpath/yourapp.apk" -F "uKey=userkey" -F "_api_key=apikey" https://www.pgyer.com/apiv1/app/upload

最后一句可以直接把加固好的apk上傳到蒲公英進(jìn)行測試


最后打個廣告狸捅,介紹下APP

51建設(shè)”是服務(wù)于工程建設(shè)的一站式移動采購平臺,致力于為工程項目施工方提供高質(zhì)量低價格的商品累提,高額低息的分期還款方式尘喝,直達(dá)工地的物流服務(wù)等全方位采購體驗。
51建設(shè) 應(yīng)用寶

splash_five.png

splash_four.png
splash_one.png
splash_three.png
splash_two.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刻恭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扯夭,更是在濱河造成了極大的恐慌鳍贾,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件交洗,死亡現(xiàn)場離奇詭異骑科,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)构拳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門咆爽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梁棠,“玉大人,你說我怎么就攤上這事斗埂》” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵呛凶,是天一觀的道長男娄。 經(jīng)常有香客問我,道長漾稀,這世上最難降的妖魔是什么模闲? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮崭捍,結(jié)果婚禮上尸折,老公的妹妹穿的比我還像新娘。我一直安慰自己殷蛇,他們只是感情好实夹,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晾咪,像睡著了一般收擦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谍倦,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天塞赂,我揣著相機(jī)與錄音,去河邊找鬼昼蛀。 笑死宴猾,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趁曼,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼酪我,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讹剔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤详民,失蹤者是張志新(化名)和其女友劉穎延欠,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沈跨,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡由捎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了饿凛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狞玛。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡软驰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出心肪,到底是詐尸還是另有隱情锭亏,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布蒙畴,位于F島的核電站贰镣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏膳凝。R本人自食惡果不足惜碑隆,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹬音。 院中可真熱鬧上煤,春花似錦、人聲如沸著淆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽永部。三九已至独泞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苔埋,已是汗流浹背懦砂。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留组橄,地道東北人荞膘。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像玉工,于是被迫代替她去往敵國和親羽资。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容