Android多activity间数据的传送
来源:互联网 发布:au软件的功能 编辑:程序博客网 时间:2024/06/06 02:53
注意这个方法的使用前提:必须是activity间数据的传送
在此之前我常用的在Activity间传送数据的方式有:①文件存储(sq、sqlite等等),②单纯的Intent传参数,③Handler传参。现在又加了④Activity方法与Intent结合使用
①方法对于数据比较小的情况不实用
②方法与④方法用法上区别不大,④方法比较高大上点
③方法代码量相对较大
以一个实例说明,实例作用是在主页面中统计进入副页面的次数
过程:
①先看一下xml的效果:
activity_main.xml:
game.xml:
②MainActivity.java:
public class MainActivity extends Activity { private TextView tv; int count = 0; int RequestCode = 101; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.show_data); tv.setText("打开副页面的次数为" + ":" + count); Button startButton = (Button) findViewById(R.id.button1); startButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub startGame(); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub if (this.RequestCode == requestCode && resultCode == -1) { // 注意if括号中的条件,返回true表示已经接收到另一个Activity的结果 count = data.getExtras().getInt("count"); tv.setText("打开副页面的次数为" + ":" + count); } super.onActivityResult(requestCode, resultCode, data); } private void startGame() { // TODO Auto-generated method stub Intent l = new Intent(MainActivity.this, PlayGame.class); l.putExtra("count", count); startActivityForResult(l, RequestCode); // 发送请求,注意第二个参数 }}
③PlayGame.java
public class PlayGame extends Activity { private TextView tv2; int answer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.game); tv2 = (TextView) findViewById(R.id.textView1); Intent i = getIntent(); answer = i.getIntExtra("count", -1); answer++; Button starBut = (Button) findViewById(R.id.button1); starBut.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent i = getIntent(); i.putExtra("count", answer); Log.e("answer", answer+""); setResult(RESULT_OK, i); // 发送结果,注意第一个参数 finish(); } }); }}
MainActivity.java 发送带参数的Intent如同发送服务请求,有请求的编号和接收结果的编号,在注意下PlayGame.java中的结果编号,RESULT_OK为默认固定值 -1。
0 0
- Android多activity间数据的传送
- android中的Intent于Activity的数据传送
- 两个Activity如何传送数据的?
- android不同activity之间传送数据值得方法
- activity间传送bitmap的办法
- ListFragment与Activity数据传送
- android Runnable建立线程,与UI、activity信息的传送
- Android 从一个activity到另一个activity(有传送数据)
- Android对话框传送数据
- android数据加密传送
- 在两个activity之间传送数据
- 广播接收器向Activity传送数据
- STM32的USB多包数据传送
- Android基础之Activity系列 - Activity间的数据传递
- Android Activity/Fragment间的数据传递
- Android 发送广播传送数据
- Android---Intent传送复杂数据
- Android向服务器传送和接收数据的方法汇总
- Android Volley完全解析(三),定制自己的Request
- 数据收集-升级Nginx服务器,添加HTTPS过程中遇到的问题
- HOOK注入!
- tabview 的简单定义。
- mysql数据优化方案
- Android多activity间数据的传送
- Visual Studio .gitignore样例
- 自定义的View 重写UIView的方法
- ZOJ 2966 Build The Electric System(最小生成树)
- redis单机搭建--详细
- 2、Maven在MyEclipse的集成,并建立一个简单的Maven项目
- BZOJ-2875 随机数生成器 矩阵乘法快速幂+快速乘
- Web之一 JS
- poj 3255 Roadblocks(次最短路径)