一.java都沒咋學好你有什么勇氣學習Andriod開發(fā)证逻?
到目前為止(2018/1/28)我大概只算是java入門吧殖侵,畢竟我只是再慕課網(wǎng)上看完了3季的java入門課程,再實驗樓學習了一下健芭,大概敲了1000多行代碼吧坷虑,好在之前學過C#,也用C#開發(fā)過幾個像樣的網(wǎng)站(好像關系不大,畢竟我只是用C#來訪問數(shù)據(jù)庫)养泡,總之就是自學過幾天java se嗜湃。這么急忙的上手Android的開發(fā)奈应,是因為假期里時間比較多,就想自己瞎折騰一下购披;還有就是想借學習Android實戰(zhàn)一下自己所學的java知識钥组,小學生都學習python了,弄的我壓力一直好大今瀑。幾天學習下來,感覺問題不大点把,其實只是Android 入門的話橘荠,大概java也只需要入門吧。
二.Android開發(fā)環(huán)境的搭建
逛了一下知乎郎逃,發(fā)現(xiàn) Android studio 比eclipse好一些哥童,畢竟Android studio是google開發(fā)的專門用于Android 開發(fā)的工具,比較有名的android入門書籍《第一行代碼》第二版也是用的Android studio,我用下來感覺是這玩意兒太智能了褒翰,代碼自動補全功能相當強大贮懈,和pycharm差不多吧,比visual studio好用优训。
1:準備工作
--JDK:這個應該不用準備吧朵你,畢竟你的電腦上肯定已經(jīng)有了,沒有的話只能說明java都沒學揣非。
--Android SDK :Android開發(fā)工具包抡医,在開發(fā)java程序時需要引入該工具包,來使用Android相應的API,也可之前不下在早敬,安裝Android studio時忌傻,軟件會提醒我們一并安裝
--Android studio : google被墻,不過好在有中文社區(qū)http://www.android-studio.org/
下載速度還行搞监,3.0版681M水孩,點擊這個安裝文件,傻瓜式操作大多步驟都是默認然后next就行了琐驴,會幫我們安裝Android studio 和Android sdk
2:走過的坑
2-1.安裝結束俘种,剛要創(chuàng)建project時,彈出unable to access android sdk add-on list
不能成功將android sdk 添加到列表(大概好像是這樣翻譯的吧)棍矛,總之就是android sdk 沒有安裝成功安疗,走了點彎路,我找到了android skd 的安裝路徑够委,有個sdk manage.exe 的可執(zhí)行文件荐类,我們執(zhí)行一下這個文件,至于上面的AVD manage.exe是安卓虛擬設備茁帽,既然是安卓開發(fā)玉罐,那肯定需要它了屈嗤,當我們也可以用真機來跑測試,回到sdk.mamage,
三.創(chuàng)建項目
1.填寫應用名稱吊输,公司域名
2.這里的minimum sdk是可兼容的最低版本饶号,我選擇API 15 也就是android 4.0版,這應該可以兼容目前為止 所有的Android 手機了吧季蚂,畢竟Android 都出到8.0版了茫船,
其他選項是電視,穿戴設備扭屁,汽車應用的軟件開發(fā)
3.接下來就是創(chuàng)建活動了算谈,這里我們選擇Empty Activity來創(chuàng)建一個活動
4.填寫活動名,和布局名,點擊fish
5.項目就創(chuàng)建好了
6.創(chuàng)建Android 模擬器
點擊最左邊的按鈕
選擇合適的虛擬設備
選擇版本料滥,這里我選擇adnroid7.0,其他版本然眼,如果顯示null 點擊downlo下載即可
最后確認一遍模擬器的配置,點擊finish即可
7.體驗模擬器
這模擬器葵腹,還有有那么一點點高端的呢
這里有兩個問題:
7-1.最后finish那高每,是灰色即創(chuàng)建不了模擬器,這里大概原因是電腦中的某個東東不允許你創(chuàng)建模擬器!
解決方法:重啟電腦践宴,電腦還沒開機之前按F2 進入BIOS界面 進入Configration,將lnterl Vitual Technology [Disable] 改為Enabled, 這時打開Android studio鲸匿,就可以創(chuàng)建虛擬機了,同時我還想說一句浴井,我只是想看到晒骇,編程界的經(jīng)典語句"Hello World ",我容易嗎
7-2.啟動了模擬器磺浙,電腦會有些卡頓洪囤,在敲代碼時,智能提示可能不會出來撕氧,就連回車都有延遲瘤缩,我的解決方式是每次運行完程序都關閉模擬器,于是每次運行程序都要重啟模擬器伦泥,大概需要2分鐘左右才能運行一遍程序剥啤,體驗極差;還有就是一些功能只能運行在真機上面不脯,例如手機到運用手機的多媒體府怯,調用手機攝像頭等,這時只能用真機防楷。方法很簡單牺丙,電腦上安裝360手機助手即可,因為每次運行都要將程序安裝到手機上,所以手機設置時要允許通過USB安裝程序
8.運行程序
what? 一行代碼都沒寫就運行程序冲簿,還有這種操作粟判,先別急,我們先運行一下看看峦剔。
看到菜單欄有這么一個東西档礁,左邊的小錘是編譯程序,中間貌似可以同過下拉列表框選擇東西吝沫,沒錯呻澜,它就是選擇你想要運行的程序,最右邊運行程序
點擊就會讓你選擇運行程序的設備惨险,最上面時我本人的android 手機易迹,下面時我們剛剛創(chuàng)建的虛擬設備
四.分析我的第一個android 程序
我們把項目結構從android模式,切換到project模式平道,可以看到如下的結構
-
.gradle和.idle
android studio 自動生成我一些文件,無需關心
2.app
項目代碼和資源幾乎都放在這個目錄下
2-1.bulid:目錄里主要包含編譯時自動生成的一些文件供炼;
2-2.lib:如果項目中用到第三方的jar包一屋,就需要把這些jar包,放在lib目錄下袋哼,這個目錄下的jar包會自動的添加進構建路徑里去
2-3.android test :編寫android test測試用例的,用于進行一些自動化測試
2-4.java:編寫java程序
2-5.res:放置項目中用到的所有圖片冀墨,字符串,布局資源涛贯,其中圖片放在drawable目錄下诽嘉,布局放在layout目錄下,字符串放在values目錄下
2-6.AndroidManifest.xml
整個項目的配置文件弟翘,項目中用到的所有組件都需要在這個文件下注冊虫腋,此外還可以為應用程序添加權限聲明
2-7.test: 再該文件下編寫unit test測試用例
2-8.proguard-rules.pro:指定代碼的混淆規(guī)則,防止代碼被別人破解
其他的目錄大多無需關心稀余。
五.代碼分析悦冀。
1.java代碼
MainActivity繼承于AppCompatActivity,可以將Activity在各個版本系統(tǒng)新的功能和特性向下兼容,onCreate 方法的最后一行 調用了setContentView()方法為當前的活動引入了一個名為activity_main的布局睛琳,setcontent()方法盒蟆,我們傳進去的參數(shù)一般是一個布局文件的id,項目中的如何資源都會在R文件中生成一個唯一的id,因此我們用R.layot.布局文件名,接下來就來看看布局文件师骗;
2.布局文件(layout目錄下)
左邊是它的代碼历等,我們可以在最后一行看到 hello world 的字樣,同時我們在右邊的設計視圖下也看到了辟癌,hello world的內(nèi)容寒屯。我們之前說過組件都需要在AndroidMianifest.xml中注冊的,那我們再來看看這個文件吧
3.在AndroidMianfest中注冊
這里最重要的就是愿待,一個應用程序會有很多個活動浩螺,當程序啟動的時候靴患,我們需要指定首先啟動哪一個活動,這時就用到了<intent-filter></intent-filter>,inttent-filter 中的兩行代碼很關鍵要出,<actoin android:name="android.intent.action.MAIN"> ,<category android:name = "android.intent.category.LUANCHER">,表示MainActivity是這個活動的主活動鸳君。當點擊這個App時首先啟動的就是這個主活動。