Android入門開發指南之Notepad 練習

Android入門開發指南之Notepad 練習 android

 在這個練習中,你將建立一個簡單的文本列表,讓用戶添加文本可是不能編輯它們,這個例子演示了:
  ListActivities的基本用法,建立和處理菜單選項。
  如何訪問和保存文本到SQLife數據庫中。
  如何使用ArrayAdapter(最簡單的綁定ListView的方法)綁定相互聚到一個ListView。
  基本的屏幕布局,包括如何佈局列表視圖,如何添加條目到實體菜單,屍體如何處理這些菜單的選種動做。
  [Exercise 1] [Exercise 2] [Exercise 3] [Extra Credit]
  第1步
  在Eclipse中打開Notepadv1工程。
  Notepadv1工程提供一個起點,它關心的事創建樣板文件的工做,若是你學習過Hell.Android tutorial例子,你對這些應該比較熟悉。操做步驟以下:
  a.在包瀏覽器中右擊,選擇導入/通常/現有工程進入工做區。
  b.點擊瀏覽按鈕,移動到你複製三個練習的文件夾,選擇Notepadv1文件夾,而後點擊OK。
  c.你將看到Notepadv1列在工程列表中,而且後面帶有一個選擇框。
  d.點擊結束。
  e.這個練習工程將打開而且列出在Eclipse的包瀏覽器中。
  f.若是你看到一個關於AndroidManifest.xml的錯誤,或者其它關於Android壓縮文件的錯誤,右擊工程從彈出菜單中選擇Android Tools-> Fix Project Properties (對庫文件而言,工程處在不正確的未知,這樣操做能夠修復它)。
  第2步
  訪問和修改數據
  這個練習中,咱們將使用一個SQLite數據庫來直接保存咱們的數據,可是在實際的應用,使用一個合適的ContentProvider簡化這個行爲的方法更爲廣泛。
  若是你感興趣,你能夠找到關於content providers的更多信息,或者你能夠參考關於存儲,得到和刷新數據的主題。
  注意這個類DBHelper --- 這個類提供來壓縮數據到一個SQLite數據庫來保存咱們的文本數據而且容許咱們更新它。
  典型狀況下你將使用ContrentProvider來執行,事實上,在SDK中的完整的Notepad應用就是執行的這樣一個ContentProvider。然而,沒有理由你不和咱們這裏同樣直接使用本身的SQLite數據庫。關鍵值得注意的問題是這個類爲咱們提供的存儲,獲取和更新SQLite數據庫中的數據的細節。許多方法又來獲取多行,根據行標識獲取一行,建立一個新的行,刪除一個存在的行和更新一行數據。若是你想獲取如何在咱們的應用中使用SQLite數據庫的指南,你能夠詳細閱讀這個類的文檔或者,更好的辦法就是,查看SDK中samples/目錄下的Notepad應用程序時如何使用ContentProvider的。
  第3步
  佈局和實體
  許多實體都關聯一個佈局。佈局是實體面向用戶的臉面。在這個例子中,咱們的佈局將佈滿全屏而且提供一個文本列表。
  全屏佈局不是實體惟一的選擇。你能夠參考一個浮動佈局(例如,一個對話框或者警告欄),或者某些狀況下你根本就不須要佈局(實體將對用戶隱藏直到你爲它指定某個佈局)。
  打開res/layout目錄下的notepad_list.xml文件來查看:這是一個佈局定義文件,帶有一個默認的起點,咱們提供了註解方便你更快的掌握它:
  a.全部的Android佈局文件都以XML行開頭<?xml version="1.0" encoding="utf-8"?>。
  b.一樣下面的定義一般是一些佈局文件的定義,在這個例子中是LinearLayout。
  c.注意在Android中的xml名字空間應當定義在最外層的佈局中,所以android:tags就能夠用在甚於的文件中。
  xmlns:android=http://schemas.android.com/apk/res/android
  第4步
  咱們須要建立佈局來容納咱們的列表。調價代碼到LinearLayout標籤中,所以整個文件看起來就像是這個樣子的:(你可能須要順序點擊source tab頁來編輯這個xml文件) 數據庫

01 瀏覽器

<xml version="1.0" encoding="utf-8"> ide

02 佈局

<LinearLayoutxmlnsandroid="http//schemasandroid.com/apk/res/android" 學習


03 spa

androidlayout_width="wrap_content" xml

04 ip

androidlayout_height="wrap_content"> utf-8


05

<ListView id="@id/androidlist"

06

androidlayout_width="wrap_content"


07

androidlayout_height="wrap_content"/>

08

<TextView id="@id/androidempty"


09

androidlayout_width="wrap_content"

10

androidlayout_height="wrap_content"


11

androidtext="@string/no_notes"/>

12

</LinearLayout>

  a.ListView和TextView能夠做爲兩個可切換的視圖,每次只能顯示一個。ListView用來顯示文本列表,而TextView(是一個字符串資源,默認值爲」No Notes Yet!」,若是沒有文本是顯示這個字符串)。   b.ListView和TextView字符串中的@字符表示XML分析器將使用一個資源標識來分析和展開字符串中剩餘的部分。   c.android:list 和android:empty是Android平臺爲咱們提供的標籤,當列表適配器中沒有數據時,empty默認參數。列表適配器知道去搜索默認的特殊字。可選擇的作法是,你可使用列表適配器的setEmptyView()方法選擇改變默認的empty視圖。更普遍的是,android.R類是系統提供的一套預約義資源,而你的工程的R類是一套你本身定義的資源。Android.R資源類中存在的西元能夠XML文件中使用,方法是android:名字空間前綴(就像咱們看到的那樣)。

相關文章
相關標籤/搜索