Android基础之初探activity(页面跳转,数据传输)
来源:互联网 发布:淘宝那个目录怎么删除 编辑:程序博客网 时间:2024/06/02 08:47
1,Android的页面跳转通过不同的activity之间的跳转实现:
简单阶段:两个页面的跳转,主要是使用intent对象;
设置在按钮点击事件里面,当按钮发生点击事件时,页面跳转
//实例化意图对象①Intent intent=new Intent(); ②intent.setClass(MainActivity.this,MainActivity02.class);
2,实现不同的页面之间的数据传输
在第一个activity向第二个activity发送消息
原理和页面跳转相同,只是引入了一个bundle对象,bundle的意思为捆,束之意,意思是将数据打包,然后发送到其他页面;
“`
//实例化意图对象
Intent intent=new Intent();
intent.setClass(MainActivity.this,MainActivity02.class);
//将当前数据封装到bundle对象中 Bundle bundle=new Bundle(); bundle.putString("CONTENT",content); //使用intent。putExtra方法将bundle扔到另一个activity中 intent.putExtra("BUNDLE_CONTENT", bundle);
“`值得一提的是在bundle的数据存放以及intent的数据存放时,是类似map集合的,需要为数据设置键值对,将数据放入bundle中,然后设置一个键名,然后将bundle放入intent的putExtra中,然后启动aictivity,数据发送成功。
在数据接收端(即另一个activity),同样需要使用intent和bundle对象;不同的是不在实例化intent,而是getintent。bundle则是接受intent的getBundleExtra方法,得到相应的bundle对象,然后解析bundle得到具体的数据;接着就设置textview,就显示出了另一个activity发送的消息
// 获取activity02的intent对象 Intent intent = getIntent(); //通过该intent对象,获取bundle对象 Bundle bundle = intent.getBundleExtra("BUNDLE_CONTENT"); //通过bundle对象获取数据 String msg = bundle.getString("CONTENT"); //将数据传输给textview textView.setText(msg);
3,实现两个activity之间的数据回传
所谓的数据回传,就是在数据发送过来的基础上,让接收端回执给发送端,同样的是使用intent和bundle对象,只是不需要设置setClass,不需要开启activity;
Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("MSG", "这是回传的数据"); intent.putExtra("BUNDLE_MSG", bundle); setResult(RESULT_OK, intent); MainActivity02.this.finish();
finish方法的意思是当页面回传回去之后,关闭本activity;
RESULT_OK是一个标识码,在数据回执接收端有用;
在数据接收端使用了一个方法:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {// super.onActivityResult(requestCode, resultCode, data); Log.i(TAG,"onActivityResult"); if(resultCode==RESULT_OK){ switch (requestCode){ case 100: Log.i(TAG,"这是mainActivity02的回传"); Bundle bundle=data.getBundleExtra("BUNDLE_MSG"); String str=bundle.getString("MSG"); textView.setText(str); break; }
由此方法负责接受其他activity的数据回传,此例中是单个activity的回传,由于本方法的存在,可以使多个页面实现数据的传递。
此方法使用了result_code;在发送端设置了RESULT_OK,在我看来,就代表一个密钥,当发送端和接收端匹配时,就可以实现数据的传递,不然,则无法传输,switch的存在就是为了应对多个页面传输时。
- Android基础之初探activity(页面跳转,数据传输)
- Android学习教程:Activity跳转及数据传输(一)
- android页面跳转之——activity
- Android基础篇之Activity跳转
- Java Servlet(数据传输 页面跳转 jsp)
- android基础页面跳转
- android基础页面跳转
- Android Activity页面跳转动画
- Android Activity页面跳转实现
- Android之Activity跳转
- Android之Activity跳转
- Android五天乐(第二天)Activity跳转与数据传输,Fragment
- 【Android基础】页面跳转与传值(Activity跳转与传值)
- Android基础】页面跳转与传值(Activity跳转与传值)
- 【Android基础】页面跳转与传值(Activity跳转与传值)
- 【Android基础】页面跳转与传值(Activity跳转与传值)
- 【Android基础】页面跳转与传值(Activity跳转与传值) .
- 【Android基础】页面跳转与传值(Activity跳转与传值)
- Java网络通信
- UDP打洞原理
- 不流泪的飞机
- 读书:智能时代 - 大数据与智能革命重新定义未来
- 分享一个打字练习网站
- Android基础之初探activity(页面跳转,数据传输)
- 3.5.1介质访问控制
- [Android] Android 物理键点击响应 Menu Home Back 键点击捕获
- SQL中LIKE模糊查询LIKE关键字匹配语句
- 【Qt开发】QScrollArea添加布局后没有出现滚动条的解决方法
- 【JAVA语言程序设计基础篇】--事件驱动程序设计--键盘事件
- 解决windows+python+opencv无法读取视频的问题
- 使用FFmpeg库实现视频编码
- [设计模式之禅笔记] 2. 里氏替换原则