小编Mar*_*ler的帖子

Android Room引发错误:删除方法必须返回void或返回int(已删除的行数)

我正在将Android Room与RxJava一起使用

dependencies {
    implementation 'androidx.room:room-rxjava2:2.1.0-alpha02'
}
Run Code Online (Sandbox Code Playgroud)

我需要从参数化删除方法中获取Completable,我认为此功能从2.1.0开始添加?例如

  @Query("DELETE FROM message_table WHERE uid = :id")
  Completable delete(String id);

  @Query("DELETE FROM message_table")
  Completable deleteAll();
Run Code Online (Sandbox Code Playgroud)

仍然会引发错误: Deletion methods must either return void or return int (the number of deleted rows).

android rx-java2 android-room

5
推荐指数
2
解决办法
1076
查看次数

Extract the data from QR Codes and create a new QR code with colour

Has anyone heard of this before ? Extract the QR Codes (all the QR Codes must be in same Width and Height {square}) and get the data from each QR Code, and combine them. Then get the every pixel value from each QR Code and change them to hexadecimal. You will give #FFFFFFFF, #FF000000, #00000000 (white,black, transparent) and the like (but for black and white QR Code, it would only 2 of them). Then for …

android qr-code zxing

5
推荐指数
1
解决办法
385
查看次数

获取快捷方式而无需新的静态/动态快捷方式

我正在从系统中检索所有可能的快捷方式,如下所示:

val pm = context.getPackageManager()
val shortcutsIntent = Intent(Intent.ACTION_CREATE_SHORTCUT)
val ril = pm.queryIntentActivities(shortcutsIntent, 0)
// I progress this data and show my users a custom dialog with apps 
// and possible shortcuts and then will start the shortcut setup with ACTION_CREATE_SHORTCUT intent
Run Code Online (Sandbox Code Playgroud)

这里的问题是,在android O或更高版本上,例如还会返回新的静态快捷方式-就我所知,应用程序必须是默认启动器。我可以以某种方式过滤掉它们吗?

我有一个像应用程序这样的边栏,并且由于缺少权限而只能支持普通的快捷方式,而不能支持较新的静态/动态快捷方式...

Gmail例如提供了标签的快捷方式-我在上面看到了这个可能的快捷方式。但是,如果我开始设置如下所示的快捷方式

 val i = Intent(Intent.ACTION_CREATE_SHORTCUT)
 i.addCategory(Intent.CATEGORY_DEFAULT)
 i.component = ComponentName(packageName, activityName)
 startActivityForResult(i, RequestCodes.SHORTCUT_CREATE_REQUEST_CODE)
Run Code Online (Sandbox Code Playgroud)

并等待结果,我不回来的IntentIntent.EXTRA_SHORTCUT_INTENT(像所有其他人Intent.EXTRA_SHORTCUT_ICON,...)在里面,但一个与LauncherApps.EXTRA_PIN_ITEM_REQUEST它。但这为时已晚,我想从上面的列表中删除此快捷方式,因为我知道我的应用由于缺少权限而无法启动此类快捷方式...

android shortcut android-8.0-oreo android-9.0-pie

5
推荐指数
0
解决办法
152
查看次数

JaCoCo 显示 0% 覆盖率,即使所有测试都已通过

  1. 我在androidTest目录下写了一些测试用例。
  2. 我正在使用 androidx ( testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner")
  3. 添加的依赖项:

    androidTestImplementation 'androidx.test:runner:1.1.0'

    androidTestImplementation 'androidx.test:rules:1.1.0'

  4. 还添加了 JaCoCo 作为依赖项。

  5. 当我运行createDebugAndroidTestCoverageReportGradle 任务时,所有测试用例都成功运行,但报告中的覆盖率为 0%

我猜这是由于这个错误:

V/InstrumentationResultParser:错误:无法生成 Emma/JaCoCo 覆盖范围。V/InstrumentationResultParser:INSTRUMENTATION_CODE:-1

android jacoco android-testing androidx

5
推荐指数
1
解决办法
1443
查看次数

我应该删除继承类中未用nullable注释的重写方法的nullability

Android 3.5.1
Run Code Online (Sandbox Code Playgroud)

我使用的是WebView,我注意到当我重写某些方法时,所有参数都是可为null的类型:

webview.webViewClient = object : WebViewClient() {
    override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
         return super.shouldOverrideUrlLoading(view, request)
    }
}
Run Code Online (Sandbox Code Playgroud)

这意味着我必须使用safe call运算符来使用它们。但是,当我查看WebViewClient从其重写方法的类时,未nullable在Java代码中指定为注释。

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    return shouldOverrideUrlLoading(view, request.getUrl().toString());
}
Run Code Online (Sandbox Code Playgroud)

因此,我想到了要从重写方法中删除可空性还是保留它们?

java android nullable kotlin

5
推荐指数
1
解决办法
486
查看次数

尝试运行 Android 应用程序时出现 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误

我以前从未制作过 Android 应用程序,这不是一个好的开始。我在 Android 工作室做了一个空白项目作为测试,并尝试在我的华为 P33 手机上运行该程序。当我尝试构建和安装程序时,我收到以下消息;

无法使用命令 cmd package install-commit 389180709 提交安装会话 389180709。错误:INSTALL_FAILED_MISSING_SHARED_LIBRARY:无法在 /data/app/com.example.myapplication-segdjrVZj4KvtCNaJ5W5oQ 中安装包。图书馆 com.google.android.things; 失败!

会话“应用程序”:安装未成功。无法安装应用程序:INSTALL_FAILED_MISSING_SHARED_LIBRARY 重试

我花了大约一个半小时的谷歌搜索,但似乎没有人对 Android Things 库有同样的问题。

在“AndroidManifest.xml”中,如果我更改<uses-library android:name="com.google.android.things" /><uses-library android:name="com.google.android" />,应用程序会安装但不执行任何操作并在打开后立即崩溃。

android-studio android-things

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

通过数据绑定中的变量标签设置文本大小

我想通过布局标签中的变量标签将我的编辑文本大小更改为数据绑定,但我无法设置正确的大小。

我在这里添加了我的自定义编辑文本布局,我也在粘贴我的布局,所以请指导我在布局中使用此编辑文本时如何设置动态文本大小。

这是自定义编辑文本布局,我在其中声明了 textSize 变量并且类型为 Float

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>
        <import type="android.text.InputType" />
        <variable name="textSize" type="Float" />
        <variable name="inputType1" type="Integer" />
        <variable name="visibility" type="Boolean" />
        <variable name="textColor" type="Integer" />
        <variable name="holderColor" type="Integer" />
        <variable name="hintColor" type="Integer" />
        <variable name="holderText" type="String" />
        <variable name="hintText" type="String" />
        <variable name="holderVisibility" type="Boolean" />
        <variable name="leftIcon" type="android.graphics.drawable.Drawable" />
        <variable name="editTextBottomLine" type="android.graphics.drawable.Drawable" />
        <variable name="rightIcon" type="android.graphics.drawable.Drawable" />   
        <variable name="fontStyle" type="Integer" />
        <variable name="textField" type="androidx.databinding.ObservableField&lt;String&gt;" />   
        <variable name="isTypePhoneNo" type="Boolean" />
        <variable name="contentMaxLength" type="Integer" />
        <variable name="emojiVisibility" …
Run Code Online (Sandbox Code Playgroud)

android android-databinding

5
推荐指数
1
解决办法
1864
查看次数

Android Studio 中的 LLDB 到底是什么?

我试图了解LLDBAndroid Studio 中到底是什么。

我是 Android Studio 的新手,是否应该在AMD系统上安装它有点令人费解。

android lldb android-sdk-tools android-studio

4
推荐指数
1
解决办法
1937
查看次数

IllegalStateException:WorkManager已经初始化

具有以下依赖性:

dependencies {
    implementation "androidx.work:work-runtime:2.0.1"
    androidTestImplementation "androidx.work:work-testing:2.0.1"
}
Run Code Online (Sandbox Code Playgroud)

当第二次运行此代码时:

Configuration config = new Configuration.Builder().build();
WorkManager.initialize(getApplicationContext(), config);

this.workManager = WorkManager.getInstance();
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

java.lang.IllegalStateException: WorkManager is already initialized.
Did you try to initialize it manually without disabling WorkManagerInitializer?
See WorkManager#initialize(Context, Configuration) or the class level Javadoc for more information.
Run Code Online (Sandbox Code Playgroud)

并且还会在本机端引发分段错误:

A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR),
fault addr 0x878 in tid 10892 (ova.workmanager),
pid 10892 (ova.workmanager)
Run Code Online (Sandbox Code Playgroud)

这将是文档WorkManager#initialize(Context, Configuration)


目的是防止在手动初始化期间崩溃(以更改日志级别)。如何禁用WorkManagerInitializer?如果可能的话,我不想使用static关键字。

java android illegalstateexception android-workmanager androidx

4
推荐指数
3
解决办法
1750
查看次数

Android Studio 3.5错误:无法解析':app @ debug / compileClasspath'的依赖项

尝试同步gradle时出现此错误。我正在使用Android Studio 3.5gradle 5.4.1。在此配置下运行正常,突然我开始出现此错误。

**ERROR**: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.google.android.gms:play-services-location:[15.0.0, 16.0.0).
Affected Modules: app

**ERROR**: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.google.android.gms:play-services-location:[15.0.0, 16.0.0).
Affected Modules: app

**ERROR**: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.google.firebase:firebase-messaging:[10.2.1, 12.1.0).
Affected Modules: app

**ERROR**: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.google.android.gms:play-services-location:[10.2.1, 12.1.0).
Affected Modules: app
Run Code Online (Sandbox Code Playgroud)

这是我的app/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' …
Run Code Online (Sandbox Code Playgroud)

android gradle kotlin android-studio

4
推荐指数
1
解决办法
1359
查看次数