我有一個名爲PatientDetails的類,其中我存儲了xml中的值,然後需要從服務以及相同時間點的活動訪問其變量和方法。是否可以訪問一個類文件以通過服務訪問其方法或變量,另一個可以通過同一時間的活動訪問另一個類文件?
0
A
回答
0
這是一個典型的多線程場景。只要您只是閱讀數據,您就可以毫無麻煩地完成任務。
如果您正在通過您的活動從患者詳細信息類中讀取數據並通過您的服務向其寫入數據,則您將進入運行時異常。在這種情況下,您已經仔細地同步了變量或方法。
0
共享「助手」類的一種方法是在應用程序的Application
組件中保存對其單個實例的「靜態」引用。例如...
public class MyApp extends Application {
public static detailsHelper;
@Override
public void onCreate() {
detailsHelper = new PatientDetails();
}
}
當你需要使用任何其他組件的「助手」,如Activity
或Service
您只需通過Application
名稱引用它,如下......
MyApp.detailsHelper.doSomething();
從技術上講,在默認條件下,不存在這樣的兩個組件在同一時間訪問,因爲Android Application
及其所有組件存在於單個process
中,而單個thread
的執行。
但是,如果任何組件執行使用線程的代碼,則應該非常小心。例如,Activity
使用AsyncTask
或可能使用IntentService
,它創建自己的工作線程來完成工作。在這種情況下,確保寫入數據的'helper'類中的所有方法都以線程安全的方式進行。
相關問題
- 1. 是否可以從另一個類訪問變量?
- 2. 讓一個變量可以通過各種方法訪問
- 3. 另一個類中的鏈表可以從一個方法訪問,但不能從另一個方法訪問
- 4. 可以訪問到另一臺電腦的文件通過NSURL
- 5. 我可以從另一個文件訪問變量嗎?
- 6. YML文件可以訪問另一個YML文件嗎?
- 7. 頂級方法可以從Ruby的另一個類訪問?
- 8. 從另一個文件訪問變量
- 9. 提供一個可以訪問另外兩個類的類?
- 10. 從另一個類文件中訪問一個方法?
- 11. 用一個可以通過PHP訪問的變量來啓動Apache服務?
- 12. 從另一個類訪問類變量
- 13. 通過屬性訪問另一個類的變量
- 14. 從另一個類訪問實例變量 - 我可以使用類方法嗎?
- 15. 的JavaScript可以訪問一個變量
- 16. 另一個類訪問另一個類的變量
- 17. 從另一個類訪問對象以獲取其變量
- 18. 通過另一個班級訪問變量類
- 19. 是否可以通過queryset訪問另一個模型的屬性?
- 20. 訪問另一個類的變量
- 21. 訪問另一個類中的變量?
- 22. 訪問另一個類的變量
- 23. 如何檢查一個文件夾是否可以通過網絡訪問c#
- 24. 無法訪問可可中的另一個類的變量
- 25. 我可以通過指針從另一個文件訪問文件的靜態變量嗎?
- 26. Javascript:從同一類的另一個方法訪問類方法
- 27. 從另一個活動訪問方法
- 28. 導入.ccbi文件時從另一個類訪問變量
- 29. 從另一個類訪問變量objc
- 30. 在另一個類中訪問變量