使用Intent 启动一个Activity,Service等时,可以通过putExtra 传送数据,被触发的Activity,Service可以使用getIntent()的getExtras 取的Extra的Bundle ,然后再根据Extra的键值(Key)取的对应的参数值。
RoboGuice提供了一个简洁的方法来取得 这些Extra 值,通过@InjectExtra 标记。
本例使用两个Activity,InjectExtraDemo 用来触发InjectExtraReceiver,在InjectExtraDemo中创建Intent时,通过putExtra 放置两个参数Extra1,Extra2.
public class InjectExtraDemo extends RoboActivity {
@InjectView (R.id.button) Button button;
@Inject Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.injectextra);
button.setOnClickListener(mGoListener);
}
private OnClickListener mGoListener = new OnClickListener()
{
public void onClick(View v)
{
Intent di = new Intent();
di.setClass(context, InjectExtraReceiver.class) ;
di.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
di.putExtra("Extra1","Message1");
di.putExtra("Extra2","Message2");
context.startActivity(di);
}
};
}
在InjectExtraReceiver 通过@InjectExtra 标记 ,Roboguice自动为这些变量注入由Intent传入的值,Optional=true表示该Extra为可选,如果传入的Intent不含这个Extra时,值为null.
public class InjectExtraReceiver extends RoboActivity{
@InjectView (R.id.textview) TextView textView;
@InjectExtra ("Extra1" ) String extra1;
@InjectExtra ("Extra2" ) String extra2;
@InjectExtra (value="Extra3" , optional=true) String extra3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.injectextrareceiver);
textView.setText("Extra1:"+extra1
+"\r\nExtra2:"+extra2
+"\r\nExtra3:"+extra3);
}
}
本例下载
分享到:
相关推荐
安卓Android源码——Inject增加sqlite3数据库映射注解(ORM).zip
Usage: injectdll.exe [process name] [dll path] [option number]option 1 - CreateRemoteThreadoption 2 - NtCreateThreadExoption 3 - RtlCreateUserThread
Inject.io []() Tiny and nice injections syntax sugar for Android. If you're using heavy injection frameworks just to inject views and resources try this. Wat? Just few lines of code, completely no...
例如,在Kotlin公共代码中的构造函数上使用Inject注释: class MyUseCase @Inject constructor() { .. . } 可用的注释和界面 @Inject @Named("name") @Qualifier @Scope @Singleton Provider 建立图书馆 该库...
sisu-inject-bean-1.4.2.jar
InjectCSSToWebView##Inject CSS To WebView ;##将CSS注入WebView .NO.1,Before load WebView,Inject CSS. 在加载WebView之前注入CSS。NO.2,After load WebView,Inject CSS. 在加载WebView之后注入CSS。
官网上说provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。 provide: Object | () => Object(一个对象或返回一个对象的函数) inject...
Functions: Topic parsing, supporting multi-commands Anti-Botkiller Anti-Sandbox VNC-Scanner ...inject disconnect reconnect reconnect.next nick restart vncstop patch part join scan msn
安装meteor add communitypackages:inject-data推送数据我们需要将此包与服务器端路由器一起使用。 我们扩展了nodejs http.OutgoingMessage并提供了这样的API。 这是的示例。 Picker . route ( '/' , function ( ...
VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码...
从您的家庭文件夹注入Javascript和...*可在Windows,Mac和Linux上使用; *同时处理JS和CSS; * @include指令可从域脚本内部加载其他JS文件。 安装扩展程序后,请访问该网站以了解将脚本存储在何处。 支持语言:English
Android 开发使用的inject注解查找控件实例
使用方法: 1. 运行主程序:mimikatz.exe 2. 输入:privilege::debug 提升权限 3. 输入:inject::process lsass.exe sekurlsa.dll 将sekurlsa.dll 注入到lsass.exe 中 4. 输入:@getLogonPasswords 即可获取hash...
原理使用的是:windows NTFS机制。在实际应用中,我们想制定父进程,进行伪装。将NtCreateProcessEx函数的第四个参数,指向我们制定的进程的句柄。原文档引用:Inject-dll-by-Process-DoppelgangingProcess Doppelg...
provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。 需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能...
AndroidInject 是 Android 注解框架,以简化 Android 开发 目前完成的注解(持续增加中): @AINoTitle: 类注解, 只适用于Activity(需继承于AIActivity), 设置Activity不显示Title @AIFullScreen: 类注解...
methodinject,面向android卓aop框26550;的MethodInject.zip
javax.inject.jar java 开发技术要用到,打包分享给大家,需要的下载学习哈!
Spring 依赖的 javax.inject.Provider
最近更新了IOS12.2,导致一些location 无法使用,这个是最新的12.3驱动,把名字修改直接解压至相应文件夹即可使用