2010-02-20 54 views
1

我正在做Android的鍵盤。 我願意有一個插件結構來允許用戶改進預測引擎。使用其他應用程序更新應用程序信息(插件)

預測引擎是用Android NDK完成的,它用C語言編寫。我有一個調用C代碼的包裝類。這個包裝類的一個實例是InputMethodService中的一個字段。 預測引擎通過發送完整句子進行更新。例如:

public void updateEngine(String sentence); 

插件應該調用該方法。 插件的一個例子可以是.txt解析器。您選擇一個txt文件,插件將開始向主應用程序發送所有句子。 我想插件是可定製的,例如:他們可能有一個屏幕,你可以選擇最大句子發送,在後臺運行等 UI(不知道它應該在主應用程序或插件,檢查我的問題)應該有可能問插件它可以發送多少句子(做一個進度條)。

我的問題是:

  • 我應該使用意圖或IPC?

我想我應該使用Intents,因爲我只是使用原始類型。

  • 我的操作應該是原子的還是發送一組句子?

我願意從原子操作開始,但我擔心性能。

  • 插件必須是活動或服務?

他們應該是活動,如果有必要(「背景上的進程」)啓動服務。或者,也許他們只是服務,主應用程序會照顧用戶界面。

  • 誰應該保存關於上次執行的信息。插件或mainApp?

例如,最後一次使用插件的時間。

+0

你能編輯你的問題來指出預測引擎是什麼類型的東西嗎?例如,它是一個「服務」?這對可能的答案有重大影響。 – CommonsWare 2010-02-20 14:07:59

+0

對不起,它是。 – Macarse 2010-02-20 14:27:14

回答

1

我應該使用Intents還是IPC?

要麼工作。意圖可能更簡單。

我的操作應該是原子的還是發送 一組句子?

如果可能的話,我會將它們捆綁成一個單一的操作。據我瞭解,許多小型跨進程行程比一個大型行程更昂貴。

該插件必須是活動或 服務?

你似乎想要插件調用引擎,這很好,但是......什麼時候?插件在安裝時不會自動獲得控制權。插件調用引擎的觸發機制的選擇將決定插件是否需要活動。

誰應該保存有關 上次執行的信息。插件或mainApp?

考慮到你在這裏的其餘部分,這對我沒有多大意義,所以我不能評論。這可能會回到上面提到的缺乏觸發因素的問題。例如,在什麼情況下可以多次使用插件有沒有

+0

它們由主應用程序中的設置菜單觸發。就像BetterKeyboard與皮膚一樣。 多次使用它是完全可能的。我猜如果創建一個電子郵件插件,我想永遠更新自己。 – Macarse 2010-02-20 15:29:38

相關問題