Android應用程序組成

電腦雜談  發布時間:2020-02-15 04:01:48  來源:網絡整理

單片機應用系統的組成_android應用程序組成_android小程序

一個android應用程序應該由以下五個部分構成:

1.Activity

程序中Activity通常的表現形式是一個單獨的界面(screen)。每個Activity都是一個單獨的類,它擴充實現了Activity基礎類。某些狀況下,一個Activity可能會給前一個Activity返回值。

打開一個新界面后,前一個界面就被暫停,并放在歷史棧中。使用者可以回溯前面已經開啟的放置在歷史棧中的界面。也可以從歷史棧中刪除沒有界面價值的界面。

某個特定的Activity可以在AndroidManifest.xml文件中被指派為主Activity,從而默認的被運行。其他Activity可能被指派為在特定條件下運行。

android小程序_android應用程序組成_單片機應用系統的組成

2.Intent and IntentFilters

通過一個專門的Intent類來進行界面的切換。Intent描述了程序想做哪些。其數據結構最重要的部分是動作(action)和根據既定規則處理的數據(data)。典型的操作如MAIN(Activity的入口)、PICK、VIEW、EDIT等。數據用URI表示。

一個URI對象表示了一個字符串,該字符串標明了某個實體的位置跟名稱。一個Intent的涵義大致理解為對“誰”(即URI所表述的資源)“做哪些”(即必須執行的動作)。最常用的動作類別在Intent類中被定義android應用程序組成,包括ACTION_MAIN(用于表述某個Activity的主入口點)和ACTION_EDIT(用于將URI和待編輯的數據連接出來)。

Intent無需顯示地選定要運行的模塊或類??梢越⒁粋€IntentFilter,并且在AndroidManifest.xml文件中登錄。操作系統會滿足Intent需求以及基于過濾器規則運行適當的Activity。

通常是借助解析Intent來完成Activity的切換。首先使用startActivity(myIntent)來推出新的Activity。系統考察所有安裝程序的IntentFilter,然后找到與Intent匹配最好的IntentFilter所對應的Activity。新的Activity接收到Intent傳來的消息,然后才被引入。解析Intent的過程出現在startActivity被即時調用時,這樣做有兩個好處:

單片機應用系統的組成_android小程序_android應用程序組成

(1)Activity僅發出一個Intent請求,便可重用其他組建的功能。

(2)Activity可以隨時被更換為有等價IntentFilter的新Activity。

使用Intent傳遞附加信息:Intent的Extras屬性存儲于Bundle對象中。Intent類還帶有一系列的輔助手段來獲得或修改許多常見數據類別的“名稱/值”數據對。

在應用程序中使用菜單組織Activity和Intent

菜單、Activity和Intent之間的關系十分密切。同一個菜單分別以不同方式用于Activity和Intent的狀況是最常用的。主菜單:它就像一個轉化器,不同的菜單項用于運行不同的Activity?!般@取”(Drill-Down)菜單:它類似一個目錄,每一個菜單項運行同樣的Activity,但他們均傳入不同的數據成為Intent的一部分。

單片機應用系統的組成_android應用程序組成_android小程序

3.Service

Service是一個沒有UI且長駐系統的程序。通過Context.startService()啟動一個Service,用Context.bindService()方法連接至一個Service上(如果Context.startService()未開啟的話,鏈接還可以開啟它)。連接以后可以借助一個Context.startService()提供的接口與Context.startService()進行通話。

如何使用服務?

有兩種方式可以提供服務:一是借助調用Context.startService()啟動,調用Context.stopService()結束,通過Context.startService()可以釋放參數給Service。二是通過Context.bindService()啟動,調用Context.unbindService()結束,還可以調用ServiceConnection訪問Service。兩種方式可以混合使用,比如可以先調用startService()再調用unbindService()。

Service的生命周期:在bindService()后,Service就跟調用bindService()的進程同生共死,也就是說當調用bindService()的進程死了,那么它bind的Service也要跟著被結束。也可以調用unbindService()讓Service結束。

android應用程序組成_android小程序_單片機應用系統的組成

【注意】:兩種方法混合使用時,例如你調用startService()了,我調用bindService()了,只有當你調用stopService()并且我也調用unbindService()時android應用程序組成,這個Service才會被結束。

4.Content Provider

應用程序要把數據放到一個SQLite格式文件里,或者儲存在其它有效設備里。如果你想使其它程序無法使用自己程序的數據,ContentProvider就很有用了。ContentProvider是一個實現了一系列標準方式的類,這個類使得其它程序無法儲存、讀取某些ContentProvider可處理的數據。

5.Broadcast Intent Receiver

當應執行一些與內部事件相關的代碼,就或許應該使用IntentReceiver,IntentReceivers沒有UI,它們使用NotificationManager來通知客戶一些事情出現了。IntentReceiver在AndroidManifest.xml文件中聲明,不過也可以用方式Context.registerReceiver()來聲明。程序不必要仍然運行來等待IntentReceiver被調用,當一個IntentReceiver被觸發時,如果必須的話,系統自然會開啟你的程序。程序也可以借助Context.broadcastIntent()來發送自己的Intent廣播給其它程序。


本文來自電腦雜談,轉載請注明本文網址:
http://www.772070.live/a/jisuanjixue/article-140812-1.html

    相關閱讀
    發表評論  請自覺遵守互聯網相關的政策法規,嚴禁發布、暴力、反動的言論

    • 余智
      余智

      說別人幼稚的你真幼稚

    • 王鵬超
      王鵬超

      別忘了還有大量的女同志

    熱點圖片
    拼命載入中...
    天津快乐十分20选8技巧