2013-07-30 29 views
0

如何製作一個我可以在某些類中記住的文件,而不必每次都粘貼相同的代碼?例如,我必須將此代碼添加到Google分析工具中,但由於我不想每次都粘貼相同的代碼,因此如何在其他類中創建要回想的文件?該代碼是文件在其他類中調用:該怎麼辦?

@Override 
     public void onStart() { 
     super.onStart(); 
     EasyTracker.getInstance().setContext(this); 
     EasyTracker.getInstance().activityStart(this); 
    } 

    @Override 
     public void onStop() { 
     super.onStop(); 
     EasyTracker.getInstance().setContext(this); 
     EasyTracker.getInstance().activityStop(this); 
     } 
+0

使用上面代碼段的標準文件作爲父類。 – KarelG

回答

0

你可以使用一個靜態方法,並調用它在每一類

public static void onStart(MyInterface curclass) 
{ 
    curclass.onStart(); 
    EasyTracker.getInstance().setContext(curclass); 
    EasyTracker.getInstance().activityStart(curclass); 
} 

public static void onStop(MyInterface curclass) 
{ 
    curclass.onStop(); 
    EasyTracker.getInstance().setContext(curclass); 
    EasyTracker.getInstance().activityStop(curclass); 
    } 

請記住,你調用這個類就需要執行該方法onStart()onStop()接口。

+1

你在靜態環境中使用'this' – njzk2

0

創建一個父類:

public abstract class TrackedActivity extends Activity { 
    @Override 
    public void onStart() { 
     super.onStart(); 
     EasyTracker.getInstance().setContext(this); 
     EasyTracker.getInstance().activityStart(this); 
    } 

    @Override 
    public void onStop() { 
     super.onStop(); 
     EasyTracker.getInstance().setContext(this); 
     EasyTracker.getInstance().activityStop(this); 
    } 
} 

而讓你想跟蹤擴展這個類(而不是Activity)的活動,所以如果你有

public MyActivity extends Activity { 
    // ... 
} 

改變這

public MyActivity extends TrackedActivity { 
    // ... 
} 
+0

如果我導入的類TrackedActivity不是同一件事情? –

+0

@GiovanniM。不,導入本身不會做任何事情。 –