1. 程式人生 > >android專案“唐詩宋詞”總結

android專案“唐詩宋詞”總結

前段時間(大約在2010-6-20至2010-9-20之間)開發了一個android的“唐詩宋詞”程式。該程式收錄了2600多首唐詩宋詞,功能主要有三個方面,一是根據唐詩或者宋詞,顯示所有作者,二是根據作者顯示所有該作者的所有作品,然後使用者點選某個作品則可以瀏覽該詩詞,三是根據使用者輸入的關鍵字搜尋顯示對應的詩詞。
然後把在開發這個程式過程中,所得到的一些知識(也許存在個人誤解的),做個總結和備忘吧。也算是一個專案完結的紀念。知識點如下:
1.android程式開發完後,在eclipse中籤名步驟如下,
1)在Package Explorer檢視中選擇該專案,右鍵,選擇Android Tools,再選擇Export Signed Application Package,再點選Next
2)如果已經有keystore,則輸入密碼,一直Next到結束,如果沒有keystore,則按照提示重新建立一個keystore。

2.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
android:layout_width和android:layout_height設為"wrap_content",LinearLayout的android:gravity="center"
才把TextView設為想要的居中效果。

3.TextView中加入"\n"會自動換行

4.SQLiteOpenHelper中的
@Override
public void onCreate(SQLiteDatabase db)
{
// TODO Auto-generated method stub
db.execSQL(DataBaseUtil.DB_CREATE_KINDS);
}
方法是資料庫(不是資料表)第一次建立時,執行的方法,如果你已經建立了資料庫,下次通過helper.getWritableDatabase();時,
也不會呼叫此方法。所以如果你在其中建立資料表,必須把資料庫也刪去,資料表才會重新建立,否則還是之前建立的資料表。

5.sqlite3 的 .import的用法
.import用處是把檔案匯入表,步驟如下
1)建立一個表,比如kinds _id kind
2)建立一個檔案kinds.txt 裡面內容是
[email protected]
唐詩
[email protected]宋詞
3)開啟虛擬機器,用adb push 把kinds.txt複製到databases資料夾裡
adb push G:\kinds.txt data/data/com.poem.activity/databases
4)用adb shell連線虛擬機器,並進入databases資料夾,然後用sqlite3 poems.db連線該虛擬機器的資料庫
5) sqlite> .separator "@"
sqlite> .import kinds.txt kinds

6.Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
安裝記憶體不足
http://www.eoeandroid.com/thread-2794-1-1.html
可以在起emulator的時候加個引數
例:-partition-size 120
表示記憶體大小為120M(這個知識點沒測試過)

7.Typeface字型問題
1)08-29 03:00:06.082: DEBUG/asset(1350): Data exceeds UNCOMPRESS_DATA_MAX (4135804 vs 1048576)
字型檔案太大,沒有被載入進來,所以找不到
2)字型加入assets/fonts資料夾後,一定要在fonts資料夾和assets資料夾上重新整理,否則加入的字型可能不起作用!

8.如何將Sqlite資料庫與apk一同釋出?
http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

9.LinearLayout動態設定寬和高,使用LinearLayout.LayoutParams,而不是ViewGroup.LayoutParams,否則報異常

10.如何限制EditText的寬度或字元數?
http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html
總結完畢。 :)