android传递数据方式1---通过Application类实现全局变量
2015-08-29 17:34
746 查看
1.新建一个类继承Application 类,并生成get与set函数,并且初始化一个名字“zhangsan”:
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}
2.在MainAcitivity中通过getApplication获取这个Application并通过强制类型转换得到我们自己的类MyApp,并设置名字:
public void onClick(View v) {
myApp=(MyApp)getApplication();
myApp.setName("lisi");
Intent intent= new Intent(MainActivity.this,OtherActivity.class);
startActivity(intent);
}
3.在OtherActivity中显示名字是否被改了,便可验证全局变量效果:
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}4.需要注意的是除了注册新的Activity,在AndroidManifest.xml文件中的<application></application>中还需要添加一条语句:
android:name=".MyApp"即这里的name就是你继承Application的那个类的名字
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}
2.在MainAcitivity中通过getApplication获取这个Application并通过强制类型转换得到我们自己的类MyApp,并设置名字:
public void onClick(View v) {
myApp=(MyApp)getApplication();
myApp.setName("lisi");
Intent intent= new Intent(MainActivity.this,OtherActivity.class);
startActivity(intent);
}
3.在OtherActivity中显示名字是否被改了,便可验证全局变量效果:
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}4.需要注意的是除了注册新的Activity,在AndroidManifest.xml文件中的<application></application>中还需要添加一条语句:
android:name=".MyApp"即这里的name就是你继承Application的那个类的名字
相关文章推荐
- Android屏幕适配全攻略(最权威的官方适配指导)
- 如何打造一款出色的APP
- 【Cocos2dx】Android编译报Argument list too long错误
- android-ImageView的拖动、旋转、缩放、边界回弹、双击缩放、单击销毁及源码下载
- Android搜索框效果
- Swift中使用MPMoviePlayerController实现自定义视频播放器界面
- Android自定义View绘制闹钟
- mac 下android studio 下载sdk
- 我的第一篇csdn博客 -- 自定义View
- JavaScript学习笔记之Object
- iOS 移除地图所有大头针
- Windows风格的Loading动画Android实现(3)
- Android主题切换—夜间/白天模式探究
- Android主题切换—夜间/白天模式探究
- android 两次点击back键退出程序
- app上线问题
- ios的属性和成员变量在.h文件和.m文件的不同
- 解决IOS 系统浏览器 html scroll-x 不起作用的办法
- IOS-笔记18(Core Motion,Core Location,Map Kit)
- Android-帧动画Animation基本实现