android开发入门-4(使用全局变量传递数据)

来源:互联网 发布:python有指针吗 编辑:程序博客网 时间:2024/06/05 14:13

使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。

还是使用点击一个button,传递一个数据到另一个页面中显示。

首先,新建工程,然后,打开mainActivity.xml文件,然后,添加button。

<Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="使用Application传递数据" />

先新建一个MyApp.java类,存储全局变量

public String name;@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();setName("hello");}public String getName() {return name;}public void setName(String name) {this.name = name;}public MyApp() {// TODO Auto-generated constructor stub}
然后在MainActivity.java中,添加

private Button button;private MyApp myapp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//获取全局变量数据myapp=(MyApp)getApplication();//myapp.setName("world");//可重新赋值Intent intent = new Intent(MainActivity.this,OtherActivity.class);startActivity(intent);}});}
新建布局文件other.xml文件加入

<TextView android:id="@+id/msg" android:layout_width="fill_parent"    android:layout_height="fill_parent"/>
新建OtherActivity.java文件

public class OtherActivity extends Activity {private MyApp myapp;private TextView textview;public OtherActivity() {// TODO Auto-generated constructor stub}@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other);textview = (TextView)this.findViewById(R.id.msg);myapp = (MyApp)getApplication();textview.setText("name---->"+myapp.getName());}}
最后在清单文件中注意:先在标签application中加入

 <activity android:name=".OtherActivity"></activity>
再在application标签中加入属性android:name=".MyApp"

就这么简单!





原创粉丝点击