Applicationを継承したクラス

Androidでは、バックキーをクリックしてアクティビティを落としてもプロセスは残ります。そして、再びアプリケーションを再び上げようとすると、新たなアクティビティを生成します。
よって、アプリケーション内で常に持たせておきたいモノがある場合に、Activityから派生したクラスのメンバに持たせると、切ない目を見ることになります。
アプリケーション内で常に持たせておきたいモノがある場合、android.app.Application を派生させます(て断定して良いんだろうか)。
Activity.getApplication(), Context.getApplicationContext() で取得可能ですので、引渡しは難しくありません。

package example.MyApplication;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class MyActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MyApplication app = (MyApplication)this.getApplicationContext();
        int cnt = app.count++;
        Toast.makeText(this, String.valueOf(cnt), Toast.LENGTH_LONG).show();
    }
}
package example.MyApplication;

import android.app.Application;

public class MyApplication extends Application {
    public int count;
}

注意すべきは、AndroidManifest.xml の application 要素に、android:name でクラスを指定する必要があります。

<application ... android:name=".MyApplication">
...

名前空間から指定するのも可能です。

<application ... android:name="example.MyApplication.MyApplication">
...