編輯:Android開發實例
一、 界面元素
1. 窗口:Activity
應用程序中每個屏幕顯示都通過繼承和擴展基類Activity實現
分類:基本Activity,帶內容的Activity(如ListActivity)
2. 對話框:Dialog
一種顯示於Activity之上的界面元素,由Activity管理,用於顯示一些臨時信息和功能,它比Activity開銷小
1) 常用對話框:
AlertDialog:信息對話框
DatePickerDialog,TimePickerDialog:時間日期選擇對話框
ProgressDialog:進度對話框
還可以設置對話框內容為我們自定義的View
2) 相關函數:
onCreateDialog():創建對話框的實現
showDialog():需要顯示的時候調用
onPrepareDialog():更改已有對話框時調用
3. 菜單:Menu
一種顯示於Activity之上的界面元素,由Activity管理,用於提供用戶一些額外的選項和設置
1) 常用菜單:
Options Menu:按Menu鍵時從屏幕底部滑出的菜單
Context Menu:用戶通過在按件上長按調出它
Submenu:用於給菜單分類,可被添加到其它菜單上,不能添加到子菜單上
2) 相關函數:
onCreateOptionMenu():創建菜單 (onCreateContextMenu…)
onOptionsItemSelected():處理菜單項的單擊事件
onPrepareOptionsMenu():動態更新
4. 可視化控件:View
View是可視化控件的基類
1) 常用控件:
TextView, ImageView
Button, CheckBox, RadioButton, ImageButton, ToggleButton
AnalogClock, DigitalClock
EditText, List…
2) 數據綁定:adapter
adapter將控件(如List, GridView)和復雜數據(如數據,鍵表)綁定起來
5. 其它界面元素
標題欄
二、 布局的實現
設置控件在屏幕上如何排布
1. LinearLayout:線性的布局方式
最常用,上下或左右的添加控件
2. GridView:網格布局
控件按照順序依次填到每個格子裡就好了,使界面很整齊
3. TableLayout:表格布局
以行列形式管理子控件,每行為一個TableRow,TableRow可添加子控件
4. AbsoluteLayout:絕對坐標布局
可以讓子元素指定准確的x/y坐標值,並顯示在屏幕上。(0, 0)為左上角。
AbsoluteLayout沒有頁邊框,允許元素之間互相重疊(盡管不推薦)。
不推薦使用,因為其在不同的設備上可能不能很好地工作。
5. RelativeLayout:相對坐標布局
控件可指定他們相對於其它元素或父元素的位置(通過ID指定)。
可以以右對齊,或上下,或置於屏幕中央的形式來排列兩個元素。
6. FrameLayout:單幀布局
所有的子元素將會固定在屏幕的左上角,後一個子元素將會直接在前一個子元素之上進行覆蓋填充
三、 事件響應
1. 用注冊回調函數的方式響應事件
2. 如果沒被任何一個View處理,則由Activity處理
3. 常用事件處理
1) onKeyDown()
2) onKeyUp()
3) onTrackballEvent()
4) onTouchEvent()
四、 應用軟件代碼結構
1. res:資源
資源是在代碼中使用到的並且在編譯時被打包進您的應用程序的附加文件
在代碼中通過R類調用(R類自動生成,形如R.string.title)
1) layout:存放布局用的xml文件
a) 布局就像容器,裡面可以裝下很多控件,每個控件又有布局,字體設定,
如字體大小在layout的xml裡使用:
Android:textAppearance=”?android:attr/textAppearanceSmall”
b) 默認的布局文件main.xml
2) drawable:存放圖片圖標
3) values:存放常量的xml文件(如字串)
2. src:代碼
3. AndroidManifest.xml
包含應用程序的基本信息,有哪些組件,哪些資源
1) 應用程序的java包名
2) 應用程序中所含組件(Activity, Service, BroadcastReceiver, ContentProvider)
3) 應用程序調用其它程序時的權限
4) 應用程序被其它程序調用時對其它程序的權限要求
5) 使用Android API的最低版本
6) 應用程序依賴的庫
五、 國際化的支持(多語言)
1. 在系統中如何設置本地語言
桌面->settings->Local & text->Select locale->Chinese(China)
2. 在程序中如何加入多語言支持
res/value中是默認的字體
把它復制一份成為res/value-zh-rCN文件夾,然後把其中文字改為簡體中文
3. 在不改變系統設置的前提前,測試當前應用對某一語言的支持
import java.util.Local; // 引入相關類
import android.util.DisplayMetrics;
在OnCreate函數中加入以下本地化設置
Resources res = getResources();
Configuration conf = res.getConfiguration();
conf.locale = Locale.SIMPLIFIED_CHINESE; // 設置為簡體中文
DisplayMetrics dm = res.getDisplayMetrics();
res.updateConfiguration(conf,dm);
編譯後再運行程序時,讀取的字串就是res/value-zh-rCN目錄中strings.xml裡的文字了
六、 常見問題及解決方法
1. android.app.Application
創建一個屬於你自己的android.app.Application的子類,然後在manifest中申明一下這個類,這是android就為此建立一個全局可用的實例,你可以在其他任何地方使用Context.getApplicationContext()方法獲取這個實例,進而獲取其中的狀態
2. 用別人寫的java文件改出自己的,R.xx報錯
由於資源找不對,要把它的res文件和AndroidManifest.xml內容也做相應替換,注意xml裡邊要改成自己的類名
3. android中可以使用java中的類嗎
一般數據結構使用它,而界面使用android自帶的界面元素
4. layout中的控件與程序中控件的關系
平等的,layout中的控件用R.id.xxx得到
5. 布局沖突
requestWindowFeature與setContentView沖突
七、 android是重要的包
android.app :提供高層的程序模型、提供基本的運行環境
android.content :包含各種的對設備上的數據進行訪問和發布的類
android.database :通過內容提供者浏覽和操作數據庫
android.graphics :底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上.
android.location :定位和相關服務的類
android.media :提供一些類管理多種音頻、視頻的媒體接口
android.net :提供幫助網絡訪問的類,超過通常的java.net.* 接口
android.os :提供了系統服務、消息傳輸、IPC 機制
android.opengl :提供OpenGL 的工具
android.provider :提供類訪問Android 的內容提供者
android.telephony :提供與撥打電話相關的API 交互
android.view :提供基礎的用戶界面接口框架
android.util :涉及工具性的方法,例如時間日期的操作
android.webkit :默認浏覽器操作接口
android.widget :包含各種UI 元素(大部分是可見的)在應用程序的屏幕中使用
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
本文主要講解利用android中Matrix控制圖形的旋轉縮放移動,具體參見一下代碼:代碼如下:/** * 使用矩陣控制圖片移動、縮放、旋轉 &nbs
這篇文章主要為大家詳細介紹了Android仿微信朋友圈圖片查看器的具體實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下 再看文
學習目的: 1、了解在Android中如何使用TextView控件 2、掌握TextView控件重要屬性 作用:TextView類似一般UI中的Label,Tex