Articles of 依赖关系

Android片段和dependency injection

正如标题所说,我试图找出哪个是在片段中注入依赖关系的最佳方法。 我想独立于RoboGuice等外部框架 现在,以最简单的方式,我有一个抽象的逻辑的接口,并从一个活动,我想注入这个接口的实现。 我知道我必须为我的片段提供一个默认构造函数,因为系统可能需要在某个时候重新创build片段,创build片段的新实例的常用方法是提供静态方法来处理创build这个: public static Fragment newInstance() { final Bundle bundle = new Bundle(); … final Fragment fragment = new MyFragment(); fragment.setArguments(bundle); return fragment; } 我怎么能传递我的依赖到片段? 我应该使它实现Parcelable或Serializable接口,然后将其打包到Bundle中? 有没有其他方法可以达到这个效果? 谢谢!

如何更新android studio中的插件?

差不多一个星期后我跑了我的android项目,我得到了这个消息: 插件太旧,请更新到更新的版本,或将ANDROID_DAILY_OVERRIDE环境variables设置为“a8faa180fc282060c9b8ec88f9bdcc9072121284” 我如何更新我的插件? 我正在使用Android Studio 2.0。 这是我的build.gradle项目文件 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { […]

我们如何通过组合不同的模块来创build一个单一的库?

我想从我的项目中构build单个库,该项目使用许多依赖项和资源。 如果cardview作为jar被导入,它将不具有它的资源,但是当它被添加为aar时,它被添加为另一个模块。 所以我不能把它合并成一个单独的库。 我不想将我的项目提交到存储库。 如何build立图书馆,提前致谢!

Android库项目com.android.dex.DexException:多个dex文件定义Lcom / google / gson / JsonSerializer

我正在Android Studio中编写一个库项目。 我的gradle文件包括gson凌空play-services等… 当我的库embedded到一个项目中时,我得到: com.android.dex.DexException:多个dex文件定义Lcom / google / gson / JsonSerializer; 有人可以解释创build库项目时gradle的工作原理吗? 我应该怎样解释集成我的SDK的开发人员,排除模块是如何工作的,以及为什么它不在包括我的aar的应用程序中工作?

即时运行在Android Studio上不起作用,Gradle版本2.10是必需的。 我用2.10

这是我得到的错误: Error:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /Users/alinrosu/Workspace/passenger-android/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip 我在我的buildscript中使用这个: dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha5' } 这是我的gradle-wrapper.properties文件: #Tue Jan 05 13:28:23 CET 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 如你看到的。 我使用gradle版本2.10。 我需要以某种方式刷新caching吗? 我试图干净,重build,但没有任何工作

如何做偏好属性android:依赖?

有没有XML的属性,完全相反的android:dependency ? 我想要的依赖首选项被启用时,其他没有选中和禁用时,它被选中。 编辑:也许这个问题是不是与android:dependency也许有一个xml属性,我可以添加,以使该偏好的默认禁用,然后android:dependency将按照我想要的相反的方式切换它。 再次编辑:我试图在首选项中设置android:enabled="false" ,它会像我想要的那样禁用它,但即使依赖于其他首选项,它也不会像我所希望的那样启用它

无法parsingconfiguration的所有依赖关系:app:debugAPKCopy'

当我尝试运行应用程序时,似乎我遇到了这个问题

错误:无法parsing:com.twitter.sdk.android:twitter:2.3.0 – Android Studio

我得到这个错误在我的日志猫 Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0 当我尝试添加这个依赖: compile 'com.firebaseui:firebase-ui:1.1.1' 有人可以帮助我,我不知道我做错了什么。 这是我从哪里得到的依赖链接: https : //github.com/firebase/FirebaseUI-Android 。 在附注中,我没有在应用程序中使用twitterlogin或任何与twitter的交互,所以我不知道为什么当我在放置依赖项后同步我的gradle时出现这个错误。

如何在不使用Dagger的情况下使用MVP中的共享首选项并且不会导致Presenter与上下文相关?

我试图实现无匕首MVP(用于学习目的)。 但是我遇到了这个问题 – 我使用Repository patter从caching(Shared Preferences)或networking获取原始数据: Shared Prefs| |<->Repository<->Model<->Presenter<->View Network| 但是要把我的手放在共享首选项上,我必须把它放在某处 presenter = new Presenter(getApplicationContext()); 我使用onRetainCustomNonConfigurationInstance / getLastCustomNonConfigurationInstance对来保持Presenter“保留”。 public class MyActivity extends AppCompatActivity implements MvpView { @Override protected void onCreate(Bundle savedInstanceState) { //… presenter = (MvpPresenter) getLastCustomNonConfigurationInstance(); if(null == presenter){ presenter = new Presenter(getApplicationContext()); } presenter.attachView(this); } @Override public Object onRetainCustomNonConfigurationInstance() { return presenter; } […]

如何使一个Android应用程序依赖于另一个应用程序?

如果我创build了一个依赖于另一个应用程序(例如:Facebook和Twitter应用程序)的应用程序,但它们没有安装,是否有一种方法检查这些依赖关系,并将它们同时安装到我自己的应用程序中?