Android開發的一點東西

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } H2 { margin-bottom: 0.08in } H2.western { font-family: "Liberation Sans", sans-serif; font-size: 14pt; font-style: italic } H2.cjk { font-family: "WenQuanYi Zen Hei"; font-size: 14pt; font-style: italic } H2.ctl { font-family: "Lohit Devanagari"; font-size: 14pt; font-style: italic } H3 { margin-bottom: 0.08in } H3.western { font-family: "Liberation Sans", sans-serif } H3.cjk { font-family: "WenQuanYi Zen Hei" } H3.ctl { font-family: "Lohit Devanagari" } -->

一、一些概念

活動:一個活動就是一個用戶界面屏幕,需要在工程中註冊後纔可以使用。

意圖:描述動作的機制,如拍照、撥電話、訪問網頁;可調用意圖來執行這些操作,可註冊用於處理特定意圖的活動。

服務:類似Unix Daemon

內容提供者:應用程序間共享全局數據的一種方法。

資源:位圖或字串等,放置在項目的res目錄;aapt根據其所處目錄不同進行不同處理,並自動更新名爲R的類。

主題:可用於更改界面元素的外觀,如對話框主題。

 

進程是各活動可隨意使用的容器,活動的生命週期與進程的生命週期無關。每個活動都保存自己的狀態以用於恢復(狀態包括什麼?活動上的界面元素,如選擇框是否勾選?)。 Android系統安全性:每個應用程序都被分配一個Linux用戶ID,被限制訪問其他應用程序的數據;並且需要申請所要求的關鍵操作的權限。

Andoid系統內置的應用程序沒有特權,並且可以被用戶自己的程序替代。

二、界面開發

使用xml文件進行界面元素定義,Activity函數setContentView()加載xml文件在R 類中的對應來生成自己的界面。

1,界面元素

每個界面最外層是Layout,類型包括FrameLayoutLinearLayoutRelativeLayout等,Layout可嵌套。ButtonTextView等元素放置在Layout中。

字符串資源定義在strings.xml文件中,其他xml文件使用”@string/name”的形式引用字串。

2,豎排界面與橫排界面

目錄res/layout-land/中放置橫排界面的xml文件,文件名要與res/layout/保持一樣。

3,界面元素與事件處理

可以爲Button等控件定義id,方式是xml文件中設置其屬性android:id=”@+id/xxx_id”。通過id得到控件的方法:調用Activity方法findViewById(R.id.xxx_id)

事件處理:首先實現相應Interface,如OnClickListener;然後調用控件的方法設置其事件處理接口,如setOnClickListener()

例如,對於ButtonOnClickListener的函數onClick的參數指示了被clickview,通過viewgetId()可獲得其id,與R.id.xxx_id比較就可以知道誰被click了。

4,對話框

多種方法實現對話框:使用AlertDialog、自定義Activity、繼承Dialog類。startActivity()可用於啓動Activity

應用主題,工程中註冊對話框時指定“android:theme”屬性即可。

5,菜單

Android支持兩種菜單:menu按鍵及長按屏幕的上下文菜單。

menu菜單,在文件res/menu/menu.xml中定義。Override Activity的相應函數以處理菜單。

三、程序調試

1,打開調試

需要在工程配置文件中打開可調試選項。

2,日誌

Log類的靜態方法輸出日誌,如Log.e();使用adbeclipse捕獲日誌。

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