您的位置:首页 > 移动开发

Android中的设计模式(一) singleton Application PhoneApp

2011-03-22 12:46 579 查看
一、singleton

适用于在整个应用程序中只能存在该对象的唯一实例。singleton保证了该对象实例存在的唯一性。



二、Application



1. MyMainApplication

package enleo.ApplicationTestActivity;
import android.app.Application;
import android.util.Log;
public class MyMainApplication extends Application
{
private static String TAG = "MyMainApplication";
private static MyMainApplication singleton;
public static MyMainApplication getInstance(){return singleton;}
private int count = 0;
@Override
public void onCreate() {
super.onCreate();
singleton = this;
Log.i(TAG, "Singleton created");
}
public int count(){return count++;}

}


2. ApplicationTestActivity

package enleo.ApplicationTestActivity;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class ApplicationTestActivity extends Activity {
private static final String TAG = ApplicationTestActivity.class.getSimpleName();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Log.i(TAG, "Created instance#" + MyMainApplication.getInstance().count());
}
}


3. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="enleo.ApplicationTestActivity"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:name="MyMainApplication">
<activity android:name=".ApplicationTestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>


三、PhoneApp

 

参考

Malachi's Android
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息