成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

android開發(fā)的項(xiàng)目,android開發(fā)項(xiàng)目實(shí)戰(zhàn)

Android 手把手帶你搭建一個(gè)組件化項(xiàng)目架構(gòu)

作為一個(gè)單工程擼到底的開發(fā)人員,想試著將項(xiàng)目進(jìn)行組件化改造,說動(dòng)就動(dòng)。畢竟技術(shù)都是寫出來的,看著文章感覺懂了,但是實(shí)際開發(fā)中還是能遇到各種各樣的問題,開始搞起來。

為市中等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及市中網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、市中網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

一直使用單工程擼到底,項(xiàng)目越來越大導(dǎo)致出現(xiàn)了不少的問題:

將 一個(gè)程序按照其功能做拆分,分成相互獨(dú)立的模塊 ,以便于每個(gè)模塊只包含與其功能相關(guān)的內(nèi)容,比如 登錄模塊 、 首頁模塊 等等。

組件指的是單一的功能組件,如 登錄組件 、 視頻組件 、 支付組件 等,每個(gè)組件都可以以一個(gè)單獨(dú)的 module 開發(fā),并且可以單獨(dú)抽出來作為 SDK 對(duì)外發(fā)布使用??梢哉f往往一個(gè)模塊包含了一個(gè)或多個(gè)組件。

組件化基于可重用的目的,將應(yīng)用拆分成多個(gè)獨(dú)立組件,以 減少耦合 :

組件依賴關(guān)系是上層依賴下層,修改頻率是上層高于下層。先上一張圖:

基礎(chǔ)公共模塊,最底層的庫:

這只是個(gè)大概,并不是說必須這樣,可以按照自己的方式來。比如:你覺得基礎(chǔ)組件比較多導(dǎo)致project里面的項(xiàng)目太多,那么你可以創(chuàng)建一個(gè)lib_base,然在lib_base里面再創(chuàng)建其他基礎(chǔ)組件即可。

這樣盡可能的減少變動(dòng)項(xiàng),當(dāng)然這僅僅是個(gè)建議,看個(gè)人習(xí)慣吧。

因?yàn)樵蹅儎?chuàng)建的是一個(gè)module,所以在AndridManifest中添加android:exported="true"屬性可直接構(gòu)建一個(gè)APK。下面咱們看看如何生成不同的工程類型。

在 AndroidStudio 開發(fā) Android 項(xiàng)目時(shí),使用的是 Gradle 來構(gòu)建,具體來說使用的是 Android Gradle 插件來構(gòu)建,Android Gradle 中提供了三種插件,在開發(fā)中可以通過配置不同的插件來構(gòu)建不同的工程。

獨(dú)立調(diào)試 :設(shè)置為 Application 插件。

集成調(diào)試 :設(shè)置為 Library 插件。

isDebug = true 獨(dú)立調(diào)試

根據(jù)上面動(dòng)態(tài)配制插件的經(jīng)驗(yàn),我們也需要在build.gradle中動(dòng)態(tài)配制ApplicationId 和 AndroidManifest 文件。

有什么不同?咱們一起看看具體內(nèi)容。

isDebug = true

isDebug = false

當(dāng)我們需要進(jìn)行插件版本、依賴庫版本升級(jí)時(shí),項(xiàng)目多的話改起來很麻煩,這時(shí)就需要我們對(duì)Gradle配置統(tǒng)一管理。如下:

具體內(nèi)容

Android 中的界面跳轉(zhuǎn)那是相當(dāng)簡(jiǎn)單,但是在組件化開發(fā)中,由于不同組件式?jīng)]有相互依賴的,所以不可以直接訪問彼此的類,這時(shí)候就沒辦法通過顯式的方式實(shí)現(xiàn)了。

所以在這里咱們采取更加靈活的一種方式,使用 Alibaba 開源的 ARouter 來實(shí)現(xiàn)。

文檔介紹的蠻詳細(xì)的,感興趣的可以自己實(shí)踐一下。這里做個(gè)簡(jiǎn)單的使用。

先在統(tǒng)一的 config.gradl e添加版本等信息

因?yàn)樗械墓δ芙M件和業(yè)務(wù)組件都依賴lib_common,那么咱們先從lib_common開始配制

lib_common

其他組件(如collect)

你要跳轉(zhuǎn)的 Activity

這里是用 module_main 的HomeFragment跳轉(zhuǎn)至 module_collect 的CollectActivity界面,兩個(gè)module中不存在依賴關(guān)系。 "/collect/CollectActivity" 在上面已注冊(cè)就不多描述了。

效果如下:

這里是用 module_main 的MineFragment的Adapter跳轉(zhuǎn)至 module_webview 的WebViewActivity界面,兩個(gè)module中同樣不存在依賴關(guān)系。

啟動(dòng)方

這里傳了兩個(gè)參數(shù) url 和 name 到WebViewActivity,下面咱們看看WebViewActivity怎么接收。

接收方

上效果圖:

搞定,更多高級(jí)玩法可自行探索。

W/ARouter::: ARouter::There is no route match the path

這里出現(xiàn)個(gè)小問題,配置注釋都好好的,但是發(fā)送發(fā)無論如何都找不到設(shè)置好的Activity。嘗試方案:

后來修改Activity名稱好了。

界面跳轉(zhuǎn)搞定了,那么數(shù)據(jù)傳遞怎么辦,我在module_main中使用懸浮窗,但是需要判斷這個(gè)用戶是否已登錄,再執(zhí)行后續(xù)邏輯,這個(gè)要怎么辦?這里我們可以采用 接口 + ARouter 的方式來解決。

在這里可以添加一個(gè) componentbase 模塊, 這個(gè)模塊被所有的組件依賴 。

這里我們通過 module_main組件 中調(diào)用 module_login組件 中的方法來獲取登錄狀態(tài)這個(gè)場(chǎng)景來演示。

lib_common

所有業(yè)務(wù)組件和功能組件都依賴lib_common,所以咱們直接在lib_common添加依賴即可

module_login

實(shí)現(xiàn)接口

運(yùn)行結(jié)果:

本文介紹了組件化、組件分層、解決了組件的獨(dú)立調(diào)試、集成調(diào)試、頁面跳轉(zhuǎn)、組件通信等。

其實(shí)會(huì)了這些后你基本可以搭建自己的組件化項(xiàng)目了。其實(shí)最大的問題還是分組分層、組件劃分。這個(gè)就需要根據(jù)你的實(shí)際情況來設(shè)置。

本項(xiàng)目比較糙,后面會(huì)慢慢完善。比如添加Gilde、添加MMVK、添加Room等。

項(xiàng)目傳送門

Android開發(fā)項(xiàng)目過程是怎樣

第一步,先打開eclipse。打開后的界面如如圖所示,學(xué)過java的人肯定都熟悉這個(gè)編程環(huán)境,沒學(xué)過java的請(qǐng)先去學(xué)習(xí)java,因?yàn)閍ndroid使用的是java的語法。

點(diǎn)擊左上角的filenewandroid application project , 以此開始新建一個(gè)android項(xiàng)目。

點(diǎn)擊新建后悔出現(xiàn)如下所示的窗口。第一個(gè)紅框是讓你寫你應(yīng)用的名字,就是軟件的名字;第二個(gè)紅框是寫這個(gè)項(xiàng)目的名字;第三個(gè)紅框是寫java代碼包的名字。第四個(gè)大的紅框是讓你選擇你要新建的android項(xiàng)目的一些信息,開發(fā)的sdk版本和面向的android版本和使用的主題。完成后,點(diǎn)擊NEXT。

這個(gè)窗口是在詢問你是不是創(chuàng)建一個(gè)自定義圖標(biāo)的軟件,是否要?jiǎng)?chuàng)建activity等。完成后,點(diǎn)擊NEXT

這個(gè)窗口允許你更換你軟件的圖標(biāo)。和其它的一些信息。完成后,點(diǎn)擊NEXT

這個(gè)窗口讓你選擇一種你軟件activity要使用的樣式。完成后,點(diǎn)擊NEXT

這個(gè)窗口讓你輸入你想要的activity的名字和你想要的layout的名字。完成后,點(diǎn)擊NEXT

好了一切設(shè)置好惦記finish后悔出現(xiàn)如下所示的窗口,最左側(cè)是你項(xiàng)目的分層結(jié)構(gòu)等信息,左上角大部分顯示的是軟件當(dāng)前默認(rèn)的layout和操作layout的工具欄等。到此為止,你已經(jīng)成功的創(chuàng)建了一個(gè)android項(xiàng)目。

如何創(chuàng)建一個(gè)Android開發(fā)項(xiàng)目

工具/材料

電腦

android studio

01

從網(wǎng)上下載并安裝Android Studio然后打開它?,F(xiàn)在,你準(zhǔn)備好開始你的第一個(gè)Android應(yīng)用程序!

首先是這個(gè)android項(xiàng)目的項(xiàng)目名,在這里進(jìn)行輸入即可

注意,這里我們使用的android studio的版本為2.2

一直下一步,等待一定的時(shí)間,這取決于你機(jī)器的配置,android studio最為谷歌官方唯一指定的android項(xiàng)目開發(fā)ide,具有超高度的功能集合性,同時(shí)后面我們會(huì)看到android studio采用和eclipse不同的編譯方式,即Gradle編譯,以及采用云資源模式(服務(wù)器全在海外,部分功能需要翻墻才能使用,醉了),所以,不要對(duì)其卡慢抱有不滿情緒.

02

選擇對(duì)應(yīng)的android sdk版本,android像ios一樣,也有很多分類版本了,從低到高,還有像android wear(手表), android TV(電視),android auto(車載)等各種版本,選擇你要將這個(gè)項(xiàng)目跑到什么設(shè)備上邊去,以及系統(tǒng)的版本,這里我們選擇android手機(jī)項(xiàng)目,版本可以選擇4.0,目前4.0基本就是最低版本,當(dāng)然微信,qq,支付寶之類的都是一直支持到2.3版本的

03

這里是android項(xiàng)目的布局文件,目前因?yàn)槲覀冞@個(gè)項(xiàng)目只有一個(gè)主窗口,這個(gè)布局文件就是屬于主窗口的,這里記錄的這個(gè)窗口中有哪些控件,以及這些控件的位置和排列模式,像TextView就是一個(gè)文本控件,而RelativeLayout則是布局控件,用于控制控件的布局。

04

這就是穿著中的gradle編譯的編譯配置文件了,里面包含了編譯中的各種配置選項(xiàng),對(duì)于從eclipse中轉(zhuǎn)過來的人來說,要搞懂這里的各種配置可是要費(fèi)不少腦子的哈!

05

這是android項(xiàng)目的清單文件,這里包含了這個(gè)應(yīng)用程序的圖標(biāo)設(shè)置,以及activity等,activity是android四大組件之一,可以直觀理解為我們看到的一個(gè)個(gè)的窗體,凡是需要顯示出來的activity,都需要在這里注冊(cè)寫明

06

這里是窗口的java主類,android的主要編程語言是java語言,當(dāng)然也有支持c++編程的ndk,以及現(xiàn)在很火的前端腳本編寫android項(xiàng)目的方法,這個(gè)類表示主窗口,OnCreat()方法會(huì)在這個(gè)界面被啟動(dòng)的時(shí)候執(zhí)行。

07

點(diǎn)擊這里即可運(yùn)行這個(gè)由系統(tǒng)為我們編寫好android項(xiàng)目了,沒錯(cuò),這已經(jīng)是一個(gè)完成的android項(xiàng)目,只是比較簡(jiǎn)單而已,但主要部件都不少。

08

我們啟動(dòng)的應(yīng)用就是跑在這里的模擬器當(dāng)中的,我們可以創(chuàng)建自己的模擬器,自由的對(duì)模擬器的配置進(jìn)行自定義,包括模擬器的系統(tǒng)版本

09

完美,我們的第一個(gè)應(yīng)用程序已經(jīng)跑起來了,雖然只是顯示了一個(gè)Hello World文本,不過怎們樣都算完成了一個(gè)android應(yīng)用程序,后續(xù)只要對(duì)其進(jìn)行打包簽名,混淆加密后即可發(fā)布到應(yīng)用市場(chǎng)供別人下載使用.

網(wǎng)頁名稱:android開發(fā)的項(xiàng)目,android開發(fā)項(xiàng)目實(shí)戰(zhàn)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article38/dssoppp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)品牌網(wǎng)站制作、網(wǎng)站制作、微信小程序、網(wǎng)站維護(hù)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)