Android中Context的理解及使用——Application的用途

亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述Android中Context的理解及使用——Application的用途相关的知识,希望能为你提供帮助。
实现数据共享功能:
多个Activity里面,可以使用Application来实现数据的共享,因为对于同一个应用程序来说,Application是唯一的。
1、实现全局共享的数据App.java继承自Application:
public class App extends Application {
private String textData = "https://www.songbingjia.com/android/default";
public void setTextData(String textData) {
this.textData = https://www.songbingjia.com/android/textData;
}
public String getTextData() {
return textData;
}
}

并配置androidManifest.xml:android:name=".App"
2、创建类Main2继承自Activity(会在启动页面呈现两个图标,这两个Activity都是应用程序的入口),
  并配置AndroidManifest.xml:
< activity android:name=".MainActivity" android:label="Main1">
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" /> < !--启动-->
< /intent-filter>
< /activity>
< activity android:name=".Main2" android:label="Main2">
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" />
< /intent-filter>
< /activity>
3、创建main1.xml和main2.xml,都是同一布局:
< TextView
android:text="展示保存的内容"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView" />

< EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText" />

< Button
android:text="保存"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnSaveData" />
4、MainActivity.java和Main2.java的功能实现:
【Android中Context的理解及使用——Application的用途】public class MainActivity extends AppCompatActivity {

private TextView textView;
private EditText editText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1); //setContentView(R.layout.main2);

textView = (TextView) findViewById(R.id.textView);
editText = (EditText) findViewById(R.id.editText);
textView.setText("共享的数据是:"+getApp().getTextData());

findViewById(R.id.btnSaveData).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getApp().setTextData(editText.getText().toString());
textView.setText("共享的数据是:"+editText.getText().toString());
}
});
}
public App getApp(){
return (App)getApplicationContext();
}
}

 




























































    推荐阅读