編輯:關於Android編程
一.Android四大組件詳解
Android四大組件分別是:activity,service,contentprovider,broadcastreceiver.
1.activity:
1).一個應用程序一般由多個activity組成.
2).任務棧(taskstack)(別名(backstack)後退棧),記錄存放用戶開啟的activity.
3).一個應用程序被開啟之後,系統就會分配一個任務棧,當所有activity都退出時,任務棧清空.
4).任務棧的id是integer型的,是自增長的,它從1開始自增長,自增長值為1.
5).activity之間通過intent進行通信.
6).app中每一個activity都必須在AndroidManifest.xml文件中進行聲明,否則系統將不識別不執行該activity.
7).activity的啟動模式,standard(標准啟動模式),singleTop(單一頂部),singletask(單一任務棧),singleInstance(單態,單例模式).
(1).standard,默認的標准啟動模式:每次startActivity都是創建一個新的activity,適用於絕大多數情況.
(2).singleTop,單一頂部,如果要開啟的activity在任務棧的頂部已經存在,就不會創建新的實例,而是調用onNewIntent()方法.
應用場景:浏覽器書簽.避免棧頂的activity被重復創建.
(3).singletask,單一任務棧,activity只會在任務棧裡面存在一個實例,如果要激活的activity在任務棧中已經存在,調用onNewIntent()方法,並且清空當前任務裡面的所有activity,
應用場景:浏覽器的activity,整個任務棧只有一個activity.
(4).singlelnstance,單態單例模式,整個手機系統中只有一個任務實例,不同的應用去打開一個activity,共享這個activity.
2.Service:
1).service用於用戶在後台完成獨立的操作,service分為兩種,started(啟動),bound(綁定):
a)Started(啟動):當應用程序組件調用startService()方法時服務停止,服務處於started狀態.
b)Bound(綁定):當用用程序組件調用boundService()方法綁定服務時,服務處於綁定狀態.
2).startedService(啟動服務):是由其他組件調用startService()方法啟動的,導致服務的onStartCommand()方法被調用.當服務處於started的狀態時,其生命周期與啟動它的組件無關,服務需要在完成任務後調用stopSelf()方法停止,或者由其他組件調用stopService()方法停止.
3).使用bindService()方法啟動服務,調用的組件與服務綁定在了一起,該組件一旦退出服務也就終止.
4).開發人員需要在程序配置文件中生命全部的service,使用
5).Service通常位於後台運行,一般不與用戶交互,所以Service組件沒有圖形用戶界面.Service組件需要繼承Service基類.Service組件通常為其他組件提供後台服務或者監控其他組件的運行狀態.
6).長期在後台運行的組件不要在activity中開啟子線程.應該是創建服務,在服務裡面開啟子線程.
3.Contentprovider:
1).android平台提供了ContentProvider使一個程序的指定數據集提供給其他應用程序.其他應用可以通過contentResolver類從該類容中獲取存入的數據.
2).當多個應用程序中共享數組時可使用該組件.例如通訊錄,
3).ContentProvider實現數組共享.ContentProvider用於保存數組和獲取數據,並對其所有應用程序可見.
4).ContentProvider使用URL來唯一標識其數據集.
4.Broadcastreceiver:
1).廣播接收器專注於廣播通知信息,並作出對應事件處理的組件.
2).應用程序可以擁有任意數量的廣播接收器.以對它感興趣的所有消息作出響應.所有的接收器均繼承自BroadcastReceiver基類.
3).廣播接收者注冊有兩種方式:
a)程序動態注冊.
b)AndroidManifest.xml文件中進行靜態注冊.
4).動態注冊的特點:activity銷毀後,該廣播失效.靜態注冊只要設備開啟廣播接收器就是打開的.
Android Studio 中使用OpenCV所遇到問題 一、關於如何生成.h文件網上查了很多資料,大部分都是說需要切換到build/intermediate
目前Android已經在只能手機市場已經具有強大的霸主地位,也吸引了越來越多的追捧者。Android的學習也越來越火。但是,報名費用確實大多人望而卻步一、新建項目Call
在res下新建一個文件夾,命名為anim,創建xml文件,例如創建了一個a1.xml //在這裡寫動畫 alpha:漸變透明度效果 rotate:旋轉動
這是<是時候來了解android7>系列的第三篇文章了, 前面兩篇分別介紹了多窗口模式和shortcut功能, 今天我們來點簡單的, 說一說通知直接回復功能.