小编Ale*_*lex的帖子

尝试使用Ant构建Android应用程序时会抛出ExceptionWithContext

我已经尝试在谷歌和stackoverflow上搜索这个问题的答案,但我一直无法找到任何有我确切问题的人.每次有人在源代码管理中进行更改时,我都会尝试设置一个持续集成服务器(特别是Bamboo)来更新,构建和导出APK.当我使用我设置的工作时,当我每一步手动操作时,我在本地机器上遇到同样的错误.当我到达构建的dex步骤时会发生错误.到目前为止,与我已经得到了相同的输出ant debug,ant release,ant clean debug,和ant clean release.整个dex步骤的输出完成有错误,如下所示:

-dex:
      [dex] input: C:\Users\...\Android\bin\classes
      [dex] input: C:\Users\...\google-play-services_lib\bin\classes.jar
      [dex] input: C:\Program Files (x86)\Android\android-sdk\tools\support\annotations.jar
      [dex] input: C:\Users\...\Android\libs\FlurryAgent.jar
      [dex] input: C:\Users\...\Android\libs\gcm.jar
      [dex] input: C:\Users\...\Android\libs\android-support-v4.jar
      [dex] input: C:\Users\...\google-play-services_lib\libs\google-play-services.jar
      [dex] Pre-Dexing C:\Users\...\google-play-services_lib\bin\classes.jar -> classes-64c0adfe92ddc950c7ab8c5002ceabf2.jar
      [dex] Pre-Dexing C:\Program Files (x86)\Android\android-sdk\tools\support\annotations.jar -> annotations-62bab95d6948a2db17bbc7976160b014.jar
      [dex] Pre-Dexing C:\Users\...\Android\libs\FlurryAgent.jar -> FlurryAgent-499d43756a3ce626a64773e6dfd5eaec.jar
      [dex] Pre-Dexing C:\Users\...\Android\libs\gcm.jar -> gcm-ae2640f44640eb4fd7b13964b65d2d70.jar
      [dex] Pre-Dexing C:\Users\...\Android\libs\android-support-v4.jar -> android-support-v4-fa30b373a3e3ba9f2cf94900a9eb42fe.jar
      [dex] Pre-Dexing C:\Users\...\google-play-services_lib\libs\google-play-services.jar -> google-play-services-9efad6e9178399c185fae6c0b6bdc4c6.jar
      [dex] Converting compiled files and external libraries into C:\Users\...\Android\bin\classes.dex... …
Run Code Online (Sandbox Code Playgroud)

ant android dex

22
推荐指数
2
解决办法
3936
查看次数

逗号是否在Javascript if语句中在语法上有效?

最近几天,我一直在帮朋友学习Javascript.这是他多年来的第一语言,他几乎没有记得,所以他几乎从头开始.他一直在做一个简单的教程,我一直在为他提供一些练习来帮助他练习.我给他的最近一次练习是(显然)经典的FizzBu​​zz问题.他通过一些帮助解决了这个问题,但在制定解决方案时他做了一些非常有趣的事情.他想出了以下代码:

for (var x = 1; x <= 100; x++) {
    if (x%3 == 0, x%5 != 0) {
        console.log("Fizz");
    }
    else if (x%3 != 0, x%5 == 0) {
        console.log("Buzz");
    }
    else if (x%3 == 0, x%5 == 0) {
        console.log("FizzBuzz");
    }
    else {
        console.log(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

他不熟悉布尔比较运算符,因此他没有使用&&而是使用逗号.我的期望是它会崩溃并说一些关于语法错误的信息,但令我惊讶的是它最终运行良好并打印出一堆"Fizz"和"Buzz"行,没有"FizzBu​​zz"或数字.不用说,我很困惑,所以我做了一些实验.我的第一个测试是运行这个:

if (true, true) console.log('true, true');
if (true, false) console.log('true, false');
if (false, true) console.log('false, true');
if (false, false) console.log('false, false');
Run Code Online (Sandbox Code Playgroud)

这给了我两行输出:

'true, true'
'false, true'
Run Code Online (Sandbox Code Playgroud)

从那以后,我猜测所有逗号都是因为它只评估列表中的最后一个表达式.然后我尝试运行此代码:

for …
Run Code Online (Sandbox Code Playgroud)

javascript syntax

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

从backstack返回时,Google Maps v2 MapFragment非常滞后

我正在开发一个使用v2的应用程序,MapFragment我遇到了非常奇怪的行为.我已经创建了一个子类MapFragment来处理一些自定义行为(处理Markers,调整菜单选项等),并在第一次加载它时所有工作都很漂亮.然后我将一个新片段嵌入到我的活动中,将自定义推MapFragment到了后台上.然而,当我从后台堆栈返回地图时,事情变得奇怪; 平移地图变得极其迟钝(我们正在谈论~1 FPS),无论是手动拖动/缩放还是通过点击引脚引起的动画.而如果我与溢出菜单的任何部分进行交互,即使只是打开它并再次解除它,滞后会立即清除.似乎没有别的东西可以解决它(没有关闭/重新打开应用程序); 与非溢出菜单项进行交互,导航抽屉没有任何帮助.我从来没有见过这样的东西,也找不到之前描述过类似问题的人.任何想法,建议和/或修复都将受到欢迎.

在被问到之前回答几个问题:

  • 是的,我正在调用super我覆盖的所有生命周期方法的版本(onCreate(),onCreateView()[我还返回超级返回的那个],以及onDestroyView()).
  • 据我所知,我正在清理地图.每次刷新引脚时,我都会调用remove()它们,然后clean()在地图上调用,我也会这样做onDestroyView().

最后,作为参考,这是添加新片段的代码:

getFragmentManager().beginTransaction().replace(R.id.main_content_container, new JoinGroupFragment()).addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)

当我完成它时,我只是打电话给:

getFragmentManager().popBackStack();
Run Code Online (Sandbox Code Playgroud)

编辑:我不确定它会有多大帮助,但这是习惯MapFragment:

public class CustomMapFragment extends MapFragment {

    private static final String DIALOG_TAG = "CUSTOM_MAP_FRAGMENT_DIALOG";
    private static final int DEFAULT_ZOOM = 14;
    private static final int MARKER_ZOOM = 15;
    private static final int DEFAULT_PADDING = 80;
    private static final …
Run Code Online (Sandbox Code Playgroud)

java android google-maps-android-api-2

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

获取 v7 兼容 ActionBarContainer

作为我正在开发的应用程序的一部分,我试图获取对ActionBar的容器视图的引用。我使用了这个问题的答案,只要有问题的 Android 设备运行 API 级别 11 或更高级别,它就可以很好地为我工作。但是,该应用程序需要在 API 级别 9(目标 API 级别为 19)之前工作,并且 Gingerbread 设备给我带来了问题。我最初在该项目中使用 Sherlock,但最近改为使用 v7 兼容库。我可以在 Gingerbread 设备(按钮工作等)上以正常方式查看操作栏并与之交互,但是当我尝试获取容器时它失败了。我正在使用的代码是这样的(注意 - 它在 的子类中运行ActionBarActivity):

private FrameLayout getActionBarContainer() {
    FrameLayout result = null;

    int resId = getResources().getIdentifier("action_bar_container", "id", "android");
    try {
        result = (FrameLayout)getWindow().getDecorView().findViewById(resId);
    }
    catch (Exception e) {
        // If we get an exception, just eat it
    }

    return result;
}
Run Code Online (Sandbox Code Playgroud)

在被问到之前先回答几个问题:

  1. resId 在 v11 及更高版本的设备上解析为正确的 ID 值,但在 v11 之前的设备上解析为 0。
  2. 使用它的代码有适当的检查来处理空结果,这就是为什么我只是吃异常。try/catch 块主要是为了以防万一,因为一些奇怪的事件, aClassCastException …

android android-actionbar-compat

0
推荐指数
1
解决办法
1063
查看次数