免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
分享我學(xué)習(xí) Androd 開發(fā)過程中寫的小項(xiàng)目

前言

在公司 iOS APP上線后,Android 項(xiàng)目也要提上日程,因?yàn)橹徽幸粋€(gè)安卓開發(fā),同時(shí)還希望安卓APP也盡快上線,所以我又學(xué)起了 Android開發(fā)。以協(xié)助安卓工程師開發(fā)。從五月初到現(xiàn)在,APP 終于上線。我也學(xué)到了很多 Android 開發(fā)的技術(shù),現(xiàn)在我把我學(xué)習(xí)過程中開發(fā)的小項(xiàng)目分享出來。學(xué)習(xí) Android 開發(fā)的小項(xiàng)目,這是 Github 地址,如果你感覺對你學(xué)習(xí) Android 有幫助的話,請給個(gè) Star

剛開始時(shí)我們都是用 Java 開發(fā) Android,對于寫了好幾年 Swift 的我完全不能忍受 Java 的語法,沒有元組(可以通過第三方實(shí)現(xiàn)),沒有高階函數(shù),沒有擴(kuò)展方法,不像Swift,接口(Interface)所有方法都要實(shí)現(xiàn)的,沒有可選實(shí)現(xiàn)的。沒有自定義運(yùn)算符,句末要加分號(hào)等很多我在 iOS開發(fā)過程中常用的語言特性都沒有。直到后來 Google 宣布 Kotlin 為Android 開發(fā)的一級(jí)語言。我就去隨便了解下 Kotlin 的語法,發(fā)現(xiàn)Kotlin 和 Swift 的語法實(shí)在是太像啦。兩者相似度應(yīng)該有 80% 以上吧,請參考 Swift 和 Kotlin 語法比較。所以那還等什么?和同事協(xié)商后,確認(rèn)可以在同一個(gè)項(xiàng)目里面可以同時(shí)使用 Kotlin 和 Java 開發(fā),那么我果斷換成 Kotlin 開發(fā),Kotlin確實(shí)比 Java 簡潔多了,不再需要butterknife 框架,不需要寫各種事件類,各種 View 也可直接從 XML 里面直接取出,再加上高階函數(shù)和擴(kuò)展方法,仿佛又回到了 iOS 開發(fā) APP 的感覺。其開發(fā)體驗(yàn)和用 Java 開發(fā)完全不可同日而語。所以我在自己學(xué)習(xí) Android 開發(fā)寫的小項(xiàng)目也全是用 Kotlin 開發(fā)的。這里我就不再詳細(xì)介紹 Kotlin 了,下面直接給出這些小項(xiàng)目吧,

這 6 個(gè)小項(xiàng)目從上下到依次是天氣,小說,美圖,五筆查詢,花瓣和2048 AI版。


下面一個(gè)一個(gè)說起

6 個(gè)小項(xiàng)目

Weather

Weather 是學(xué)習(xí) Android 最經(jīng)典的 Android 學(xué)習(xí)入門書《第一行代碼》的最終實(shí)戰(zhàn),這個(gè)例子覆蓋的知識(shí)點(diǎn)非常全面,有網(wǎng)絡(luò)請求,Json 轉(zhuǎn)換成 Model,抽屜布局,DataSupport 數(shù)據(jù)庫的使用還有 Service 服務(wù),作為入門的實(shí)戰(zhàn) APP 實(shí)在是再適合不過了。書上是用 Java 寫的,我在這里全部使用了 Kotlin 來實(shí)現(xiàn)。代碼更加精簡些。

Novel 小說閱讀

我有很多同事都是小說狂人,但是貌似很多小說 APP 都有廣告(我不看小說不清楚),于是讓幫忙寫個(gè)小說 APP,他用都用 iPhone,于是我寫了個(gè) iOS 版本的小說閱讀 APP iOS小說閱讀器,然后我再想試試寫一個(gè)Android 版本的,于是就有了這個(gè)小項(xiàng)目,

BaseQuickAdapter 真的很強(qiáng)大,解決了很多 RecyclerView的實(shí)際需求,比較下拉刷新和加載更多等。書簽用 DataSupport保存,這個(gè)小項(xiàng)目沒有使用到接口,是解析 HTML實(shí)現(xiàn)的。使用了 Jsoup 來解析 HTML,非常好用。另外在開發(fā)過程了還碰到了BGK問題,需要用到字符串 bytes。問題不大。總之整個(gè)項(xiàng)目比較簡單,很容易看懂。

美圖

無意中發(fā)現(xiàn)個(gè)網(wǎng)站,里面的圖片質(zhì)量還算不錯(cuò),用來當(dāng)壁紙比較合適。還可以用分辨率篩選。于是下載了他們官方的 APP,但是官方 APP 有廣告,而且好像只能看手機(jī)壁紙,不能看電腦的。這兩點(diǎn)讓我非常不爽。于是我就想自己寫一個(gè) APP,無廣告,可以隨意收藏和下載高清壁紙。感覺很不錯(cuò)

開發(fā)的技術(shù)難點(diǎn)并不多,使用和小說閱讀器一樣的技術(shù)。圖片顯示用了Fresco,圖片下載用了 Glide。

五筆查詢

筆者是一個(gè)五筆使用者,雖然用了很久五筆了,但還是有很多字不會(huì)打,所以我一般在我手機(jī)上安裝了五筆反查這個(gè)APP,本來作為簡單的查詢APP,應(yīng)該十分簡潔的,但是里面的廣告非常讓我不爽,而且非常容易點(diǎn)到。體驗(yàn)也做得比較次。比如歷史查詢功能就做得很一般。所以我干脆自己寫一個(gè)。

這個(gè)小項(xiàng)目沒有特別的技術(shù)難點(diǎn),唯一的難點(diǎn)度不在于 APP,而是查詢網(wǎng)站令人蛋疼的編碼,全部采用GBK編碼,而且對請求和請求體有一些特殊要求。請求時(shí)需要加上這些參數(shù),查詢的文字需要用 UrlEncode進(jìn)行GBK編碼,然后再和 key 拼起來。探索這結(jié)東西花了些時(shí)間。

花瓣

花瓣 APP 也算了個(gè)中型的 APP 了,我是按照 Github 的花瓣 開源項(xiàng)目來寫的,主是要學(xué)習(xí)里面的架構(gòu)寫法。實(shí)現(xiàn)了收集,登錄,喜歡,搜索等功能,原作者說全部采用目前最新的和最熱門技術(shù)。所以還是有一定有學(xué)習(xí)價(jià)值的。你可以把我寫的這個(gè)看成是Kotlin的實(shí)現(xiàn)版本。但是里面關(guān)于Fragment 的實(shí)現(xiàn)機(jī)制不一樣,我用了 BaseQuickAdapter,所以會(huì)比較簡單些。

技術(shù)方面用了 [RxJava/RxAndroid] 實(shí)現(xiàn)異步響應(yīng),簡化了很多異步回調(diào)的代碼。網(wǎng)絡(luò)方面使用了 Retrofit,搭配 RxJava很實(shí)用,處理數(shù)據(jù)轉(zhuǎn)化成 Model一步到位。其他有興趣的可以參考代碼自己實(shí)現(xiàn)一次,就能明白里面的架構(gòu)和技術(shù)了。

2048 AI版

2048 是一款具有魔力的游戲,很容易上癮。一玩就停不下來。但是我水平很菜,從來沒有合出來 2048。既然我合不出來,就讓 AI 來幫忙吧。于是我參考了 2048 的 AI 實(shí)現(xiàn)資料,目前網(wǎng)絡(luò)上最主流的是算法是MixMax 算法,請參考文章 2048 AI 程序算法分析,里面詳細(xì)地分析了這個(gè)算法,并且給出了js的實(shí)現(xiàn)。于是我也想在APP上實(shí)現(xiàn)這個(gè)算法,首先我要找到 2048 在安卓上在實(shí)現(xiàn)。我找到了這個(gè) Android版2048游戲視頻教程源碼,這個(gè)APP寫得非常好,還有作弊和撤銷功能。我就用這個(gè)APP的源碼,并把它用 Kotlin 重新實(shí)現(xiàn)了一遍。然后再添加AI功能。AI的源代碼我參考了 2048 AI 的實(shí)現(xiàn)。發(fā)現(xiàn)里面的 2048 實(shí)現(xiàn)機(jī)制和安卓機(jī)制很像,在這個(gè)基礎(chǔ)上加上AI代碼應(yīng)該不難。事實(shí)上確實(shí)如此,很快我就把AI代碼移植過去并成功運(yùn)行。經(jīng)過簡單的調(diào)試后再測試了很多次,合出2048豪無壓力,只是.....我不明白為何一但AI合出2048后突然就智障了,后面的每一步都像自殺一樣,豪無章法。很快就掛了。目前工作還比較忙,有時(shí)間我再看看為何會(huì)這樣。

技術(shù)方面最主要就是2048的AI算法以及在Android上使用Kotlin的實(shí)現(xiàn)2048。這又是比較大的一塊,我將專門寫一篇文章來說明這個(gè)AI算法和實(shí)現(xiàn)代碼。

到目前為止,我已經(jīng)開發(fā)過iOS項(xiàng)目,Android項(xiàng)目,小型 Windows App項(xiàng)目 參考 Windows APP時(shí)鐘 和 Web 項(xiàng)目(參考上一篇文章的Vue和Node實(shí)現(xiàn)的完整Blog項(xiàng)目),微信公眾號(hào)和小程序也有了解過,后端的話用過ASP.Net和Node.js。對目前最主流和開發(fā)平臺(tái)的開發(fā)技術(shù)都有一定的了解。如果讀者想進(jìn)入這個(gè)行業(yè)但又不知道選擇哪個(gè)平臺(tái)來入門,又或者讀者已經(jīng)熟悉了一個(gè)平臺(tái),想再選擇學(xué)習(xí)另一個(gè)平臺(tái)的技術(shù),但是不知道選哪個(gè)好,那么可以聯(lián)系我。我會(huì)幫助讀者結(jié)合自己的興趣和已有知識(shí)再加上目前各平臺(tái)的行情選擇一個(gè)合適的平臺(tái)技術(shù)學(xué)下去。

最后再給出地址學(xué)習(xí)Android開發(fā)的小項(xiàng)目,麻煩Star啦.

https://github.com/DuckDeck/AndroidDemo

與之相關(guān)

帝都三年 Java,說說我的求職之路

給編程生涯充電的 10 本書

微信號(hào):code-xiaosheng

公眾號(hào)

「code小生」

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
初學(xué)者應(yīng)該如何開啟自己的編程生涯?
Kotlin要支持iOS開發(fā)和Web開發(fā)了,這是要全棧?
干貨貼:像大牛一樣寫代碼:31 個(gè) Android 開發(fā)者工具
想用 AI 顛覆傳統(tǒng)教育,這家公司正在招募人才
這些Android優(yōu)秀開源項(xiàng)目,助你入坑 Kotlin
android顏色!那些年Android面試官常問的知識(shí)點(diǎn),大廠面經(jīng)合集
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服