1.activity 之间跳转
显示跳转:在可以引用到那个类, 并且可以引用到那个类的字节码时可以使用. 一般用于在自己程序的内部.显式跳转不可以跳转到其它程序的页面中。
显示跳转举例:(跳转本应用)
Intent intent = new Intent(NewDianPuActivity.this, BaoBeiDetailActivity.class);
intent.putExtra("itemid", "123");
startActivity(intent);
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);隐式跳转:可以在当前程序跳转到另一个程序的页面.隐式跳转不需要引用到那个类,但是必须得知道那个界面的动作(action)和信息(category)。
Intent intent = new Intent();
intent.setAction("com.my.activity.sencond");
intent.addCategory("android.intent.category.DEFAULT");
//data和type不能共存,只有调用这个api,实现data和type的同时设置
intent.setDataAndType(Uri.parse("title:苹果"), "com.my.activity");
startActivity(intent);
2.1打开系统浏览器:
浏览器应用对应的Activity的<intent-filter>信息如下:
编码实现activity跳转:
Intent intent =new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
2.2 打开系统短信发送页面:
短信应用对应的Activity的<intent-filter>信息如下:
编码实现activity跳转:
private void jumpToSMS(){
Intent intent =new Intent();
intent.setAction("android.intent.action.SENDTO");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("sms:10086"));
intent.putExtra("sms_body","查流量");
startActivity(intent);
}3.使用Intent传递数据
Intent可传递的数据类型有: 八大基本类型,数组 ,ArrayList<String>,Bundle数据捆 , 序列化接口(javabean)
注意:Intent传递的数据过多可能会造成跳转速度极慢甚至黑屏一会,不要用Intent传递过多的数据,会影响到应用程序的使用
跳转与数据传递在Android应用开发中的实践
本文详细介绍了Android应用内跳转的方法,包括显示跳转和隐式跳转,以及如何通过Intent传递不同类型的数据。同时,还特别讨论了如何跳转到系统应用,如浏览器和短信应用,并提供了实例代码。最后,文章强调了避免过度使用Intent传递大量数据以优化用户体验的重要性。
2044

被折叠的 条评论
为什么被折叠?



