2013-03-06 84 views
0

我試圖利用Android作爲多用戶系統。所以我正試圖繞過排隊而不經歷4年的compsci。但我不懶惰,願意閱讀,學習和學習。是一個類似於命令隊列的消息隊列嗎?

什麼是命令隊列,而不是消息隊列?

如果我想排隊意圖,以便隊列中的最後一個意圖/命令只在前一個意圖/命令完成之前運行,那麼應該針對哪種數據結構進行學習/使用?

Android/Java提供了: http://developer.android.com/reference/java/util/Queue.html。 但我爲什麼不使用這個:http://www.rabbitmq.com/java-client.html

我堅持的東西是....不能一個命令或意圖成爲一個消息嗎?

intents基本上是命令,我告訴系統執行一些東西。 但我想讓用戶只有在別人的「東西」執行後才能執行「某事」。

我有一個很多人使用一個android的方法,我只需要一些理解實現控制混亂。

+0

如果您要查找的功能是以該語言提供的,爲什麼還要使用第三方庫? – Catherine 2013-03-06 20:16:18

+0

正如CommonsWare剛剛告訴我的,「隊列是在單個應用程序中使用的數據結構」+「RabbitMQ用於機器之間的消息隊列」。該應用程序遠程發送意圖/命令到另一個應用程序/安卓系統進行處理。因此,在用戶應用程序和主機應用程序/系統內的內置庫中,使用這兩個庫都會起到rabbitmq等的作用。 – sirvon 2013-03-06 21:08:59

+0

http://stackoverflow.com/questions/4962755/why-are-commands-and-events-separately-表示 – sirvon 2013-03-28 02:16:59

回答

1

我試圖利用Android作爲多用戶系統。所以我正試圖繞過排隊而不經歷4年的compsci。

對於任何希望重寫操作系統部分的人來說,擁有「4年的compsci」是一個合理的想法,正如你似乎希望做的那樣。

究竟是命令隊列,而不是消息隊列?

有一個詞「命令」。另一個有「消息」一詞。因此,唯一的其他區別在於你對這兩個詞的意義。

例如,有些人可能會認爲「命令」是一種「消息」,但反過來是不正確的。

如果我想排隊intents基本上命令,以便隊列中的最後一個意圖/命令只在前一個意圖/命令完成之前運行。

你不提供任何指示你正在使用這些「意圖基本命令」。 Android中的Intent用於啓動活動,啓動或綁定到服務或發送廣播。 Intent行爲的特徵將取決於您使用的是什麼Intents

例如,sendBroadcast()沒有嚴格的「隊列」概念。但是,IntentServicestartService()一起使用時會執行此操作 - 它將緩衝Intents,等待onHandleIntent()完成處理當前的Intent,然後再傳遞下一個。

Android/Java提供了:http://developer.android.com/reference/java/util/Queue.html。但我爲什麼不這樣做:http://www.rabbitmq.com/java-client.html

RabbitMQ的是消息隊列機器之間。您可以通過閱讀鏈接到的頁面(「RabbitMQ Java客戶端庫允許Java代碼連接到AMQP服務器」)來告訴它。

Queue是在單個應用程序中使用的數據結構,正如java.util包中的所有內容一樣。

不能一個命令或一個意圖是一個消息嗎?

歡迎您指定您希望使用的術語「命令」和「消息」的含義。

但我想讓用戶只有在某人的「東西」執行後才能執行「某些事情」。

Android中沒有通用的inter-Intent同步模型。因此,在不重寫某些操作系統的情況下,您無法確保您尋求的協調。

+0

感謝您在我的研究期間的迅速反應,我有一個比以前更清楚如何可能使用這些我的應用程序中的選項 「RabbitMQ用於機器之間的消息隊列」+「隊列是在單個應用程序中使用的數據結構」......這種區分幫助很大。 – sirvon 2013-03-06 21:15:06