AndroidプログラミングのAppplicationグローバル変数と転送値の使用例の分析を設定します。
3802 ワード
本明細書の例は、AndroidプログラミングのAppplicationがグローバル変数を設定し、値を送る方法について述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
MyFirst ActivityOriginal MyApplication
MyFirst ActivityChangd is cool
MySecondActivity is cool
見てください。とても興奮していませんか?もちろん退出してから運行する場合もあります。第2、3です。回、3つの出力がすべてis coolになる可能性があります。それはあなたが殺していないプロセスの問題です。
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。
/**
* Application, onCreate , ,
* , javaeye , ,
* 。 , Activity
* , , , 。
* , 。
*
* Application, PID, ID, Activity 。
* Application , Activity
* , , Activity , Activity
* , ?
* OK, 。。。
* @author yong.wang
*
*/
public class MyApplication extends Application {
private String name;
@Override
public void onCreate() {
super.onCreate();
setName(NAME); //
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private static final String NAME = "MyApplication";
}
Ok、アプリケーションは作成されましたが、設定ファイルのApplication Manifest.xmlに実行するアプリケーションのMyAppplicationを追加して、修正してください。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hisoft.app"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:name=".MyApplication"> , Application MyApplication
<activity android:name=".MyFirstActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MySecondActivity"></activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>
xmlの設定ファイルがandroid:name=「.MyApplication」を実行し終わったら、ここでプロセスIDを割り当てました。次に、私たちはActivityを実行します。
public class MyFirstActivity extends Activity {
private MyApplication app;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
app = (MyApplication) getApplication(); // MyApplication
Log.e("MyFirstActivityOriginal", app.getName()); // ,
app.setName("is cool"); //OK,
Log.e("MyFirstActivityChanged", app.getName()); // ,
Intent intent = new Intent(); // Activity ,
intent.setClass(this, MySecondActivity.class);
startActivity(intent);
}
}
上の運転が終わったら、このActivityにジャンプします。
public class MySecondActivity extends Activity {
private MyApplication app;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
app = (MyApplication) getApplication(); //
Log.e("MySecondActivity", app.getName()); //
}
}
もちろん、運転しました。MyFirst ActivityOriginal MyApplication
MyFirst ActivityChangd is cool
MySecondActivity is cool
見てください。とても興奮していませんか?もちろん退出してから運行する場合もあります。第2、3です。回、3つの出力がすべてis coolになる可能性があります。それはあなたが殺していないプロセスの問題です。
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。