Android基礎第一天易忘部分

我叫阿狸貓發表於2014-05-15

1.gravity:控制當前控制元件內容顯示區域

<Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="按鈕1" />


2.layout_gravity:當前控制元件在父元素的位置   這個屬性可以用在LinerLayoutFrameLayout,和它效果一樣的是RelativeLayout的alignParentTop|Bottom|Left|Right。

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="按鈕2" />

3.layout_alignBaseline:與指定控制元件在同一直線上,也就是中心點對齊。

4.常見的密度比值:   px除以dp的值

240*320的密度比值是:0.75

320*480的密度比值是:1.0

480*800的密度比值是:1.5


5.冒煙測試(瞎按)

adb shell monkey -p 包名 -v 1000

用來測試app程式的,v後面是指操作的次數


6.安卓許可權




7.Xml解析的時候需要注意的是

獲取標籤裡的內容的時候用的是parser.nextText()而不是parser.getText()


8.SharedPreference建立的xml只需要指定檔名,不需要字尾名。

而XmlSerializer和XmlPullParser建立的xml需要指定字尾名。


1.TableLayout的TableRow的寬度就算設定了也是match_parent

2.Android 4.0之前讀SD卡是不需要許可權的,但是4.0之後可以在手機上開發者選項設定SD卡讀防寫,這時再讀SD卡必須要讀SD卡的許可權(模擬器可能不支援,真機沒問題)

3.如果希望按比重來分配元件佔用寬度或高度的話,可以在容器中先設定容器的比重和。android:weightSum=“2”,如果不設定那麼系統就會查詢容器中每個元件的android:layout_weight屬性,加起來後就是android:weightSum。

4.下圖的用android:layout_weight畫


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <Button 
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="上面"/>
    <!-- 中間的Button設定layout_weight屬性後就會填充中間部分 -->
    <Button 
        android:layout_weight="1"
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="中間"/>
    <Button 
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="底下"/>
</LinearLayout>


5.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/zj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="正中間" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:text="左邊" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="右邊" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="上邊" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="下邊" />

    <Button 
        android:layout_alignTop="@id/zj"
        android:layout_toLeftOf="@id/zj"
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="左"/>
    
    <Button 
        android:layout_above="@+id/zj"
        android:layout_width="wrap_content"
        android:layout_centerHorizontal="true"
    	android:layout_height="wrap_content"
    	android:text="上"/>
    
    <!-- 
    	layout_alignBaseline與指定元件的中心線對齊
     -->
    <Button 
        android:layout_alignBaseline="@id/zj"
        android:layout_toRightOf="@id/zj"
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="右"/>
    
    <Button 
        android:layout_below="@id/zj"
        android:layout_centerHorizontal="true"
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="下"/>
</RelativeLayout>


6.Android路徑

getApplicationContext().getFilesDir();    /data/data/包名/files/  系統自帶的清除資料功能是會將這個應用資料夾下的內容清空(清空該包下除lib外所有的包,這樣可能導致程式執行錯誤或者資料錯誤)
getApplicationContext().getCacheDir();  /data/data/包名/cache/      清理快取的軟體清理的是這個資料夾下的內容,所以這裡儘量存無關緊要的快取檔案

FileOutputStream fos = openFileOutput("haha.txt", Context.MODE_WORLD_READABLE);    開啟一個叫haha.txt檔案的輸出流   /data/data/包名/files/haha.txt    第一個引數被開啟的檔案   第二個引數檔案的許可權  可讀、可寫

File sdCardFile = Environment.getExternalStorageDirectory();   /mnt/sdcard/獲取手機SD卡路徑


7.Android的API提供的睡眠方法SystemClock.sleep(1000);

SystemClock.sleep(1000);//這個方法是android的API提供的睡眠,和下面的區別是不需要抓取異常
try {
	Thread.sleep(1000);
} catch (InterruptedException e) {
	e.printStackTrace();
}



相關文章