小编act*_*ity的帖子

SDK平台Android 8.1.0 - 无法下载

Android SDK管理器失败并显示以下消息:

下载SDK平台Android 8.1.0,API 27,修订版1下载完成时大小错误.预计65606517字节,得到65738431字节.

有解决方法吗?

编辑:从AndroidStudio正确下载下载.

android

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

水平或垂直翻转位图图像

通过使用此代码,我们可以旋转图像:

public static Bitmap RotateBitmap(Bitmap source, float angle) {
      Matrix matrix = new Matrix();
      matrix.postRotate(angle);
      return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}
Run Code Online (Sandbox Code Playgroud)

但是我们如何水平或垂直翻转图像?

java android image matrix android-bitmap

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

对话框背景填充的默认颜色是什么?

当Android AlertDialog显示时,此对话框周围的背景会变暗.这可能是通过首先用半透明颜色填充整个屏幕然后在其上面放置一个对话框来实现的.

我的问题是:背景填充的默认颜色是什么?

#88666666 //looks close, but not enough
Run Code Online (Sandbox Code Playgroud)

android android-layout

12
推荐指数
2
解决办法
4750
查看次数

Facebook广告+ GDPR合规性

要获取非个性化广告,AdMob我们可以使用:

Bundle extras = new Bundle();
extras.putString("npa", "1");

AdRequest request = new AdRequest.Builder()
        .addNetworkExtrasBundle(AdMobAdapter.class, extras)
        .build();
Run Code Online (Sandbox Code Playgroud)

是否有类似的技术可以为欧洲用户提供符合GDPR标准的Facebook广告?

android privacy facebook-audience-network

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

Shrinker 配置文件中的 ProGuard 未解析引用

Proguard 文件中的每一行

-keep class android.webkit.** { *; }
-keep class com.facebook.ads.internal.** { *; }
-keep class com.google.android.gms.common.GooglePlayServicesUtil {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {*;}
Run Code Online (Sandbox Code Playgroud)

产生一个 Android Shrinker 错误:

Shrinker 配置文件中未解析的类名/未解析的引用

如何修复这些错误?

(我使用的是 Android Api 29 和 AndroidStudio 4.0。)

编辑:当我仅用 '*' 替换 '**' 通配符时,前两个错误消息消失了。此外,当“$”被点替换时,会找到子类 AdvertisingIdClient$Info。

也许这是 Android Shrinker 中的一个错误。

未解析的类名

android proguard

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

终结器抛出的未捕获异常java.lang.IllegalStateException:Binder已经完成

这段代码

soundPool.release();
soundPool = null;
Run Code Online (Sandbox Code Playgroud)

有时会产生此错误:

Uncaught exception thrown by finalizer
java.lang.IllegalStateException: Binder has been finalized!
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(Binder.java:503)
    at com.android.internal.app.IAppOpsService$Stub$Proxy.stopWatchingMode(IAppOpsService.java:431)
    at android.media.SoundPool.release(SoundPool.java:195)
    at android.media.SoundPool.finalize(SoundPool.java:204)
    at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:217)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:200)
    at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

我能做什么?

android soundpool

11
推荐指数
1
解决办法
3602
查看次数

我可以使用iOS模拟器为App Store制作屏幕截图吗?

我想向Apple App Store提交iPhone + iPad应用程序.

根据要求,至少需要两个屏幕截图:

1242 x 2208:适用于iPhone
2048 x 2732:适用于iPad.

iOS Simulator 允许将设备类型设置为iPhone 6 Plus(5.5英寸)和iPad pro(12.9英寸).

iTunes Connect是否接受制作的屏幕截图Simulator
(或者我必须购买iPhone和iPad才能制作屏幕截图.)

xcode app-store ios-simulator

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

Google Play游戏服务多玩家设备定位更改将用户踢出了房间

我正在开发一个只有一个活动的应用程序(扩展BaseGameActivity),并在多个片段之间切换(很像Google的示例代码状态).

我现在正在2台独立的设备上测试一款多人游戏.两个用户都可以成功登录,相互发送消息等.然而,当一个用户旋转他们的设备时,他们就会被踢出房间.

我认为这是有道理的,因为活动正在被破坏和重新创建.但我不明白的是,我们需要做些什么来让用户旋转他们的设备并保持游戏状态(登录,加入房间等)?

  • 一个想法:android:configChanged ="orientation | screenSize" - 但Android不鼓励(出于好的理由,在大多数情况下) - 但这是我们采用Google Play游戏服务与设备方向更改呆在房间里的方式?

  • 如何使用"onRetainNonConfigurationInstance()"来保存GameHelper实例,并在重新创建活动时再次使用它?

  • 或以某种方式在服务中实现游戏连接(登录,房间加入等)?

或者我是否以错误的方式思考这个问题?!感谢您的想法和帮助.如果可能的话,代码示例也将非常受欢迎.

android multiplayer device-orientation google-play-games

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

没有找到类“com.google.android.gms.ads.measurement.DynamiteMeasurementManager”

我的应用程序使用play-services-ads:18.2.0. 在 Android API 低于 28 的设备上有此错误日志:

I/DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:300
I/DynamiteModule: Selected remote version of com.google.android.gms.ads.dynamite, version >= 300
W/DynamiteModule: Dynamite loader version < 2, falling back to loadModule2
I/DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:7 and remote module com.google.android.gms.measurement.dynamite:0
I/DynamiteModule: Selected local version of com.google.android.gms.measurement.dynamite
W/Ads: #007 Could not call remote method. @28
    com.google.android.gms.internal.ads.zzaxj: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.measurement.DynamiteMeasurementManager
        at com.google.android.gms.internal.ads.zzaxh.zza(com.google.android.gms:play-services-ads-lite@@18.2.0:3)
        at com.google.android.gms.internal.ads.zzajp.zza(com.google.android.gms:play-services-ads-lite@@18.2.0:17)
        at com.google.android.gms.internal.ads.zzajp.zzd(com.google.android.gms:play-services-ads-lite@@18.2.0:44)
        at com.google.android.gms.internal.ads.zzajo.run(com.google.android.gms:play-services-ads-lite@@18.2.0)
        at java.lang.Thread.run(Thread.java:818)
     Caused by: …
Run Code Online (Sandbox Code Playgroud)

android admob

9
推荐指数
0
解决办法
729
查看次数

干净的代码与性能

干净代码的一些原则是:

  • 函数应该在一个抽象级别做一件事
  • 函数的长度最多为 20 行
  • 函数不应有超过 2 个输入参数

通过在 Java 中添加额外的函数调用,“丢失”了多少 cpu 周期?
是否有可用的编译器选项将许多小函数转换为一个大函数以优化性能?

例如

void foo() {
  bar1()
  bar2()
}

void bar1() {
  a();
  b();
}
void bar2() {
  c();
  d();
}
Run Code Online (Sandbox Code Playgroud)

会成为

void foo() {
  a();
  b();
  c();
  d();
}
Run Code Online (Sandbox Code Playgroud)

java android compiler-optimization

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