小编Lev*_*von的帖子

如何为Amazon IAP设置ProGuard?

我正在尝试建立一个集成了Amazon IAP的基本ProGuard.但是,当我尝试导出我的APK时,我收到以下错误:

[2012-06-17 10:59:44 - sc] Proguard returned with error code 1. See console
[2012-06-17 10:59:44 - sc] Unexpected error while performing partial evaluation:
[2012-06-17 10:59:44 - sc]   Class       = [com/amazon/inapp/purchasing/KiwiResponseHandler$PurchaseResponseHandlerRunnable]
[2012-06-17 10:59:44 - sc]   Method      = [run()V]
[2012-06-17 10:59:44 - sc]   Exception   = [java.lang.IllegalArgumentException] (Can't find common super class of [java/lang/String] (with 4 known super classes) and [com/amazon/inapp/purchasing/KiwiPurchaseResponseCommandTask] (with 1 known super classes))
[2012-06-17 10:59:44 - sc] java.lang.IllegalArgumentException: Can't find common super class of [java/lang/String] (with 4 known super …
Run Code Online (Sandbox Code Playgroud)

android amazon proguard in-app-purchase

17
推荐指数
3
解决办法
2958
查看次数

如何使用WiX在"开始"菜单中创建多级子文件夹

如何使用WiX在Windows"开始"菜单中创建子文件夹(多个级别)?

目前我能够将我的快捷方式放在"开始"菜单中,但只能在程序(开始/程序/ MyFolder)下的文件夹中,但我想更深入地嵌套我的快捷方式(开始/程序/ MyPlatform/MyProduct /等).我尝试了不同的组合,但唉.

<DirectoryRef Id="StartMenuMyProduct">
    <Component Id="ApplicationShortcut" Guid="{PUT-SOME-GUID-HERE}">
        <Shortcut Id="ApplicationStartMenuShortcut"
                  Name="Configure My Product"
                  Description="Add or remove this and that"
                  Target="[MYPRODUCTDIR]ConfigureMyProduct.exe"
                  WorkingDirectory="MYPRODUCTDIR"/>
        <RemoveFolder Id="StartMenuMyProduct"
                      On="uninstall"/>
        <RemoveFolder Id="StartMenuMyPlatform"
                      On="uninstall"/>
        <RegistryValue Root="HKCU"
                       Key="SOFTWARE\MyCompany\MyPlatform\My Product"
                       Name="Installed"
                       Type="integer"
                       Value="1"
                       KeyPath="yes"/>
    </Component>
</DirectoryRef>

<!-- Shortcut to the configuration utility in the Windows Start menu -->
<Directory Id="ProgramMenuFolder">
    <!--<Directory Id="StartMenuMyPlatform" Name="MyPlatform">-->
      <Directory Id="StartMenuMyProduct" Name="My Product" />
    <!--</Directory>-->
</Directory>
Run Code Online (Sandbox Code Playgroud)

installation installer windows-installer wix wix3

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

如何修复错误:添加Google Analytics时,global_tracker.xml的资源是否重复?

我正在尝试在我的应用中实施Google Analytics,但在编译时我收到以下错误:

错误:任务':app:mergeDebugResources'的执行失败.[xml/global_tracker] C:\ Users\Carlos\AndroidStudioProjects\Capstone\SP\Stocks Panel Lite\app\src\main\res\xml\global_tracker.xml [xml/global_tracker] C:\ Users\Carlos\AndroidStudioProjects\Capstone\SP\Stocks Panel Lite\app\build\generated\res\google-services\debug\xml\global_tracker.xml:错误:重复资源

我试图运行干净的项目,但我得到了同样的错误.如果我删除app/build,我也会得到同样的错误.

提前致谢.

更新:build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.carlos.capstone"
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

    }
    buildTypes {
        release {
            minifyEnabled false

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
    }

}
repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}
dependencies {
    compile fileTree(include: …
Run Code Online (Sandbox Code Playgroud)

android android-resources google-play-services google-analytics-firebase

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

如何保持VectorDrawable的宽高比?

我一直在努力为Android应用创建一个启动画面,如 Splash Screens the Right Way |中所述 大书呆子牧场的风格

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>
Run Code Online (Sandbox Code Playgroud)

background_splash看起来像

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/background"/>
    <item android:drawable="@drawable/sparrow"/>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

和sparrow.xml看起来像

<vector android:height="240dp"
    android:width="240dp"
    android:viewportHeight="512.0"
    android:viewportWidth="512.0"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#e000"
        android:pathData="M407.2,55.2c-20.8,2.4 -42.9,16.8 -65.6,42.7 -4.5,5.1, lot of data here ,-8.2z" android:strokeColor="#00000000"/>
    <path android:fillColor="#cc0000"
        android:pathData="M474,98.9c-12.6,3.9 -17.8,15.3 -12.4,26.8 1.4,2.8 3.1,5.4 3.9,5.7 1.3,0.5 11.4,-0.5 20.5,-1.9 1.4,-0.2 5,-0.6 8,-1 8,-0.8 11.1,-1.6 10.8,-2.5 -0.3,-0.7 -5.1,-6.4 -21.4,-25.3 -2.4,-2.7 -4.7,-3.2 -9.4,-1.8z" android:strokeColor="#00000000"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

但是,我看到的问题是,vector当在设备屏幕上显示时,宽高和高度属性定义的宽高比为1:1 不会保持不变.例如,在android studio中如下显示圆圈

在android工作室

但是,上面的图像在设备上显示如下,因为它接管了可用的所有可用高度.

在设备上

android android-vectordrawable

11
推荐指数
0
解决办法
697
查看次数

Android中的公共静态变量的生命周期是多少?

我有一个简单的类来保留一些变量来在我的游戏中的活动之间共享它们,例如:

public class TheGlobals {
  public static boolean IsFullGame = false;
}
Run Code Online (Sandbox Code Playgroud)

现在,当游戏启动时,初始活动是MainMenu,它确定用户是否购买了完整游戏,并相应地设置变量.例如,在用户购买游戏的情况下,它会这样做

TheGlobals.IsFullGame = true; 
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.从这里,用户单击"播放"并切换到主要游戏操作发生的游戏活动.在第二个(游戏)活动中,有几个地方通过访问全局静态变量检查是否是完整/购买的游戏,并相应地启用或禁用某些功能.

现在,用户播放并在某些时候点击主页按钮或切换到其他应用程序.一段时间后,用户回到我的游戏,从最近的应用程序启动它,打开他们离开的游戏,直接在第二个(游戏)活动中,用户愉快地继续玩.

我是否正确地假设在这一点上,我的全局静态变量的值可以是True或False,这取决于进程是否被销毁,或者是否保证Android将恢复其值.我想如果进程保持活动状态,那么值将保持为True(因为它是在第一个活动中设置的)并且只要进程保持活动就会保留; 或者如果进程被销毁,用户稍后再回来,并在第二个(Game)活动中直接打开我的游戏,那么全局静态变量的值在这种情况下默认为False(就像它在类上定义的那样)级别,并且没有机会被设置在第一个活动中).

谢谢你的任何评论.

java static android global-variables android-activity

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

在Android上设计简单游戏的决策/建议

我需要你在简单游戏中实现可滚动游戏场的最佳方法的建议.该字段由多行组成,每行有9个单元格.可以在游戏过程中动态添加和删除行.每个单元格中都有一个数字,并且可选地有几个重叠的图像,如选择,选择器,划掉,等等(参见下面的图片).用户应该能够单击一行中的单个单元格来选择/取消选择/跨越触摸的单元格.在游戏中的任何点,可以有0到3000个单元格(0到大约333行).该字段应平滑上下滚动.

替代文字

我正在考虑使用ListView,其每一行都是该字段的一行.这样我就可以在游戏过程中动态添加/删除行.但是,我应该如何实现一行:有一个位图表示一行,然后当用户触摸它时 - 获取触摸区域的坐标,找出受影响的单元格,然后对此进行操作.是否可以在ListView中获取行的触摸坐标?如果没有,我应该在每一行放置9个虚拟图像占位符,然后根据用户触摸它们吗?性能怎么样?

或者我应该有一个巨大的位图/画布代表整个字段,将它放在ScrollView中然后计算所有坐标并在用户与之交互时更新它?它会比ListView更快还是更慢?

还有其他方法吗?

我更喜欢它是一个"常规"应用类型的游戏,而不是一个基于循环的游戏,因为我认为我真的不需要每秒重绘30次.

我是Android新手.谢谢你的建议.

android

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

如何一个接一个请求多个权限?

我的应用程序需要访问CAMERAWRITE_EXTERNAL_STORAGE权限。

一旦我的应用程序加载,我想要求用户一个接一个地允许这两种权限。我有这个代码:

    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.WRITE_EXTERNAL_STORAGE)
            != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
    }


    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.CAMERA)
            != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 1);

    }
Run Code Online (Sandbox Code Playgroud)

现在一旦我的应用程序加载它会要求第一个权限,但在我再次重新加载整个应用程序之前不会要求第二个权限。

应用程序加载后,如何向用户询问这两个权限?

android android-permissions

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

什么是Java的SharedPreferences相当于Java?

我正在尝试将Android应用程序移植到Java桌面应用程序.android应用程序正在使用一个SharedPreferences对象来存储一些数据.这个类中有Java的等价物吗?

java android persistence sharedpreferences

4
推荐指数
1
解决办法
2177
查看次数

如何将双精度数转换为保留 2 位小数的字符串?

我正在将这个双精度数转换为字符串,以便可以将其显示在 TextView 上。我希望使用 String.format 使字符串具有 2 个小数位,但我不知道将其放在这行文本中的何处。

 Example.setText(Double.toString(dValue));
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java string android type-conversion android-studio

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

如何管理和引用特定的依赖库版本?

我有这样的根build.gradle:

...
ext{
  buildToolsVersion = '23.2.1'
}
...
Run Code Online (Sandbox Code Playgroud)

为什么我不能像这样管理我的Android支持库版本:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:${rootProject.ext.buildToolsVersion}'
    compile 'com.android.support:design:${rootProject.ext.buildToolsVersion}'
}
Run Code Online (Sandbox Code Playgroud)

${} 在Groovy中工作,为什么它在Gradle中不起作用?

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

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

如何在从堆栈中丢弃登录屏幕时在活动之间向前导航?

我有一个应用程序,如果我在某个屏幕上,并且用户试图访问需要身份验证的应用程序的特定部分,它会在继续之前进入登录屏幕.

该应用程序当前所做的是,比如我在屏幕3上,但是想要进入屏幕4,但我需要先登录才能进入屏幕4.显示登录屏幕,登录后,用户被重定向到屏幕1必须返回步骤才能返回他们所在的屏幕.

我想要的是,当用户点击按钮进入屏幕4时,显示登录屏幕,并且一旦登录,用户就被发送到屏幕4,不再返回到屏幕3,然后再次点击该按钮.

我试过的是调用finish(); 一旦用户成功登录,但所有操作都是将用户返回到屏幕3,使他们必须点击按钮才能进入屏幕4,当然现在允许他们登录屏幕4.

有什么想法我可以在我的应用程序中实现这一点?

谢谢

编辑:标题可能会误导,我想不出更好的方式来改写标题.如果可以请继续请求编辑

android activity-stack android-activity

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