Android開發雜談

使用數組循環下標出錯:

當使用

       for(int i:數組名)

當使用一次,再次循環使用時會出現下標越界問題

 

ArrayList和數組

ArrayList、List、數組之間的區別,用數組存儲Button時會出現出錯,但是使用ArrayList<Button>存儲Button操作則很順利通過。

 

Android Device Monitor

當使用Android Studio 3.0以上版本時,無法通過Tools--Android 打開Android Device Monitor,先安裝Java 的JDK,然後配置JAVA_HOME變量:

新建一個系統變量

變量名:JAVA_HOME

值:JDK安裝的路徑;

找到系統變量Path

點擊編輯

Path變量名不變

在值的後面加上

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

然後找到Android的SDK文件夾,一般在USER\AppData\Local\Android\Sdk,進入tools,找到monitor.bat,雙擊打開等約1-5秒就可以打開DDMS了。

 

Android Studio使用ADB 查詢數據庫問題:

1、ADB要使用先要加環境變量Path,路徑是:“\Android\SDK\platform-tools”

2、數據庫是在/data/data/包名/databases/ 下,記得用cd命令進入時兩邊的   "/"  都要輸入

3、sqlit3使用SQL命令查詢時記得命令後面有    "';"  例如:

select * from BOOK;
 

 

LinearLayout問題:

當使用線性佈局時,如何像百分比佈局那樣,使控件一一對齊呢?

訣竅就是把控件設置一個寬度值,之後再設定layout_weight值。

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:orientation="horizontal"
            android:weightSum="3">

            <TextView
                android:layout_width="100dp"
                android:layout_height="match_parent"
                android:text="@string/thisMonthStand"
                android:layout_weight="1"

                />

            <TextView
                android:id="@+id/thisMonthStand"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="當前數據"
                android:layout_weight="2"
                />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:orientation="horizontal"
            >

            <TextView
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="@string/lastMonthSurplus"
                android:layout_weight="1"
                android:gravity="left"

                />

            <TextView
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="當前數據"
                android:layout_weight="2"
                />

        </LinearLayout>

 

寫程序最容易出錯的是字符串,特別是涉及數據庫操作,每次沒有任何提示的出錯,優先檢查字符串有沒有拼寫錯誤。

 

EditText判斷輸入是否爲空方法:

經常需要使用EditText輸入數據,控件自身帶屬性判斷輸入數據類型,判斷是否爲空卻有很多方法:

1、"".equals(edit.getText().toString().trim()

2、android提供了一個專門判斷空字符串的方法:TextUtils.isEmpty(edit.getText())

3、edit.getText().toString()==null,這方法測試了,會出錯,edit.getText().toString()!=""也無法進行判斷

4、edit.getText().toString().length()==0,改進後改爲 edit.getText().toString().trim().length()==0

個人比較推薦第2和第4種方法。

 

從EditText讀取出數字後如何轉換數據類型及int,float等轉爲String:

主要是使用parseInt parseFloat parseDouble

public class ConvertUtil {
  
    //把String轉化爲float
    public static float convertToFloat(String number, float defaultValue) {
        if (TextUtils.isEmpty(number)) {
            return defaultValue;
        }
        try {
            return Float.parseFloat(number);
        } catch (Exception e) {
            return defaultValue;
        }
  
    }
  
    //把String轉化爲double
    public static double convertToDouble(String number, double defaultValue) {
        if (TextUtils.isEmpty(number)) {
            return defaultValue;
        }
        try {
            return Double.parseDouble(number);
        } catch (Exception e) {
            return defaultValue;
        }
  
    }
  
    //把String轉化爲int
    public static int convertToInt(String number, int defaultValue) {
        if (TextUtils.isEmpty(number)) {
            return defaultValue;
        }
        try {
            return Integer.parseInt(number);
        } catch (Exception e) {
            return defaultValue;
        }
    }
}
//Double, Float, Long 轉成字串的方法大同小異.
String s1 = String.valueOf(i);

String s2 = Integer.toString(i); 

String s3 = "" + i; 
DecimalFormat.format()輸出字符會自動進行四捨五入。

Activity的生命週期:(基本知識,但是還是要經常溫故而知新)

Activity的生命週期

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章