android 學習筆記一

入門文檔推薦css

http://hukai.me/android-training-course-in-chinese/basics/firstapp/starting-activity.htmlhtml

剛剛開始不太清除項目對應關係,和文件關係,請必定用android studio來開發/學習前端

android 文件大類(入門理解看看就好)java

    三大類      佈局文件 資源文件 邏輯文件  android

    佈局文件. xml 

這個文件位於layout文件夾下,這個文件下都是都是佈局文件(android studio 自動生成)web

關於xml文件裏的內容,其實和html數據十分類似的概念,只是名字不一樣和一些android的一些不一樣的概念(大致上仍是十分類似的)typescript

正常的web開發中,咱們的html 元素有<div> <span> ....等等一些標籤,和一些自定義標籤 和 標籤中的屬性 id class style 樣式之類的屬性。數據庫

android它也有一套本身的標籤類 像是這些  <EditText/>  <Button/>.. 等等數組

舉例,咱們定義一個android 的button 按鈕app

<Button
        android:id="@+id/ebutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="sendMessage"
        android:text="@string/a_button" />

上面是一個簡單的按鈕組件,首先看到的是他的定義Button 大寫開頭,明確的聲明瞭一個button按鈕

而後第一個屬性android:id = "@+id/ebutton",這裏實際上是給這個button按鈕聲明瞭一個id 相似於 html 中的 <div id = xxx>

視圖的惟一標識符(android:id)

它們的區別?爲何android聲明id時上面會有@+id/這個奇怪的東西?

文檔中聲明@+id/

@表示這個屬性是一個會被其餘地方引用到的類型 。+號表示這個資源第一次使用須要被建立 .id這是資源類型/ 以後就是它的名稱

我須要引用一個資源@+它的類型是id 寫成 @+id/name  (這裏的引用其實就是在邏輯文件中使用)

接下來的android:layout_width 和 android:layout_height 很明顯的意思 設置按鈕組件的佈局高寬,

這裏其實高寬能夠本身定義數組 100 10之類的 可是android 的高寬佈局有咱們上面寫的 warp_content 意思就是按照內容來佔用空間

還有其餘按照權重比來分配空間相似於css中的flex:1 這樣的屬性 在android中它的名字叫 android:layout_weight="1"

這裏有一個要十分注意的重點,當你設置權重比例時,那麼你就不能在使用 android:layout_width=warp_content 之類的。

咱們能夠的把android:layout_width顯示的設置成 android:layout_width="0dp"

android:onClick="sendMessage" 這個也很好理解他聲明瞭,這個按鈕組件他有一個onclick事件,事件名稱是sendMessage,

這個名字很重要,由於你的android的邏輯觸發事件方法也必須是這個名字 相似html 中我給一個div聲明瞭一個點擊事件

<div onclick = onc >

<script>function onc() {console.log(這是一個事件函數)}</script>

android:text="@string/a_button" 前面說過,若是咱們要引用資源時須要使用@這個就是引用了一個文本資源,這個資源就是android的資源類型(稍後再說)

簡單的說,android的xml 佈局文件,它提供了相似於html的功能 展現組件,組件佈局 事件的聲明。

 

資源文件.xml

前面說到過,咱們須要引用一個資源的時候,須要使用@來表示應用,若是第一次建立還須要+類型的名稱。

<Button
        android:id="@+id/ebutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="sendMessage"
        android:text="@string/a_button" />

   仍是這個按鈕組件,繼續上面說的android:text="@string/a_button" 這裏能夠理解成,引用一個string 類型 他的名稱叫作a_button

那麼這個a_button存在哪裏呢,其實這就是存儲在資源文件中,已經聲明的資源數值。

進入項目目錄,打開res目錄,values下,會有多個xml這裏存放的一些資源文件,也是xml。

打開一個叫作strings.xml的文件,咱們能夠在這裏定義 字符串資源

// 定義一個資源
// resources 資源

<resources>
 <string name="a_button">It is Button</string>
</resources>

    這裏咱們上面的button組件,引用的字符串類型就有了

資源類型有許多,其實一些圖標文件也是使用xml儲存起來的。能夠用@來引用他們

例如colors.xml這裏可能存着多是顏色樣式的值。和drawable文件夾下的一些xml文件這裏可能存放這圖標文件

其實資源文件有點像css文件在web前端中起到的做用,定義了一些經常使用的顯示數據庫,經過設置在組件中展現出來。

好比css中的content:'string'

 

邏輯文件.java

這些java文件控制組件的交互,轉跳,信息傳遞,相似於web中的Javascript起到的做用,可是語法很是不一樣,若是理解typescript 

對java仍是能夠很快的簡單上手使用一些簡單的邏輯

相關文章
相關標籤/搜索