2010-11-11 23 views
0

我正在編寫一個Android應用程序,它使用的一些功能,這些功能已經在Apache 2.0許可下發布。該功能在2種方式可供選擇:使用其他Android應用程序的意圖或使用代碼?

  1. 如Java代碼
  2. 作爲一個Android應用程序的意圖。

身爲典型開發者,我,我不想讓用戶安裝一個獨立的應用程序,使他們可以使用自己的應用程序 - 因爲它一定會把關閉使用該應用程序如果我不得不。

另一方面,使用Java代碼開展和運行應用程序的工作將花費更長的時間。

我的問題是這樣的:

  1. 什麼是大多數開發者現在在做什麼?他們是否使用其他應用程序的意圖?
  2. 對於普通消費者來說,他們需要下載一個單獨的應用程序才能使其工作起作用嗎?

回答

1

在我的應用程序EmailAlbum中,我首先依賴用戶手機上OpenIntents OIFileManager的存在來選擇SDCard上的文件,或者選擇用於導出生成文件的目標文件夾。

後來,我綜合我自己的原因有幾個版本OIFileManager在我的應用程序的源代碼的代碼:

  • 根據另一個應用基礎(而且是必要的)應用程序的功能就像是自殺。如果您的應用無法在沒有其他應用的情況下真正生活,並且此應用未安裝在大多數設備上,您的應用將無法使用。大多數人都希望首次啓動的應用程序。
  • 另一個應用程序在市場上正在提供它自己的(壞)實現相同的意圖,並使我的應用程序崩潰......用戶在他們的電話上安裝它認爲這是我的應用程序的錯。
  • 提供一致的用戶界面是不可能的。

我認爲使用公共Intents非常適合人們從各種應用程序中選擇擴展應用程序功能或重用應用程序生成的內容。但是,您的應用程序必須能夠獨立運行,這取決於所有Android設備提供的標準應用程序(即,如果您希望您的應用程序能夠在尚未使用的設備上使用,甚至不依賴Google專有應用程序由谷歌批准,那些沒有Android Market或Gmail的用戶)。

0

大多數開發人員將使用通用意圖(電話呼叫,網絡瀏覽器,攝像頭等)來呼叫活動。如果你的應用取代了這些常見的意圖之一,那麼你不應該有任何擔心。

開發人員確實有時會使用其他(非常見的應用程序)。我想到的一個例子是OpenWatch,它爲其他開發人員提供了一個API來構建。當然,在這種情況下,如果您使用的是這樣的藍牙手錶,那麼您很可能已經安裝了OpenWatch,因此獲得另一個基於其構建的應用程序並不算麻煩。

如果你認爲人們會使用它,我會說提供一個API。

+0

另一個例子是Locale或Tasker。他們都有使用他們的應用程序的一堆第三方應用程序。 – 2010-11-11 20:54:36

0

可能也想看看這裏:http://www.openintents.org/en/

我認爲,即使谷歌在一個時間依賴於一個第三方軟件包有一個應用程序。在應用程序啓動時,用戶接到一個對話,要求他下載該軟件包。如果他拒絕了,則相應的功能被禁用。

但是,我只會使用這種方法爲科技精明的用戶,常規喬很可能會被推遲。如果功能並不重要,只需將其作爲額外的獎勵,否則就不發表。

相關問題