小编Khe*_*raj的帖子

什么是AndroidX

我正在阅读关于Android的房间库.我看到他们改变包装androidandroidx.我不明白.请有人解释一下.

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)

即使这也适用于android包装.

implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)
  • 需要什么来包装新的支持库androidx而不是android.
  • 用例和影响现有项目的因素.

android android-architecture-components android-jetpack androidx

204
推荐指数
8
解决办法
10万
查看次数

构建 Flutter 应用程序时“由于使用已弃用的 Android v1 嵌入而导致构建失败”

to migrate your project. You may also pass the --ignore-deprecation flag to\nignore this check and continue with the deprecated v1 embedding. However,\nthe v1 Android embedding will be removed in future versions of Flutter.\n\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\nThe detected reason was:\n\n  C:\\Users\\ALI HASSAN\\OneDrive\\Desktop\\New folder\\arcore_app\\example\\android\\app\\src\\main\\AndroidManifest.xml uses\n  `android:name="io.flutter.app.FutterApplication"`\n\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\n\nBuild failed due to use of deprecated Android v1 embedding.\n
Run Code Online (Sandbox Code Playgroud)\n

android flutter

74
推荐指数
5
解决办法
13万
查看次数

MutableLiveData中setValue()和postValue()的区别

有两种方法可以改变价值MutableLiveData.但是,什么是区别setValue()postValue()MutableLiveData.

我找不到相同的文档.

这是MutableLiveDataAndroid 类.

package android.arch.lifecycle;

/**
 * {@link LiveData} which publicly exposes {@link #setValue(T)} and {@link #postValue(T)} method.
 *
 * @param <T> The type of data hold by this instance
 */
@SuppressWarnings("WeakerAccess")
public class MutableLiveData<T> extends LiveData<T> {
    @Override
    public void postValue(T value) {
        super.postValue(value);
    }

    @Override
    public void setValue(T value) {
        super.setValue(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-livedata mutablelivedata

57
推荐指数
8
解决办法
2万
查看次数

DataBinding:如何通过动态ID获取资源?

我知道可以通过资源ID引用布局中的资源:

android:text="@{@string/resourceName}"
Run Code Online (Sandbox Code Playgroud)

但是,我想通过id引用资源,这只在运行时才知道.举个简单的例子,假设我们有这样的模型:

public class MyPOJO {

    public final int resourceId = R.string.helloWorld;

}
Run Code Online (Sandbox Code Playgroud)

现在我需要将此值用作格式字符串中的值.我们称之为

<string name="myFormatString">Value is: %s</string>
Run Code Online (Sandbox Code Playgroud)

最直接的方法不起作用:

android:text="@{@string/myFormatString(myPojo.resourceId)}"
Run Code Online (Sandbox Code Playgroud)

这只会将整数值放入占位符(也证明我正确初始化了我的POJO,所以我不在这里提供整个布局).

我也试过使用@BindingConversion,但它没有用(实际上是预期的,但我还是试过了) - int仍然分配给占位符并且没有调用绑定方法.

如何通过DataBinding库中的id显式获取资源?

android android-databinding

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

如何使用Switch onCheckedChageListener事件的数据绑定?

问题表明,如何将已检查的更改侦听器绑定到xml中的"切换"按钮?

我没有使用回收站视图.只是一个简单的布局.

任何帮助赞赏.

data-binding android android-switch

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

Kotlin的单身人士课程

我想知道创建单例类的方法,以便我的Util类每个应用程序只实例化一次.但是当我将我的Java类转换为kotlin时,会生成以下代码.

它是否正确?

companion object {
    private var utilProject: UtilProject? = null

    val instance: UtilProject
        get() {
            if (utilProject == null) utilProject = UtilProject()
            return utilProject!!
        }
} 
Run Code Online (Sandbox Code Playgroud)

我可以找到一个相关的问题,但它是带参数的,我没有在没有参数的情况下进行转换.

android kotlin

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

Android Studio添加了@ androidx.annotation和@ android.support.annotation问题

我将Android Studio更新到版本3.2.0.

当我接受建议列表中的任何更改或alt +输入时.

  • 问题是@androidx.annotation自动创建的.
  • 因此建议方法有两个注释@androidx.annotation.Nullableandroid.support.annotation.Nullable.
  • 我不想手动删除这个不需要的建议,所以我该怎么办android.support.annotation呢?
  • androidx.annotation包是不是我的应用程序添加.我不想添加androidx.annotation.

见例子.

import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {
    @Override
    public void onCreate(@androidx.annotation.Nullable @Nullable Bundle savedInstanceState, @androidx.annotation.Nullable @Nullable PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一些IDE设置来删除自动生成androidx.annotation

更新

我可以通过迁移到androidx(来自官方文档)摆脱这个问题,但我无法将所有项目迁移到androidx当前.所以需要一个解决方案

android android-studio

20
推荐指数
4
解决办法
2万
查看次数

用于React-Native开发的Visual Studio代码中的自动导入

是否有VS代码的扩展,可以为React Native Components进行自动导入

例如:

当我输入时<View,它会自动建议import { View } from 'react-native';

javascript reactjs react-native visual-studio-code

12
推荐指数
1
解决办法
8005
查看次数

在Scrollview中使用FragmentStatePagerAdapter,Viewpager时出现问题

我在用:

  • activity 包含以fragment编程方式添加的布局.
  • 父片段具有FragmentStatePagerAdapter视图寻呼机,所有内容都在里面ScrollView.
  • 查看寻呼机充满了一些具有Recyclerview的子片段.

问题是:

  • View pager片段有一个列表,所以我必须以编程方式设置父视图寻呼机高度.但我不能这样做.

为此,我用过

viewpager.getLayoutParams().height = 20000;
viewpager.requestLayout();`
Run Code Online (Sandbox Code Playgroud)

ViewGroup.LayoutParams params = viewPagerBottom.getLayoutParams();
params.height =  20000;
viewPagerBottom.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

另外,我尝试过查看寻呼机和查看寻呼机片段高度属性 wrap_content

  • 如果我没有设置scrollview android:layout_height="match_parent",则看不到视图寻呼机内容android:fillViewport="true".

它是父片段layout.xml.

<ScrollView
    style="@style/scrollDefaultStyle"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    >

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

        <TabLayout .... />

        <android.support.v4.view.ViewPager
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

android scrollview android-fragments android-viewpager fragmentstatepageradapter

10
推荐指数
1
解决办法
450
查看次数

Firebase身份验证-发生网络错误(例如超时,连接中断或主机不可达)

更新资料

我的应用程序不断在实时应用程序中崩溃。每周有100-200次崩溃。所以我开始悬赏这个问题。如果有人解决了。请帮忙。

但是99%的用户没有崩溃。这些崩溃可能会影响我的应用在Play商店上的存储库。因此,如果我没有解决方案,那么我将最终删除此功能,以在FirebaseAuth中通过电子邮件/密码登录:/

问题:

我在Android应用程序Firebase Auth Login中遇到了很多崩溃(来自249位用户的295次崩溃)。尝试通过电子邮件密码登录的1-2%用户遇到此崩溃。我研究了此错误,并得到提示,当未通过此答案运行播放服务时,会发生这种情况

仅供参考google / facebook身份验证运行正常。此问题仅在通过电子邮件密码登录中。

我尝试了什么?

我试图在登录方法上放置一个try-catch块。并尝试捕获此异常。作为解决方案,我想显示一个对话框,通知用户播放服务未运行。并且他可以手动打开Play商店以启动Play服务,然后再访问此网站。

但是,正如我在Fabric上看到的那样,崩溃永远不会发生阻塞,并且当发生此异常时,应用程序也会崩溃。因为在FirebaseAuth SDK中引发了此错误。

需要什么?

首先,我想确定这个异常的原因。如果由于播放服务未运行而发生这种情况,那么我想向用户显示一个对话框。当前从不显示,在发生以下异常后崩溃。

Fatal Exception: com.google.android.gms.g.f: com.google.firebase.e: A network error (such as timeout, interrupted connection or unreachable host) has occurred.
       at com.google.android.gms.tasks.zzu.getResult(Unknown Source)
       at com.startech.dreamteam11.app.activities.ActivityLogin.tryLogin(Unknown Source)
       at com.startech.dreamteam11.app.activities.ActivityLogin.lambda$-wlX6lv_j3Q0nUN9OuqzHS7ZGP4(Unknown Source)
       at com.startech.dreamteam11.app.activities.-$$Lambda$ActivityLogin$-wlX6lv_j3Q0nUN9OuqzHS7ZGP4.onComplete(lambda)
       at com.google.android.gms.tasks.zzj.run(Unknown Source)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:145)
       at android.app.ActivityThread.main(ActivityThread.java:6946)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Run Code Online (Sandbox Code Playgroud)

Fatal Exception: com.google.android.gms.g.f: com.google.firebase.e: A network error (such as timeout, interrupted connection or …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication

10
推荐指数
1
解决办法
1028
查看次数