編輯:Android開發實例
一般的android應用程序由4部分組成分別是:
Activity
Broadcast Intent Receiver
Service
Content Provider
並不是說所有的應用程序都是由這四個部分組成,有的簡單的應用只需要Activity就可以了,有的只需要Broadcast Intent Receiver就可以了。
在android項目裡邊有個AndroidManifest.xml文件,這個文件非常重重要,就和Asp.net中的web.config文件一樣,應用中要用到的組件都要首先在這個文件中
進行描述聲明後才可以正常使用,否則程序中用到了上述的組件了,也不會起作用。
Activity是開發android應用的過程中使用的最頻繁的組件,它是android的最基本的組件之一。在android程序中Activity 代表了手機的一個屏幕,好比Asp.net應用中的一個網頁,一個android應用相當於一個web站點。在Activity中我們可以添加View,並且對View做一些操作,View可以理解為一個UI容器,在這個容器中可以添加很多UI 元素,比如:Button,TextView,EditView,List等,這些豐富的UI元素組成了和用戶交互的時的豐富的用戶界面,Activity控制著View中各個元素的邏輯處理和導航,比如Activity1跳轉到Activity2,當然也可以在Activity2關閉的時候返回一個值給Activity1這個和Asp.net中彈出一個對話框,當關閉對話框時返回一個值給原頁面是一樣的,這樣在開發中解決很多問題是非常方便的。
Android的導航是由一個stack控制,當打開一個新的屏幕時原來的屏幕會被置為暫停狀態,並且壓入歷史堆棧,用戶可以通過返回操作來彈出棧頂的屏幕並設置為當前操作的屏幕界面。android會把每個應用從開始到當前的每一個屏幕的頁面都壓入到堆棧中,在開發過程中可以有選擇的移除一些堆棧中不會用到的界面。Activity是由android系統進行維護的,它有自己的生命周期。
可以使用BroadcastReceiver來讓應用對一個外部的事件作出響應,因此利用這個組件可以做一些很有意思的事情,我之前寫的一篇Android中發送和接收短信就是用BroadcastReceiver組件來實現的。當電話和短信這個外部事件發生時就可以利用BroadcastReceiver組件來進行處理。 BroadcastReceiver不能直接生成與用戶交互的界面,因為界面是由Activity負責的,換句話說對用戶來說是不透明的,用戶看不到它,這個和Windows Service 類似,但是BroadccastReceiver可以通過NotificationManager來通知用戶發生了什麼事情,也可以使用Toast來通知用戶。要使用BroadcastReceiver組件,首先要在AndroidManifest.xml中進行注冊或者在代碼中使用 Context.registerReceiver()進行注冊,只要注冊了,當事件發生了,即使應用沒有啟動,android也會自動啟動應用,來響應發生的事件。
Service是一種程序,它可以運行很長時間,但它和BroadcastReceiver組件一樣也沒有界面,這些服務可以提供系統的某些能力,來供調用,它更像是一組API。例如播放音樂的Sevice,它可以控制音樂的播放,停止。通過startService(Intent service)可以啟動一個service,可以通過Context.BindService()綁定一個Service。
數據在android中是私有的不能進行共享,這些數據包括文件和數據庫,但是如果一個應用要使用另一個應用的數據在怎麼做呢?那麼這個時候 Content Provider就派上用場了,一個Content Provider定義了一組標准的方法的接口,能使其它應用保存和讀取此Content Privider的各種數據,那麼怎麼來實現呢?那就是通過去實現Contnent Privider的接口就可以了,Content Privider已經實現了數據的封裝和處理,外界是看不到數據的具體存儲細節,只需要通過這些標准的接口打交道就可以了,可以讀取數據,刪除數據,插入數據等等操作。例如android的基本應用Contects就就通過這種方式共享通訊錄數據的,其它應用可以通過Content Provider組件操作通訊錄中的數據。
總結,android應用的開發過程中主要使用的是以上的四個組建,靈活的使用這些組建可以滿足大部分應用,其中Activity的使用是最頻繁的,許多應用基本上都是有若干的Activity的相互交互構成的。
轉自:http://www.cnblogs.com/vaiyanzi/archive/2010/05/16/1736989.html
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個