我正在评估Android应用程序的依赖注入(DI)框架.最有力的竞争者是:Dagger(有Butter Knife)和Android Annotations.据我所知,Dagger和ButterKnife来自同一个源头,他们相互补充.这是我正在寻找的关键矩阵:
android dependency-injection android-annotations dagger butterknife
要求:需要将服务/合同从其他流程公开给其他应用程序.例如:getPhoneRecord(recordId),deletePhoneRecord(phoneId)等
潜在的解决方案:Messenger或AIDL
根据我的分析,我认为AIDL是唯一的选择,因为Messenger提供了一种非常通用的跨应用程序发送消息的方式.Messenger仅限于在客户端发送(Message)和在服务器上发送handleMessage(Message msg).还存在其他差异,例如多线程.但是,我关心的是从其他应用程序/消费者可以调用的服务定义API契约.我的理解是否正确?
我在线阅读了几篇帖子,包括Android开发者网站http://developer.android.com/tools/help/monkeyrunner_concepts.html
我无法通过startActivity方法启动Activity.我尝试了几种选择.这是一个示例代码:
package = 'com.mydomain.mypackage'
activity = '.MyActivity'
runComponent = package + '/' + activity
device.startActivity(component=runComponent)
Run Code Online (Sandbox Code Playgroud)
还尝试了以下代码:
package = 'com.mydomain.mypackage'
activity = 'com.mydomain.mypackage.MyActivity'
runComponent = package + '/' + activity
device.startActivity(component=runComponent)
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有什么能够启动这项活动.我期待钱工具启动活动意味着我应该能够看到屏幕.
任何帮助将不胜感激.
谢谢.