萬(wàn)事開(kāi)頭難
小弟長(zhǎng)期以來(lái)混跡iOS開(kāi)發(fā),越來(lái)越覺(jué)得需要自己拓展下未來(lái)的道路!開(kāi)始選擇Flutter這個(gè)新生框架。學(xué)習(xí)Flutter框架前先要學(xué)習(xí)框架的語(yǔ)言。
Dart語(yǔ)言
Dart是谷歌開(kāi)發(fā)的計(jì)算機(jī)編程語(yǔ)言,后來(lái)被Ecma(ECMA-408)認(rèn)定為標(biāo)準(zhǔn)[1] 。它被用于web、服務(wù)器、移動(dòng)應(yīng)用[2] 和物聯(lián)網(wǎng)等領(lǐng)域的開(kāi)發(fā)。它是寬松開(kāi)源許可證(修改的BSD證書(shū))下的開(kāi)源軟件。(引自百度)
IDE選擇
習(xí)慣了Xcode的蘋(píng)果開(kāi)發(fā)人員,選擇新的開(kāi)發(fā)環(huán)境的時(shí)候,對(duì)IDE的選擇還真是費(fèi)了點(diǎn)時(shí)間。
在這我簡(jiǎn)單說(shuō)下我的選擇僅供參考:
學(xué)習(xí)Dart語(yǔ)言使用:
-
1.png
后兩個(gè)是學(xué)習(xí)Flutter時(shí)候使用
-
2.png
3.png
其中AndroidStudio就可以完成Flutter的開(kāi)發(fā),只是AndroidStudio太大。沒(méi)有VisualStudioCode(后面就簡(jiǎn)稱VSCode)插件多,而且還能支持中文哦?。ㄊ遣皇呛荛_(kāi)心)只是VSCode無(wú)法現(xiàn)在安卓模擬器,我們需要借助AndroidStudio來(lái)完成模擬器下載。所以我建議用AndroidStudio下載模擬器,以后就用VSCode來(lái)開(kāi)發(fā)Flutter。下載完IDE還需要配置下,下載對(duì)應(yīng)的插件才能運(yùn)行環(huán)境,關(guān)于環(huán)境的配置網(wǎng)上很多也很全面,我這里不再敘述。
關(guān)于在Mac下用命令行啟動(dòng)安卓模擬器
因?yàn)槲沂怯肰SCode開(kāi)發(fā),所以每次都要用AndroidStudio開(kāi)啟模擬器后,運(yùn)行程序。這樣很繁瑣,于是我就在網(wǎng)上找了用命令行來(lái)開(kāi)啟模擬器的方法,來(lái)提高效率。
emu.sh文件
pushd ${ANDROID_HOME}/emulator
emulator -avd Nexus_5X_API_28
popd
Nexus_5X_API_28是在AndroidStudio中模擬器名字,在AndroidStudio中模擬器名字的空格以‘_’來(lái)代替。這里的意思是打開(kāi)Nexus_5X_API_28

.bash_profile里配置路徑
export ANDROID_SDK_ROOT=/Users/XXX/Library/Android/sdk
export PATH=$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/emulator:$PATH
XXX是你自己Mac電腦用戶名。這個(gè)路徑如下圖:

配置好以后,你就可以在終端中輸入emu.sh直接打開(kāi)指定的模擬器。
特別注意下
如果你不會(huì)配置,那就不配置了。(學(xué)習(xí)的道路上我也是走了些彎路,雖然上面的沒(méi)用了,我還是記錄下來(lái)了還是學(xué)到了些新東西)因?yàn)楹髞?lái)我發(fā)現(xiàn)VSCode中有直接打開(kāi)模擬器的地方。
右下角如圖:

選擇No Devices,就會(huì)在上方列出模擬器,你也可以選則直接打開(kāi)。
安卓模擬器無(wú)法聯(lián)網(wǎng)問(wèn)題
習(xí)慣了Xcode中下載模擬器后就不用配置直接能上網(wǎng),在學(xué)習(xí)Flutter中用到網(wǎng)絡(luò)圖片下載展示,圖片沒(méi)有展示。因?yàn)榘沧磕M器需要配置下,才能有網(wǎng)絡(luò),搗鼓半天才找到一個(gè)可靠方案。
// 設(shè)置android模擬器網(wǎng)絡(luò)網(wǎng)絡(luò)
cd到(/Users/XXX/Library/Android/sdk/emulator路徑里)
emulator @Nexus_5X_API_28 -dns-server 8.8.8.8,114.114.114.114
將Nexus_5X_API_28模擬器DNS設(shè)置下。


