我已经使用Android Studio(我目前的1.5版)2年了.一切都很好,但是当我下载Canary(2.1 p5)时,一切都出错了.每次我想创建一个新项目或打开一个项目或同步或导入一个新的lib或依赖项时,gradle都需要很长时间才能构建 - 将近20分钟.
我没有做任何事情,我刚刚下载了Canary版本并运行它.
症状:
注意: 当我断开互联网连接时,gradle将尽快完成
我试图通过以下方式解决这个问题:
我已经创建了一个新文件(文件名是gradle.properties),C:\Users\username\.gradle然后将这些行写入其中
org.gradle.parallel=true
org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)我删除了那个版本,然后安装了我的旧版本工作正常但问题仍然存在:(
禁用/启用防火墙
禁用/启用AntiVirus(Nod32)
重新安装Windows操作系统(8.1)
我已经下载了所有版本(1.0.0,...,1.5.1,2.0.0,2.1)
我用过代理
系统信息:
的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:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// …Run Code Online (Sandbox Code Playgroud) android gradle android-studio build.gradle android-gradle-plugin
由于Worker该类是由framework(WorkerManager)创建的,我们如何使用@Inject字段Worker?
没有任何官方文档(至少我已经阅读了文档)来解释这两种模式背后的用法和机制。它们是如何工作的?他们解决了什么问题?
如果有人可以为我简化它,我将不胜感激,因为我已经测试了两者并且没有看到任何有趣的事情。如果你问我,我会说不OneTimeWorkRequest.setBackoffCriteria()影响工作。
这是我的代码,
@Override
public void doSomethingUseful(String order) {
Constraints constraint = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
Data data = new Data.Builder()
.putString("order", order)
.build();
OneTimeWorkRequest oneTimeWorkRequest = new OneTimeWorkRequest.Builder(OrderSenderWorker.class)
.setConstraints(constraint)
.setInputData(data)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 15, TimeUnit.SECONDS)
.build();
WorkManager.getInstance().beginUniqueWork("refresh-order", ExistingWorkPolicy.REPLACE, oneTimeWorkRequest).enqueue();
}
Run Code Online (Sandbox Code Playgroud)
在Worker课堂上,每当我出错时,我都会WorkerResult.RETRY在doWork()方法中返回。
提前致谢 。
我正在使用导航组件和材质工具栏。我刚刚使用材质工具栏设置了导航组件。通过这样做,每当片段更改显示的后退按钮时,导航组件就会自动更改材质工具栏的标题。
问题是我只想将标题重力更改为中心而不删除那些导航组件工具栏支持。
我怎样才能做到这一点 ?
注意:我尝试过更改工具栏样式,但似乎不起作用。在工具栏视图中创建额外的文本视图这不是一个解决方案,因为我想使用导航组件工具栏支持。
提前致谢。