小编Hem*_*mar的帖子

Gradle Error:资源'attr/font'的重复值,配置"解决方案无效

我正在尝试为我的第一个Android应用程序创建圆形按钮.

为此,我compile 'com.cuboid:cuboidcirclebutton:1.0.5'在circlebutton/app/build.gradle中添加了库

当我同步时,我收到错误.下面是日志

Information:Gradle tasks [clean, :app:assembleDebug]
C:\Users\Amninder\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\2d55d8c33dae479e599960c08d012b17\res\values\values.xml
Error:(246, 5) error: duplicate value for resource 'attr/font' with config ''.
Error:(246, 5) error: resource previously defined here.

C:\Users\Amninder\AndroidStudioProjects\circlebutton\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:(254) duplicate value for resource 'attr/font' with config ''.

Error:(240) resource previously defined here.

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.

 Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Information:BUILD FAILED in 19s
Information:6 errors
Information:0 warnings
Information:See complete output in …
Run Code Online (Sandbox Code Playgroud)

android gradle

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

无法解析符号“ FirebaseInstanceId”

我正在尝试使用FirebaseInstanceId,但一直收到错误

“无法解析符号FirebaseInstanceId”。

gradle模块包括

dependencies {
    compile 'com.google.firebase:firebase-messaging:+'
    compile 'com.google.firebase:firebase-iid:+'
}
Run Code Online (Sandbox Code Playgroud)

com.google.firebase.iid上唯一存在的东西似乎是.zzb。我想念什么吗?

java android

7
推荐指数
1
解决办法
9971
查看次数

Android - 绑定适配器无法正常工作

我已经创建了一个绑定适配器来显示picasso的图片,但它不起作用.我有以下错误:

发现数据绑定错误.****/数据绑定错误****msg:在android.widget.ImageView上找不到参数类型为java.lang.String的属性'app:loadPicture'的setter.file:/home/groupevsc.com/mathieu_labar/Documents/Projects/android-jetpack/app/src/main/res/layout/activity_detail_movie.xml loc:27:31 - 27:52****\data binding error****

这是我的绑定适配器:

object CommonBindingUtil {

    @JvmStatic
    @BindingAdapter("loadPicture")
    fun loadPicture(view: ImageView, text: String) {
        Picasso.with(view.context)
                .load(text)
                .error(R.drawable.ic_movie_24)
                .fit()
                .placeholder(R.drawable.ic_movie_24)
                .into(view)
    }

}
Run Code Online (Sandbox Code Playgroud)

我的XML有属性"app:loadPicture":

<ImageView
    android:id="@+id/picture"
    android:layout_width="@dimen/material_image_simple_width"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:src="@drawable/ic_movie_24"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:loadPicture="@{viewModel.movie.Poster}"/>
Run Code Online (Sandbox Code Playgroud)

这是我的GitHub存储库:https: //github.com/mlabar/android-jetpack/tree/tech_ajout_databinding

有人有想法解决我的问题吗?

谢谢!

android kotlin picasso android-binding-adapter

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

如何以编程方式从菜单中删除项目?

我创建了带有菜单的底部栏导航。我想通过检查一些条件来删除菜单项,所以我想使用 java 代码删除它。我已经尝试过使用它onCreateOptionsMenu(),但不知何故它不起作用。我不知道我做错了什么,将不胜感激。

     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.member_activities);        
            BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomViewBar);
            BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
            menu = bottomNavigationView.getMenu();
            MenuItem menuItem = menu.getItem(0);
            menuItem.setChecked(true);
}
  @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            this.menu = menu;
            menu.removeItem(R.id.district_tab);
            return true;
        }
Run Code Online (Sandbox Code Playgroud)

bottom_navigation_menu.xml:

<item
    android:id="@+id/member_tab"
    android:icon="@drawable/ic_person_outline"
    android:title="Member"/>
<item
    android:id="@+id/club_tab"
    android:icon="@drawable/ic_person_outline"
    android:title="Club"/>

<item
    android:id="@+id/district_tab"
    android:icon="@drawable/ic_person_outline"
    android:title="District"/>

<item
    android:id="@+id/ag_tab"
    android:icon="@drawable/ic_person_outline"
    android:title="AG"/>

<item
    android:id="@+id/dg_tab"
    android:icon="@drawable/ic_person_outline"
    android:title="DG"/>
Run Code Online (Sandbox Code Playgroud)

java android

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

如何使用 Android Room 正确获取 DAO 类中的表名称

我想知道在 Android Room 查询中使用表名时如何避免硬编码。我用 开发Kotlin,但说实话,在这个问题上,使用 Java 还是 Kotlin 并不重要。

让我们看看简单的类:

DAO接口:

@Dao
interface UserDAO {

    @Query("SELECT * FROM USER")
    fun getAll(): List<User>
}
Run Code Online (Sandbox Code Playgroud)

实体类:

@Entity(tableName = "USER")
class User {
}
Run Code Online (Sandbox Code Playgroud)

可以看到表名“USER”被硬编码在UserDAO中的@Query中。如何避免这种情况?如何引用@Entity参数tableName

我希望将所有名称集中在一处。

android kotlin android-room

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

我可以通过adb shell命令调用活动的finish()吗?

我想onDestroy()通过adb命令调用活动的回调.如果有办法finish()通过adb shell命令调用某个活动,有人可以告诉我吗?

android adb

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

应用程序可以在调试模式下运行,但不能在发布模式下运行

我有一个应用程序,现在我要发布它。我创建了一个 apk 文件并安装了它,但是当我向服务器发送登录请求时,它返回 null ..

奇怪的是,当我使用调试版本启动应用程序时,它工作正常。该问题仅发生在发布模式下。所以读完这篇文章后我认为问题出在 proguard 上

这是我到目前为止所做的事情。

  1. 添加了所需的所有混淆器规则。(改造、Okhttp3、Glide)- 未工作。
  2. 在“构建”菜单中使用 [构建 apk(s)] 创建一个 apk 并测试它 - 有效,但正在调试。

任何帮助,将不胜感激...

这是我的 build.gradle 文件。

defaultConfig {
    multiDexEnabled true       
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:design:$rootProject.supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:gridlayout-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:animated-vector-drawable:$rootProject.supportLibraryVersion"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'       
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'     
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    implementation 'com.squareup:otto:1.3.8'
    implementation 'com.github.nisrulz:recyclerviewhelper:26.0.0'
    implementation …
Run Code Online (Sandbox Code Playgroud)

android proguard android-proguard

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

如何在开发者选项android中打开选择模拟位置应用程序?

我想让用户在启用后重定向到开发人员选项->模拟位置。我的要求是,当跟踪到任何虚假的 GPS 位置时,我需要重定向到开发人员选项-> 选择模拟位置应用程序以禁用。

 if (AppUtils.isMockLocationEnabled(mLastLocation, FeedbackActivity.this)) {
   final Dialog dialog = new Dialog(FeedbackActivity.this);
                                    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                                    dialog.setContentView(R.layout.custom_alert_response_accepted1);

                                    Button ok = (Button) dialog.findViewById(R.id.ok_button);
                                    TextView textView = (TextView) dialog.findViewById(R.id.response);
                                    textView.setText("Turn off Fake Gps");

                                    Button cancel = (Button) dialog.findViewById(R.id.Cancel_button);

                                    dialog.setCancelable(false);
                                    dialog.show();

                                    ok.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View view) {

//    startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));

             //I tried this but this is not working..
                                            Settings.Secure.getString(getContentResolver(), "mock_location");
                                        }
                                    });
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个“mock_location”,但它不会选择模拟位置应用程序。没有任何表现..

//下面这只是仅打开开发者选项。如何重定向到开发者设置中的模拟位置以关闭?

startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
Run Code Online (Sandbox Code Playgroud)

android android-settings android-security

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

CoordinatorLayout填充剩余高度

对于 a CoordinatorLayout,如果它包含两个视图并且一个视图停靠在底部layout_gravity="bottom",我可以让另一个视图填充剩余高度吗?例如,如果屏幕高度为 1000dp,底部视图的高度为 300dp,则其他视图的高度应为 700dp。

这对于 a 来说很容易LinearLayout,但要使用底部工作表,我必须将 a 设置CoordinatorLayout为最上面的布局。我想知道是否有一种方法可以得到我想要的东西,而无需添加一个孩子LinearLayout来包装两个视图。

android android-coordinatorlayout

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

活动上的FLAG_NOT_FOCUSABLE

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我按返回按钮,应用程序将在10-15秒内特技。在日志中写:

D/ANRAppManager: !!! It is not under singleton mode, U can't use it. !!!
I/dalvikvm: threadid=3: reacting to signal 3
D/dalvikvm: dump native stack for : main
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : Thread-7090
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native …
Run Code Online (Sandbox Code Playgroud)

java android android-activity

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