最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Android Studio3.5及使用AndroidX的一些坑

 更新時間:2019年11月10日 14:28:10   作者:巖漿李的游魚leo2  
這篇文章主要介紹了詳解Android Studio3.5及使用AndroidX的一些坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

google的更新優(yōu)化往往會牽動一大批開發(fā)者的心。去年的androidx,到今年studio3.5后都默認使用androidx了。其實對于我們開發(fā)者而言,我們都只是調(diào)用他的api,對我們的影響不大??!可是人性的習慣,還是比較不那么容易改變的?,F(xiàn)在我就來說說我遇到的一些坑吧。話說還是很嚴重。不知道androidx的請自行百度。

一、我們從新建一個項目說。

3.5新建項目,是默認使用androidx的

看最后一樣,Use androidx.* artifacts。而且不能取消掉的。

那么到我們項目里,這一點就對應(yīng)于我們的 gradle.properties文件里的2句話

android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

1.1、那么這兩句話代表什么呢

意思就是,你所用的support的包,他會自動幫你遷移到androidx里。這里舉個例子(接下來的例子出現(xiàn)的bug是針對系統(tǒng)庫的),比如我們之前經(jīng)常會用support里的AppBarLayout組合CoordinatorLayout實現(xiàn)很酷炫的效果。我們都知道,這個是在support的design里。那么我們還是把它添加進去, 注意:studio3.5后添加包會有點不一樣

右鍵你的項目,選中Open Module Setting

在打開的界面,選中Dependencies,點擊里面的加號,繼續(xù)選擇Library Dependency

在搜索框里,搜索design。出現(xiàn)一堆(androidx的版本就是這樣選擇的),這里我們選擇com.android.support

選擇加入后,studio會自動build,并加入依賴。build.gradle會加上

implementation 'com.android.support:design:28.0.0'

注意:此時你去xml打上AppBarLayout,并不會提示,甚至根本就沒有。個人覺得的是因為studio3.5優(yōu)化的太好了,不會隨便你幫我們rebuild項目,也不知道是不是bug;這個時候點擊build --> Rebuild Project,項目。之后xml使用正常,如下

<com.google.android.material.appbar.AppBarLayout
  android:layout_width="match_parent"
  android:layout_height="?actionBarSize"/>

你會發(fā)現(xiàn),這里不是support的包,點進去已經(jīng)是遷移完的androidx的包。正是因為 gradle.properties 那兩句話,幫我們完成了。build.gradle顯示的還是support的包,怎么辦

額外注意:就如上面說的那個類似bug的問題,假如此時你再build.gradle去掉了這個依賴,如果按之前的操作,我們都會點擊Sync Projec with Gradl Files,去更新下。之后項目就沒這個包了。沒錯,studio3.5也是這樣,但是你再xml里,繼續(xù)打AppBarLayout后,依舊會提示,而且xml里不報錯,能運行。只是運行后,才會崩潰報錯。正確做法還是需要,在去掉依賴后,繼續(xù)點擊下Rebuild Project,這時候才會正常。(感覺這個時候就是bug了)

二、一鍵將build.gradle的support包改成andoridx

點擊 Refactor --> Migrate to AndroidX

后續(xù)一直點默認,我這里就不貼圖了,直接說操作,Migrate --> (選擇我們的項目,點擊OK) --> YES。后會彈出下圖,

點擊Do Refactor。之后,那么'com.android.support:design:28.0.0'會直接改變成響應(yīng)的androidx包

implementation 'com.google.android.material:material:1.0.0'

三、可能有些人升級了studio,但是卻不像使用androidx

正確做法是,把 gradle.properties 里那2句話去掉。同時,把你的build.gradle改成你之前的support包。我們知道support包最后一版本是28。之后一切導包,都不會在遷移了。是support,就是support包。

希望本篇能幫助一些人。再放一個support遷移到androidx的對照 support To androidx

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

汝南县| 博爱县| 弋阳县| 凯里市| 威信县| 冷水江市| 高碑店市| 达拉特旗| 布尔津县| 龙里县| 宾川县| 阿克苏市| 蓬安县| 玉门市| 永城市| 荆门市| 化德县| 金溪县| 乌拉特前旗| 城口县| 赤峰市| 禄丰县| 石门县| 图们市| 揭东县| 会宁县| 永春县| 永嘉县| 五莲县| 高尔夫| 鲁山县| 长汀县| 安溪县| 武宁县| 虹口区| 东安县| 军事| 长春市| 东宁县| 乌海市| 阳泉市|