小编Ray*_*non的帖子

如何使用String类型生成buildConfigField

在我的Android Studio项目中有两个build configuration有一些buildConfigField:

    buildTypes {
    def SERVER_URL = "SERVER_URL"
    def APP_VERSION = "APP_VERSION"

    debug {
        buildConfigField "String", SERVER_URL, "http://dev.myserver.com"
        buildConfigField "String", APP_VERSION, "0.0.1"
    }

    release {
        buildConfigField "String", SERVER_URL, "https://myserver.com"
        buildConfigField "String", APP_VERSION, "0.0.1"

        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

/path/to/generated/BuildConfig.java
    Error:(14, 47) error: ';' expected
    Error:(15, 47) error: ';' expected
Run Code Online (Sandbox Code Playgroud)

生成的BuildCofig.java如下:

public final class BuildConfig {
    public static final boolean DEBUG = Boolean.parseBoolean("true");
    public static final String APPLICATION_ID = "com.mycuteoffice.mcoapp";
    public …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

125
推荐指数
7
解决办法
6万
查看次数

Android依赖项:apklib vs aar文件

从我的理解,apklib包含代码+资源共享Maven. aar文件分发Gradle.

aar从apklib在一个主要方式不同:类被编译并包含在AAR的根classes.jar.而apklib不能包含已编译的类文件或jar.

1有人可以解释apklibvs aar文件之间的主要区别吗?

2可以Mavenaar吗?可以Gradleapklib

3哪种格式"更好"?

android apklib android-maven-plugin android-gradle-plugin aar

22
推荐指数
1
解决办法
8397
查看次数

如何获取AttributeSet属性

假设我有一个扩展ViewGroup的类

public class MapView extends ViewGroup
Run Code Online (Sandbox Code Playgroud)

它包括在布局map_controls.xml像这样

<com.xxx.map.MapView
    android:id="@+id/map"
    android:background="@drawable/address"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
</com.xxx.map.MapView>
Run Code Online (Sandbox Code Playgroud)

如何从AttributeSet中检索构造函数中的属性?让我们说背景场中的drawable.

public MapView(Context context, AttributeSet attrs) {
}
Run Code Online (Sandbox Code Playgroud)

android attributes android-layout

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

项目导入需要0.12.4+

我正在阅读Play for Scala: Covers Play 2Peter Hilton(出版商:Manning)的书,并试图坚持他们在书中概述的版本(Play 2.1.1版).

我下载了新的IntelliJ IDEA 14 CE应用并安装了它.我目前正在导入该项目,但它失败了,因为它想要一个0.12.4或更高版本的sbt.

建立失败

这个问题发生在前一天的13,但我没有时间解决它,所以请,没有建议回到13 :)

这是问题的关键:当我sbt --version在CLI上键入时,它打印出sbt launcher version 0.13.6.我有一个"更大"的版本,但看起来IDEA无法识别这一点.

为了指定我自己的SBT启动程序JAR,我将自定义启动程序(在IDEAs全局设置中)指向了一个/usr/local/Cellar/sbt/0.13.6/libexec/sbt-launch.jar,但构建也失败并出现相同的错误.

正如您可能已经猜到的那样,我使用Homebrew来安装和管理Scala和sbt.当我在二月份开始使用Scala时,我记得我必须在我的设置中进行一些小的调整才能让IDEA找到Scala,但我的IDEA 14版本非常新鲜 - 我没有导入任何以前的设置.我下载了Scala和sbt插件,看起来在粗略查看和创建新测试项目后正确配置.

以下是我无法理解的内容:首先,最明显的是,为什么满足所谓要求(0.12.4+)的sbt版本会因版本0.13而失败.*?

第二,与IDEA捆绑的sbt是否也大于这个版本?在我的系统中某处可能有sbt标志指向早期版本?旁注,我的"酒窖"中有几个版本的sbt,但都超过了0.13.

非常感谢您的帮助!

scala sbt

21
推荐指数
1
解决办法
3822
查看次数

更改设备的语言设置(区域设置)

我知道可以通过res/string在单个应用程序中使用多种语言,具体取决于Locale.这是控制用户语言的案例 (ANDROID)

现在我该如何更改手机中的语言?就像我通过菜单>设置>语言和键盘>选择区域设置>语言一样

是否有一些真正的代码可以访问这些设置?或者我应该为语言设置的快捷方式创建意图.请发一些代码

编辑:使用Locale类developer.android.com/intl/fr/reference/java/util/Locale.html

构造函数至少是Locale(String language)输入是语言.如何检索设备上使用的当前语言?

settings android locale

18
推荐指数
3
解决办法
6万
查看次数

用于处理Java中的异步响应的设计模式

我从类似的问答中读到了答案

如何在JAVA中创建异步HTTP请求?| 异步编程设计模式 |
AsyncTask Android - 设计模式和返回值

我看到很多解决方案,但没有一个真的让我满意.

倾听者的方式

捕获结果后,处理将在onResult方法中实现.

public interface GeolocationListener {
public void onResult(Address[] addresses);
public void onError(Exception e);
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案并不能让我满意,因为我想在main方法中处理结果.我讨厌这个接口,因为当返回响应时,它会在onResult中处理,导致处理链,无法返回"main"方法.

servlet的方式

public class SignGuestbookServlet extends HttpServlet {

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws IOException {
        // ...
        resp.sendRedirect("/guestbook.jsp");
    }
}
Run Code Online (Sandbox Code Playgroud)

没有公开的Java代码调用servlet.所有配置都在web.xml中完成

我想要的方式

等待这样的回复

Response a = getResponse();
// wait until the response is received, do not go further
// process
Response b = getResponse();
// wait until the response is received, do not …
Run Code Online (Sandbox Code Playgroud)

java asynchronous response request

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

如何迭代对象中的内部对象/属性

我有一个对象,其内部对象和属性定义如下:

var obj = {obj1 : { "prop1" : "nothing", "prop2" : "prop"},
        obj2 : {"prop1" : "nothing", "prop2" : "prop"},
        pr1 : "message",
        pr2 : "mess"
};
Run Code Online (Sandbox Code Playgroud)

通常迭代对象的每个属性,for .. in循环可以做到这一点

for (property in obj){
    if (obj.hasOwnProperty(property)){
        console.log(property + "   " + obj[property]);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台显示:

obj1 [object Object]
obj12 [object Object]
pr1 message
pr2 mess
Run Code Online (Sandbox Code Playgroud)

但是如何迭代内部对象(obj1, obj2)和它们自己的属性(prop1,prop2)?

javascript iteration object

14
推荐指数
4
解决办法
2万
查看次数

Google Play上的Android应用自动更新和权限更改

我知道,当添加至少一个新权限时,该应用程序将不会自动更新.用户必须手动更新它.当应用程序的权限发生更改时,您将获得"手动更新".

删除权限怎么样?
我当前的应用版本N已发布.在下一个版本中,将删除一个权限.版本N的用户是否会自动更新?

编辑: https ://android.stackexchange.com/questions/2958/why-do-some-of-my-apps-show-update-and-some-show-update-manual

auto-update google-play android-permissions

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

如何使用AWS CDK正确删除

我对 S3 存储桶进行了一些清理,并删除了名称奇怪的 S3 存储桶。现在我的 CDK 堆栈处于奇怪的状态。我正在运行一些 CDK 堆栈。

$cdk ls显示 LambdaHoroscrape

我用这些命令破坏堆栈

cdk destroy

cdk destroy LambdaHoroscrape

您确定要删除:LambdaHoroscrape (y/n)吗?y

LambdaHoroscrape:摧毁……

LambdaHoroscrape:被摧毁


然而,堆栈 LambdaHoroscrape 仍然存在,cdk ls证实了这一点。

我怎样才能正确删除这个CDK堆栈?

上下文:我想删除堆栈,因为我的部署 ( cdk deploy) 显示了此神秘消息

[%] 失败:没有名为“cdktoolkit-stagingbucket-zd83596pa2cm”的存储桶。帐户 xxxxx 是否已启动?

我用以下方式提升了我的帐户 cdk bootstrap aws://{account_number}/{region}

其他人也遇到了这个神秘的错误 https://github.com/aws/aws-cdk/issues/6808

最终,由于这个错误和急于销毁堆栈,我丢失了两周以来收集的 DynamoDB 数据。

amazon-web-services aws-cdk

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

Swift array.capacity vs array.count

我理解array.count(数组中元素的数量).count对迭代数组的元素很有用.我有点得到array.capacity的要点

capacity一个整数值,表示数组在不重新分配的情况下可以存储的总元素数(只读).

实验

我一直在玩Playground,发现数组的容量是偶数(加2)

var arr = [1, 2, 3 , 4, 5, 6, 7]
arr.removeLast() // capacity stays the same after a removal
println(arr.capacity) // 8
println(arr.count)    // 6

var arr = [1, 2, 3 , 4, 5, 6]
arr.removeLast()
println(arr.capacity) // 6
println(arr.count)    // 5
Run Code Online (Sandbox Code Playgroud)

这个问题

阵列容量有什么用?请举一个具体的例子?

arrays swift

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