小编Xan*_*Xan的帖子

如何在NavigationView中自定义项目背景和项目文本颜色?

我想实现Material Design Docs中显示的类似内容.

colorControlHighlight 用于检查项目的背景.

我需要自定义:

  • 背景未经检查
  • 文字颜色检查
  • 文本颜色未选中

android drawerlayout material-design android-design-library navigationview

73
推荐指数
6
解决办法
7万
查看次数

什么是:incremental,preDexLibraries,jumboMode,在dexOptions中?

在build.gradle里面我们可以添加params

android {
    dexOptions {
        incremental 
        preDexLibraries
        jumboMode 
        javaMaxHeapSize
    }
}
Run Code Online (Sandbox Code Playgroud)

但文档太低了

http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html#com.android.build.gradle.internal.dsl.DexOptions

布尔增量

是否为dx启用增量模式.这有许多限制,可能无效.小心使用.

布尔jumboMode

在dx中启用jumbo模式(--force-jumbo).

boolean preDexLibraries

是否预先dex库.这可以改善增量构建,但是干净的构建可能会更慢.

1)哪些限制是增量的?

2)什么是巨型模式?

3)什么是pre-dex库?

gradle android-studio build.gradle android-gradle-plugin

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

如何启动所有Android制造商的Power Manager以启用后台和推送通知?

一些Android设备由于定制的Android调整由制造商完成,有一些关于电源管理的政治,打破了一些功能,如推送通知.

  • 华为 - 仅限预EMUI 5.0/Android 7 - 转到设置>"受保护的应用",检查您的应用.
  • 索尼 - 点击电池图标.转到电源管理> STAMINA模式>在待机状态下激活的应用>添加您的应用.
  • 华硕 - 在自动启动管理器中检查您的应用程序.
  • 小米 - 安全(应用程序)>权限>自动启动 - 启用您的应用程序
  • *新小米 - 设置>开发人员选项.禁用"内存优化".要启用开发者选项,请转到设置>关于.点击MIUI 8次.
  • Oppo - 转到设置>"安全设置">"数据保存"并启用您的应用.
  • 三星 - 禁用电池使用优化

我想收集意图来启动各自的工具,但我发现只有华为和小米.

Intent INTENT_HUAWEI = new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
Intent INTENT_XIAOMI = new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));

if (getPackageManager().resolveActivity(INTENT_HUAWEI, PackageManager.MATCH_DEFAULT_ONLY) != null)
    startActivity(INTENT_HUAWEI);
else if (getPackageManager().resolveActivity(INTENT_XIAOMI, PackageManager.MATCH_DEFAULT_ONLY) != null)
    startActivity(INTENT_XIAOMI);
Run Code Online (Sandbox Code Playgroud)

我需要其他所有制作人的帮助

android power-management push-notification

23
推荐指数
2
解决办法
9391
查看次数

您可以为AppCompat主题自定义的完整属性列表是什么,它们的默认值是什么?

使用AppCompatActivity,您必须扩展AppCompat主题.

您可以自定义的完整属性列表是什么,它们的默认值是多少?

我已经收集了一份我已经找到但却不知道是否完整的清单

帮我完成它

<style name="Theme.Custom.AppCompat" parent="Theme.AppCompat">
    <item name="colorAccent">@color/accent_material_dark</item>
    <item name="colorButtonNormal">@color/button_material_dark</item>
    <item name="colorControlActivated">?attr/colorAccent</item>
    <item name="colorControlHighlight">@color/ripple_material_dark</item>
    <item name="colorControlNormal">?android:attr/textColorSecondary</item>
    <item name="colorPrimary">@color/primary_material_dark</item>
    <item name="colorPrimaryDark">@color/primary_dark_material_dark</item>
    <item name="colorSwitchThumbNormal">@color/switch_thumb_material_dark</item>
    <item name="controlBackground">?attr/selectableItemBackgroundBorderless</item>
    <item name="android:colorBackground">@color/background_material_dark</item>
    <item name="android:colorForeground">@color/foreground_material_dark</item>
    <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item>
    <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item>
    <item name="android:textColorSecondary">@color/abc_secondary_text_material_dark</item>
    <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item>
    <item name="android:windowBackground">@color/background_material_dark</item>
</style>
<style name="Theme.Custom.AppCompat.Light" parent="Theme.AppCompat.Light">
    <item name="colorAccent">@color/accent_material_light</item>
    <item name="colorButtonNormal">@color/button_material_light</item>
    <item name="colorControlActivated">?attr/colorAccent</item>
    <item name="colorControlHighlight">@color/ripple_material_light</item>
    <item name="colorControlNormal">?android:attr/textColorSecondary</item>
    <item name="colorPrimary">@color/primary_material_light</item>
    <item name="colorPrimaryDark">@color/primary_dark_material_light</item>
    <item name="colorSwitchThumbNormal">@color/button_material_light</item>
    <item name="controlBackground">?attr/selectableItemBackgroundBorderless</item>
    <item name="android:colorBackground">@color/background_material_light</item>
    <item name="android:colorForeground">@color/foreground_material_light</item>
    <item name="android:textColorPrimary">@color/abc_primary_text_material_light</item>
    <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item>
    <item name="android:textColorSecondary">@color/abc_secondary_text_material_light</item>
    <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item>
    <item name="android:windowBackground">@color/background_material_light</item>
</style>
Run Code Online (Sandbox Code Playgroud)

此外,在Android中创建自定义AppCompat主题的最佳方法是什么?

android android-appcompat android-theme

8
推荐指数
1
解决办法
3416
查看次数

API 26(Android 8.0 Oreo)不推荐使用IntentService + WakefulBroadcastReceiver + AlarmManager.哪个是最好的选择?

有时在我的应用程序中,我需要在后台重复执行某些操作(每X小时).

最高API 25我使用:

  • AlarmManager 使用setInexactRepeating(尊重电池)
  • WakefulBroadcastReceiver 有足够的时间做所有的工作
  • IntentService 在后台线程中做所有事情

在API 26所有这一切都被弃用或限制,并建议使用JobSchedulerJobService代替.

问题是JobService在主线程中运行.

我想在AsyncTask里面使用JobService并调用JobService.jobFinished内部onPostExecute

这是正确的方法吗?

android deprecated intentservice android-8.0-oreo

7
推荐指数
2
解决办法
5948
查看次数

@aar与transitive = true的含义是什么?

我只使用crashlytics作为例子.

有什么区别

    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; }
Run Code Online (Sandbox Code Playgroud)

    compile 'com.crashlytics.sdk.android:crashlytics:2.6.8'
Run Code Online (Sandbox Code Playgroud)

android gradle crashlytics android-gradle-plugin crashlytics-android

6
推荐指数
1
解决办法
1936
查看次数

Google 建议 Security ProviderInstaller 将 TLS 降级至 1.2?

使用 OkHttp 和Google Security ProviderInstaller与支持 TLS1.2 和 TLS1.3 的域的任何连接都是使用 1.2 版本进行的。如果没有 ProviderInstaller,使用 1.3 一切都可以正常工作。

这是示例代码,在 Android 12 上使用最新版本的 okhttp 和 play-services-basement

GlobalScope.launch(Dispatchers.IO) {
    var r1 = OkHttpClient().newCall(Request.Builder().url("https://www.google.com").build()).execute()
    println(r1.handshake)
    try {
        ProviderInstaller.installIfNeeded(this@MainActivity)
        println("ProviderInstaller DONE")
    } catch (e: Exception) {
        e.printStackTrace()
    }

    var r2 = OkHttpClient().newCall(Request.Builder().url("https://www.google.com").build()).execute()
    println(r2.handshake)
}
Run Code Online (Sandbox Code Playgroud)

日志结果是

I/System.out: Handshake{tlsVersion=TLS_1_3 cipherSuite=TLS_AES_128_GCM_SHA256 peerCertificates=[CN=www.google.com, CN=GTS CA 1C3, O=Google Trust Services LLC, C=US, CN=GTS Root R1, O=Google Trust Services LLC, C=US] localCertificates=[]}
I/System.out: ProviderInstaller DONE
I/System.out: Handshake{tlsVersion=TLS_1_2 cipherSuite=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 peerCertificates=[CN=www.google.com, CN=GTS CA 1C3, …
Run Code Online (Sandbox Code Playgroud)

android google-play-services tls1.3

6
推荐指数
0
解决办法
418
查看次数

在android上进行双向数据绑定的正确方法是什么?

我为 2 路数据绑定做了一个简单的 hello world,并且接缝工作完美(当在 editext 上写入时,textview 自动更新),但是在网上找到的所有代码(如官方文档)都有更多的代码和复杂性,例如https://developer.android。 com/主题/库/数据绑定/双向

这是我的代码:

public class MainActivity extends AppCompatActivity {
    public String pippo;
    public Boolean visible = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DataBindingUtil.setContentView(this, R.layout.activity_main);

    }
}



<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <variable
            name="pippo"
            type="String" />

        <variable
            name="visible"
            type="Boolean" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@={pippo}" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@{pippo}"
            android:visibility="@{visible ? android.view.View.VISIBLE: android.view.View.GONE}" />

        <CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:checked="@={visible}" />
    </LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

特别是文档使用这个东西但接缝无用:

  • 基础可观察对象
  • @可绑定
  • 避免无限循环的代码 …

android android-databinding

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

如何替换已弃用的 KeyGenParameterSpec.Builder.setUserAuthenticationValidityDurationSeconds?

从 android 11 开始,setUserAuthenticationValidityDurationSeconds 已被弃用,取而代之的是 KeyGenParameterSpec.Builder 中的 setUserAuthenticationParameters,但接缝处对以前的版本有任何支持。

那么,最好的解决方案是什么?

KeyGenParameterSpec.Builder builder = new KeyGenParameterSpec.Builder(...)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
    builder.setUserAuthenticationParameters(timeout, KeyProperties.AUTH_DEVICE_CREDENTIAL | KeyProperties.AUTH_BIOMETRIC_STRONG);
else
    //noinspection deprecation
    builder.setUserAuthenticationValidityDurationSeconds(timeout);
Run Code Online (Sandbox Code Playgroud)

这个?

security android android-keystore android-biometric-prompt android-biometric

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

Android Wear Watch Face:WatchFaceService中的onDraw()替代方案?

正如这里所解释的那样(https://developer.android.com/training/wearables/watch-faces/service.html)绘制表面我必须使用OnDraw方法,是吗?没有其他选择?

你在开玩笑吗?没有来自xml管理的布局?没有dpi管理?没有屏幕格式管理?等等?

真?

请告诉我,我错了!

PS此页面(http://www.binpress.com/tutorial/how-to-create-a-custom-android-wear-watch-face/120)使用正常活动制作表盘,是否正确?

android watch-face-api wear-os

0
推荐指数
1
解决办法
1412
查看次数

有没有可能在TextInputLayout中使用EditText接近标签?

当我放置2或3个TextInputLayout时,标签接缝以图形方式链接到上一个editText而不是下一个.我需要将很多marginTop放到TextInputLayout.有没有可能用EditText接近标签?

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/name"
        android:inputType="textCapWords" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

例

在这个例子中,我们可以看到提示和编辑文本的边距

android android-design-library

0
推荐指数
1
解决办法
1538
查看次数

Retrofit和Okhttp被抛弃了吗?

  • 改造版本2.9.0 (2020-05-20)
  • Okhttp 版本 4.10.0 (2022-06-12) 版本 5.0.0-alpha.11 (2022-12-24)

Retrofit 有 36 个打开的拉取请求和 147 个打开的错误,Okhttp 有 9 个打开的拉取请求和 161 个打开的错误。

我知道这个问题很伤人,而且我们都把 Retrofit 和 Okhttp 当作小孩子,但我需要问:

Retrofit和Okhttp被抛弃了吗?

android retrofit okhttp okio

0
推荐指数
1
解决办法
571
查看次数