Articles of 安卓

设置Gradle将ProGuard映射文件发送到Firebase的困难

我试图按照Firebase的这篇文档教程来设置Android Studio,以便在为我的Android应用程序构build发布APK时自动发送我的ProGuard映射文件。 但是,我似乎无法理解“使用Gradle上传ProGuard映射文件”部分中的步骤4和步骤5,主要是因为我没有在我的项目根目录或主目录path中find任何gradle.properties文件,而且我希望自动化在Android Studio中执行app:firebaseUploadReleaseProguardMapping任务,我不知道该怎么做。 这是我在项目根目录下创build的gradle.properties文件的内容: FirebaseServiceAccountFilePath = /app/firebase-crash-reporting.json firebase-crash-reporting.json文件是我的Firebase崩溃报告私钥。 我的映射文件是在/app/build/outputs/mapping/release/目录中生成的,如果有帮助的话。 请协助我完成这两个步骤,并在Android Studio中自动完成此过程。

如何从testing范围中排除Dagger2类

有什么select可以从Android Studio中的testing覆盖率报告中排除Dagger2类

CommandError:您的项目buildScript或buildSrc classpath中似乎有guava-jdk5

您好我已更新我的IDE“Android Studio 3.0”和Build.gradle,但我遇到了Build Build.gradle(模块APP)中的问题, Build.gradle(模块APP)更新后变成这样 apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '25.0.0' defaultConfig { applicationId "com.abdeljalilkchih.learnarabicforkids" minSdkVersion 12 versionName "\n" + " targetSdkVersion 26\n" + " versionCode 1515.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude […]

应用程序崩溃与本机代码

Crashed: .onlineradioapp| 0 gralloc.rk30board.so 0xb4a2d616 bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 1 gralloc.rk30board.so 0xb4a315c9 (Missing) 2 gralloc.rk30board.so 0xb48e2465 art::JValue art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue) 3 gralloc.rk30board.so 0xb4a1349d artInterpreterToInterpreterBridge 4 gralloc.rk30board.so 0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 5 gralloc.rk30board.so 0xb48f2fef art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, […]

多个可选的GridView

好吧,所以我觉得我已经用尽了search这个问题,或者是我完全错过了一些东西,或者没有人试图创build一个允许用户select多个图像的GridView(显示图像)。 基本上我希望有橙色的select框出现,无论用户select一个图像,或消失,如果用户已经select了图像。 这是什么,我不得不卷起自己的客户查看? 我也可以尝试在每个图像中包含一个checkbox,如果图像是checkbox,则选中checkbox。 任何援助将不胜感激。 迈克尔

Android SMS API

我知道SMS内容提供者不是公共API的一部分(至less没有logging),但是如果我理解正确,只要知道如何使用API​​(?),仍然可以使用许多SMSfunction。 例如,将短信插入收件箱非常简单: ContentValues values = new ContentValues(); values.put("address", "+457014921911"); contentResolver.insert(Uri.parse("content://sms"), values); 不幸的是,这不会触发标准的“收件箱中的新短信”通知。 可以手动触发吗? 编辑 :AFAIK Android中的“标准邮件应用程序(消息)”正在使用android.permission.RECEIVE_SMS权限侦听传入的短信。 然后,当新的SMS到达时,状态栏通知将被插入一个“特殊”通知ID。 所以我的问题(上面所述)的一个解决scheme可能是find并发送正确的广播意图; 像“新的短信已到达”的意图。 编辑 :从Android市场下载第三方消息应用程序( chompsms )。 这个应用程序更好地满足我的需求。 当我执行上面的代码chompsms通知新的短信,并显示“标准状态栏通知”。 所以我会说,标准的Android消息应用程序没有正确检测到短信? 还是我错了?

显示简单的消息对话框

在我的活动中,我想展示简单的信息对话框,例如: new AlertDialog.Builder(context).setMessage(message).show(); 如果我这样做,当我旋转手机时,对话框会泄漏(更不用说它也会消失,所以用户可能会错过它)。 我可以使用托pipe对话框,但是我不确定如何合理地使用这些types的短消息? 看起来你必须这样做: showDialog(SOME_DLG_ID); … @Override onCreateDialog(int id) { if (id == SOME_DLG_ID) { new AlertDialog.Builder(context).setMessage(message).show(); } } 因为它的覆盖方法是没有办法将消息传递到onCreateDialog。 我讨厌做一个父活动的成员variables,只是存储当前的消息应该是什么。 你们怎么做到的? 谢谢

在Android中重用页脚菜单的最佳方法

我试图在应用程序的页脚中实现菜单,类似于Engadget应用程序。 据我所知,获得一个标准的TabLayout这样工作是不平凡的(如果可能的话?)。 正如我看到不less应用程序使用这个接口范例,我会假设有一个聪明的方法来做到这一点。 目前,我正在通过在每个布局的末尾添加一个包含行来定义布局。 就渲染而言,这工作正常,但我必须将onClickListeners添加到每个活动。 我们可以通过XML定义clickListener吗? 总结我的问题:在几个活动中实现共享页脚导航的最佳方式是什么?

如何在特定的LinearLayout中添加canvas?

我是Android的新来者,但不是Java。 我一直在devise的UI通过XML文件,在那个页面我有3个线性布局,在我的顶端布局(第一LinearLayout)我已经保留了一些图像,在最后的布局,我已经保留了一些button,现在我需要放置在我的中心布局使用canvas圈(红颜色),我已经写了一个单独的类扩展视图在onDraw(canvascanvas),我画了一个圆圈。 包com.project.TargetTrackr3; 导入android.content.Context; 导入android.graphics.Canvas; import android.graphics.Color; 导入android.graphics.Paint; 导入android.view.View; 公共类DrawCanvasCircle扩展视图{ public DrawCanvasCircle(Context mContext){ 超级(mContext); } public void onDraw(Canvas canvas){ Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); canvas.drawColor(Color.WHITE); paint.setColor(Color.BLUE); canvas.drawCircle(20,20,15,paint); } } 现在我必须把这个canvas带到第二个布局,我的main.xml如下所示 包com.project.TargetTrackr3; 导入android.app.Activity; 导入android.content.Context; 导入android.graphics.Canvas; 导入android.graphics.ColorFilter; 导入android.graphics.drawable.Drawable; 导入android.os.Bundle; 导入android.view.View; 导入android.widget.LinearLayout; 公共类TargetTrackr3Activity扩展活动{ /** 在第一次创build活动时调用。 * / 受保护的LinearLayout ll; DrawCanvasCircle c; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); 的setContentView(R.layout.main1); […]

如何在运行时dynamic或编程创buildfindViewById parm

我有一个xml布局,将显示由textrows内的表格中的网格。 textview名称是cell00,cell01等。在运行时,我的程序将确定哪个单元格需要更改。 有没有一种方式得到格式的名称,以便它可以传递给运行时的findViewById方法? 例如,如果需要cell00,那么如何在此代码中生成parm? TextView currcell = (TextView) findViewById(R.id.cell00) 像“单元格”+00不会编译,因为findViewById方法不接受stringtypes。 我不希望网格中的每个textview名称都在程序中硬编码 – 必须有更好的方法。 感谢您提供任何帮助。