[英]Android : Several activities sharing common code
我有一個由幾個活動組成的Android應用程序。 他們中的大多數人需要檢查活動網絡是否可用:
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
...
}
我想將該代碼移動到輔助類,以避免在每個Activity中編寫該代碼,但只允許從Activity調用getSystemService
。
另一種方法是將該代碼移動到父活動使用繼承,但是:
所以我不太喜歡這個想法。
在這種情況下你會推薦什么? 還有其他選擇嗎?
好吧,您仍然可以創建一個輔助類並將活動的引用傳遞給它。
public boolean isNetworkAvailable(Context c) {
ConnectivityManager cm = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);
...
}
getSystemService是一個公共方法,因此它應該在Activity范圍之外工作。
您可以通過這樣調用它來傳遞它:
helperClassObj.isNetworkAvailable(YourActivity.this);
希望這對你有用。
你不能只使用作文嗎? 使用您的邏輯定義一個類,然后將該類或其實例放入需要該方法的類中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.