在我的android項目中,我有很多活動,其中一些已經擴展了其他的東西,比如地圖活動或BroadcastReceiver。android - 如何創建一個可重用的函數?
如何創建一個可以從任何活動調用的函數,因爲我不想在多個活動中重複任何代碼。
感謝。
在我的android項目中,我有很多活動,其中一些已經擴展了其他的東西,比如地圖活動或BroadcastReceiver。android - 如何創建一個可重用的函數?
如何創建一個可以從任何活動調用的函數,因爲我不想在多個活動中重複任何代碼。
感謝。
如果我有執行,我想從幾個活動調用實用小任務有用的功能,我創建了一個名爲的Util類,並在那裏停放他們。我讓他們static
,以便我不需要分配任何對象。
下面是其中一類,我寫了一部分的例子:
public final class Util {
public final static int KIBI = 1024;
public final static int BYTE = 1;
public final static int KIBIBYTE = KIBI * BYTE;
/**
* Private constructor to prevent instantiation
*/
private Util() {}
public static String getTimeStampNow() {
Time time = new Time();
time.setToNow();
return time.format3339(false);
}
}
要使用這些常量和方法,我可以從類名來訪問它們,而不是任何對象:
int fileSize = 10 * Util.KIBIBYTE;
String timestamp = Util.getTimeStampNow();
除了這個,還有更多的課程,但你明白了。
您可以擴展Application類,然後在您的活動中調用getApplication方法並將其轉換爲您的應用程序類以調用該方法。
您可以通過創建一個擴展android.app.Application一個類來完成此:
package your.package.name.here;
import android.app.Application;
public class MyApplication extends Application {
public void doSomething(){
//Do something here
}
}
在你的清單,你必須再找到標籤,並添加了android:NAME =「MyApplication的」屬性。
在您的活動類,你可以然後通過執行調用該函數:
((MyApplication)getApplication()).doSomething();
有做類似的事情的其他方式,但這是途徑之一。該文檔甚至指出,在大多數情況下,靜態單例是更好的選擇。應用程序文檔位於:http://developer.android.com/reference/android/app/Application.html
您可以創建一個靜態方法或包含此方法的對象。
您可以創建一個擴展Activity的類,然後確保您的真實活動是該活動的子類,而不是通常的內置活動。只需在此父活動中定義您的通用代碼即可。
Shachar
你能告訴我一個這樣的例子,我不知道這是如何完成的 – omega 2012-07-22 19:54:04
我把上面的代碼放在一個新的.java文件中嗎? 和「android:name =」MyApplication「」,我如何將它添加到清單中? – omega 2012-07-22 20:17:05
如果您使用Eclipse,我使用「添加類」菜單點來創建應用程序類。 對於清單,打開清單文件並找到如下所示的行:並添加name屬性,使其變成類似於 –
Dimse
2012-07-22 20:28:18