我正在編寫一些庫代碼,作爲jar文件分發,開發人員在使用前需要使用應用程序ID進行初始化。初始化僅僅是一個函數調用,就像Android中的全局初始化
MyLibrary.initialize("16ea53b");
棘手的是,我不知道如何指導開發人員,使這個初始化調用。起初,我認爲主要活動中的一個靜態初始化塊將是最簡單的方法。問題是用戶可以通過其他活動或意圖進入應用程序,並且主要活動不會被加載。是否有一種通用的方法來確保在應用程序啓動時運行一行代碼,而不管應用程序的啓動方式如何?
初始化調用是冪等的,所以我可以告訴人們在它可以使用的每個地方進行初始化調用,但那會很麻煩。
我想我如何讓我的庫訪問SharedPreferences具有相同的問題 - 我需要讓開發人員使用有效的上下文初始化庫以便訪問SharedPreferences。還是有另一種方法來訪問應用程序對象?順便說一句,這是一個很棒的演講。 – lacker
根據Android的指導原則,我們可以從Application類中繼承子類,從而使用它來存儲/維護全局數據或使用靜態單例類。我個人使用過Application對象。所以是的,您的開發人員使用有效的Context初始化庫的方法是有道理的。我想知道更多關於這方面的其他機制。 – omermuhammed
我仍然有同樣的問題 - 開發人員在哪裏使用上下文初始化庫?他們必須從每個可能開始申請的班級開始。 – lacker