小编ica*_*ual的帖子

Android:更新到新版本的gradle后出现"Manifest merger failed"错误

在接受将项目更新为新版本的gradle后,我收到此错误:

Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38
    is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:41 to override.
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?这是我的应用程序build.gradle文件:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.sample.bookReader"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    ...
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:+'
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile 'com.android.support:cardview-v7:26.0.0-alpha1'
    compile 'com.android.support:design:25+'
    compile 'com.jakewharton:butterknife:8.2.1'
    apt 'com.jakewharton:butterknife-compiler:8.2.1'
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是项目的build.gradle …

android

107
推荐指数
6
解决办法
13万
查看次数

保持我的signals.py文件在Django项目中的正确位置

基于我正在阅读的Django文档,似乎signals.py在app文件夹中是一个很好的开始,但我面临的问题是,当我创建信号时pre_save,我尝试从模型中导入类,它与import在我的模型中.

# models.py

from django.contrib.auth.models import User
from django.db import models
from django.utils.translation import gettext as _
from signals import *

class Comm_Queue(CommunicatorAbstract):
    queue_statuses = (
        ('P', _('Pending')),
        ('S', _('Sent')),
        ('E', _('Error')),
        ('R', _('Rejected')),
    )
    status          = models.CharField(max_length=10, db_index=True, default='P')
    is_html         = models.BooleanField(default=False)
    language        = models.CharField(max_length=6, choices=settings.LANGUAGES)
    sender_email    = models.EmailField()
    recipient_email = models.EmailField()
    subject         = models.CharField(max_length=100)
    content         = models.TextField()
Run Code Online (Sandbox Code Playgroud)
# signals.py

from django.conf import settings
from django.db.models.signals import pre_save
from django.dispatch import receiver
from …
Run Code Online (Sandbox Code Playgroud)

django django-signals

76
推荐指数
6
解决办法
3万
查看次数

如何合并 GitLab CI 作业上的规则

假设我有这个隐藏的“基础”工作。

.base_job:
  rules:
    - if: "$CI_COMMIT_TAG"
      when: never
    - if: '$CI_PIPELINE_SOURCE == "web"'
Run Code Online (Sandbox Code Playgroud)

我想将这些规则添加到新工作中,并且也能够扩展它们,例如:

job_1:
  rules:
    - <add .base_job here>
    - if: "$CI_MERGE_REQUEST_IID"


job_2:
  rules:
    - <add .base_job here>
    - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
Run Code Online (Sandbox Code Playgroud)

请注意,job_1job_2有不同的规则,包括来自.base_job

如果我要使用extends,这些作业将只有自定义规则,因为根据文档
You can use extends to merge hashes but not arrays.

到目前为止,我的解决方案是复制粘贴这两项工作的规则,但我想让它更加干燥。

有关如何做的任何提示?

yaml gitlab-ci

25
推荐指数
3
解决办法
2万
查看次数

Android工作管理器:"无法实例化工作者"

我已经按照Android开发人员的教程使用工作管理器结构在后台运行我的代码,但是当我尝试将我的工作人员排队时它不会运行,我收到以下错误:

2018-10-04 22:25:47.004 28669-28885/app.package.com.debug E/DefaultWorkerFactory: Could not instantiate app.package.com.MyWorker
    java.lang.NoSuchMethodException: <init> []
        at java.lang.Class.getConstructor0(Class.java:2320)
        at java.lang.Class.getDeclaredConstructor(Class.java:2166)
        at androidx.work.DefaultWorkerFactory.createWorker(DefaultWorkerFactory.java:58)
        at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.java:180)
        at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:117)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
2018-10-04 22:25:47.005 28669-28885/app.package.com.debug E/WorkerWrapper: Could for create Worker app.package.com.MyWorker
Run Code Online (Sandbox Code Playgroud)

我已经看到这个问题可能与worker上的默认构造函数有关但我已经使用了正确的构造函数而不是不推荐使用的默认函数.

我的工人被宣布为:

public class MyWorker extends Worker {

    public MyWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
        super(context, workerParams);
    }

    @NonNull
    @Override
    public Result doWork() {
        // Doesn't even get called
    }
}
Run Code Online (Sandbox Code Playgroud)

它就像这样排队:

WorkManager workManager = WorkManager.getInstance();
if (myWorkerRequest == null) …
Run Code Online (Sandbox Code Playgroud)

android android-workmanager androidx

12
推荐指数
7
解决办法
3311
查看次数

使用 PHP 将文件添加到 zip 文件内的文件夹

如何使用 PHP 将文件添加到 zip 文件内的文件夹?

例如,如果我有 zip 文件:

myzip.zip
  |-hello.doc
Run Code Online (Sandbox Code Playgroud)

如果我想将文件“example.jpg”添加到“images”文件夹中,则 zip 文件将是:

myzip.zip
  |-hello.doc
  |-images
    |-example.jpg
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?

php zip

3
推荐指数
1
解决办法
1万
查看次数

不安全的重定向到django中具有协议'content-type'的URL

当我在基于类的视图中使用HttpResponseRedirect时,我遇到了这个问题:

def get_success_url(self):
    search = searchViews.getIndexInstance()
    search.mainfunc(self.contentForSearch, self.discussion.pk)
    return HttpResponseRedirect(reverse('discussion-detail', kwargs={'slug':self.discussion.slug}))
Run Code Online (Sandbox Code Playgroud)

在django中的CreateView的get_success_url()内部.

Traceback:
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  34.             return bound_func(*args, **kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  30.                 return func.__get__(self, type(self))(*args2, **kwargs2)
File "/home/nithin/djangopro/viewanalyse/discussion/views.py" in dispatch
  30.         return super(LoggedInMixin, self).dispatch(*args, **kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  89.         return handler(request, *args, **kwargs)
File "/home/nithin/djangopro/djangoenv/local/lib/python2.7/site-packages/django/views/generic/edit.py" in post …
Run Code Online (Sandbox Code Playgroud)

django django-class-based-views

3
推荐指数
1
解决办法
6114
查看次数

使用sed提取git diff的插入和删除次数

我正在使用gif diff --shortstat filename来获取文件中更改的行数。输出示例如下:

 1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)

现在我想使用该命令sed并仅提取插入和删除的数量,在这种情况下11.

我正在使用sed匹配和提取组,但我git再次从命令中得到相同的文本。我的命令如下(试图只获取插入行号)。

sed "s/\([0-9]+\) insertion/\1/"
Run Code Online (Sandbox Code Playgroud)

因此,完整的执行将类似于:

$ git diff --shortstat filename | sed 's/\([0-9]+\) insertion/\1/'
> 1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)

我需要改变什么才能让它工作,或者有没有其他方法可以做到这一点?

regex bash grep sed

2
推荐指数
1
解决办法
443
查看次数

数学函数用于查找范围内数字的最大倍数

我想知道是否有一个数学表达式可以用来找到两个数字之间的这种关系.

输入和预期输出的一些示例如下:

Input    Multiple   Result
4        3          3
6        3          6
8        3          6
4        4          4
12       4          12
16       5          15
Run Code Online (Sandbox Code Playgroud)

此外,Wolfram Alpha下面的表达式向我展示了预期的结果,但由于他们没有扩展关于如何做到这一点的解释,我无法向他们学习......

10的最大倍数4

来自12的4的最大倍数

python math

2
推荐指数
1
解决办法
165
查看次数