导航:首页 > 操作系统 > androidgetintent

androidgetintent

发布时间:2022-09-03 09:50:18

A. android中第一个activity的onCreate中就用getIntent()方法。为什么不会报空指针呢

这个intent一定是不会未空的,MainActivity是的intent一开是ActivityManager发出来的,所以是不为空的

B. Android Intent 如何接收到指定的Intent传递过来的值呢

首先,尽量不要用try{}catch去捕捉能用判断规避的异常,那样会影响效率,每次出现异常,虚拟机要抓错误调用堆栈。所以,最好的方式是通过判断去规避。
按你的思路,可以先判断getIntent.getExtras()是否为null。
Intent
_getIntent
=
this.getIntent();
if(
_getIntent.getExtras()
!=
null){
Log.i("YuryLog","理论上只有点了确认键才执行");
receiveName
=
_getIntent.getExtras().getString("sendName");
receiveEatSomething
=
_getIntent.getExtras().getString("sendeatSomething");
receiveCopies
=
_getIntent.getExtras().getString("sendcopies");
......
要指出的是,上述代码,最好使用getXXXExtra这类方法,它不会出现空指针(除了少数几个,比方说getStringExtra)。
需要设定默认值的,在没有值时它会返回默认值;没有设置默认值的,在没有值时会返回null,针对这类判空一下。
可以看下getBooleanExtra的源码
public
boolean
getBooleanExtra(String
name,
boolean
defaultValue)
{
return
mExtras
==
null
?
defaultValue
:
mExtras.getBoolean(name,
defaultValue);
}
而getExtras()在没有值时会返回null,看下源码:
public
Bundle
getExtras()
{
return
(mExtras
!=
null)
?
new
Bundle(mExtras)
:
null;
}
所以,最好不要用getIntent().getExtras()这种方式,换用getIntent().getXXXExtras(),这样针对有设置默认值的就不需要判空了。
activity之间传值,是没有机制可以确定哪个activity传过来的。这是考虑到代码的可扩展性,解耦。要确定哪个activity发过来,在intent创建那里多传个布尔值就行,比方说下面的代码。
发送
intent.putExtra("fromXXActivity",
true);
接收
if
(getIntent().getBooleanExtra("fromXXActivity",
false))
{
......
//
这里,你就可以安全的接收那个activity发过来的所有值。
}

C. Android开发中,onCreate方法中经常有直接调用的方法如:getIntent(),这样的方法都是Activity定义过的吗

getIntent()得到的startActivity(intent)中传递过来的Intent的,就像你说说的那样,是Activity实现的,你继承了Activity,所以自然就能用了。

getDefaultAdapter()这个不是Activity的

D. 我是android 开发的 在mainActivity中调到 CaptureActivity 然后在跳回来 getIntent取不到值

本来就获取不到。返回的时候没有用intent。。这样写的话 你要用startacitvityforresult 来启动第二个页面

E. 安卓getIntent();方法

原方法为 public Intent getIntent() ,它是Intent类本身的一个方法,可以直接返回Intent实例。调用其它类的方法才用对象或对象(静态方法用类名)。这样的例子有很多啊,例如:getBaseContext(), 得到一个Context的引用。

F. android this.getIntent(); 和new Intent();有什么 区别呢

不要用getintent

getintent是用来获取前一个activity的的附加数据的
比如oneactivity用intent启动twoactivty,并且用putextra方法加入了一些数据,在twoactivity就可以getintent,使用getextra获取额外数据

G. android 中如何使用intent通过传递变量传递数据

Intent intent =new Intent(AActivity.this,BActivity.class);
intent.putExtra("num1", num1) ;
intent.putExtra("num2", num2) ;
startActivity(intent) ;
另一个接受的是Activity是 :
String num1 =this.getIntent().getStringExtra("num1") ;
String num2 =this.getIntent().getStringExtra("num2") ;
基本就这样

阅读全文

与androidgetintent相关的资料

热点内容
加密货币换平台 浏览:609
手机内存压缩软件 浏览:33
生成树是否与遍历算法有关 浏览:727
python强化学习迷宫 浏览:449
老包子解压视频 浏览:885
服务器注册是什么意思 浏览:418
程序员群体焦虑如何破局 浏览:584
程序员在广州上班 浏览:803
androidlinuxadt 浏览:512
广联达软件加密锁原装芯片 浏览:338
如何打开数据库服务器 浏览:310
kppm是什么app 浏览:538
python多个数组命名 浏览:192
a算法csdn 浏览:23
r720服务器什么年代 浏览:975
本地电脑怎么设置传奇服务器 浏览:1002
安卓10框架怎么制作 浏览:959
程序员退休工资待遇 浏览:609
湛江中文编程数控系统代理 浏览:419
openglandroid书 浏览:170