我想知道應用程序的整個API是如何工作的?它是如何創建的?我知道它在C中是如何工作的,例如當你創建一個.h文件時,但更像創建一個庫。Android應用程序的API
當你有一個應用程序運行並執行某些功能時,還希望其他應用程序能夠使用它的某些功能時,它是如何完成的?你是否應該創建一個名爲API的類,並且要導出所有功能(函數)?然後當有人想要使用你的功能時,他創建這個類或調用一個靜態函數?
謝謝, Tomer。
我想知道應用程序的整個API是如何工作的?它是如何創建的?我知道它在C中是如何工作的,例如當你創建一個.h文件時,但更像創建一個庫。Android應用程序的API
當你有一個應用程序運行並執行某些功能時,還希望其他應用程序能夠使用它的某些功能時,它是如何完成的?你是否應該創建一個名爲API的類,並且要導出所有功能(函數)?然後當有人想要使用你的功能時,他創建這個類或調用一個靜態函數?
謝謝, Tomer。
當你有一個應用程序運行並且做了一些東西並且還希望其他應用程序能夠使用它的某些功能時,它是如何完成的?
通常,您通過Android進程間通信機制(IPC)導出一個或多個組件。在這裏,「組件」是指活動,服務,廣播接收者和內容提供者。
例如,幾乎每個應用程序都有一個「API」:<intent-filter>
爲ACTION_MAIN
和CATEGORY_LAUNCHER
的活動。第三方應用可以啓動該活動。
同樣,你可以:
bindService()
通過`startService()Binder
是你應該創建一個類調用的API,並擁有所有的功能(功能)要導出在那裏?然後當有人想要使用你的功能時,他創建這個類或調用一個靜態函數?
通常,您的代碼駐留在您的進程中,因此其他應用程序在其進程中不可用。
歡迎您創建一個JAR來包裝您要導出的Android IPC接口,然後爲其分發該JAR和文檔,以便第三方使用您的IPC。在這種情況下,JAR將不是您自己的應用程序的代碼,而是包裝IPC接口的客戶端(例如,JAR調用startService()
或bindService()
)的單獨庫。