小编Gra*_*and的帖子

迭代Android游标的最佳方法是什么?

我经常看到代码涉及迭代数据库查询的结果,对每一行做一些事情,然后继续前进到下一行.典型的例子如下.

Cursor cursor = db.rawQuery(...);
cursor.moveToFirst();
while (cursor.isAfterLast() == false) 
{
    ...
    cursor.moveToNext();
}
Run Code Online (Sandbox Code Playgroud)
Cursor cursor = db.rawQuery(...);
for (boolean hasItem = cursor.moveToFirst(); 
     hasItem; 
     hasItem = cursor.moveToNext()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)
Cursor cursor = db.rawQuery(...);
if (cursor.moveToFirst()) {
    do {
        ...                 
    } while (cursor.moveToNext());
}
Run Code Online (Sandbox Code Playgroud)

这些对我来说似乎过于冗长,每次都有多次调用Cursor方法.当然必须有一个更简洁的方式?

android cursor

284
推荐指数
6
解决办法
12万
查看次数

这个Google Play APK发布错误消息是什么意思?

我正在尝试将新版Android应用发布到Google Play并收到以下错误消息?

由于以下原因,无法发布此配置:版本1不会提供给任何设备配置:可能接收版本1的所有设备都将收到版本4

我不明白.这是什么意思?

在此输入图像描述

android google-play

236
推荐指数
4
解决办法
7万
查看次数

如何使用""初始化字符串?

如果String是一个类,就像其他任何类一样,如何使用双引号初始化它?

java string

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

是否可以通过减去两个不相等的浮点数得到0?

在以下示例中是否可以将除以0(或无穷大)?

public double calculation(double a, double b)
{
     if (a == b)
     {
         return 0;
     }
     else
     {
         return 2 / (a - b);
     }
}
Run Code Online (Sandbox Code Playgroud)

在正常情况下,它当然不会.但是,如果a并且b非常接近,可能会(a-b)导致0计算的精确性?

请注意,这个问题适用于Java,但我认为它适用于大多数编程语言.

floating-point double floating-accuracy ieee-754

130
推荐指数
7
解决办法
9872
查看次数

SQLite中"不等于"的语法是什么?

 Cursor findNormalItems = db.query("items", columns, "type=?", 
                                   new String[] { "onSale" });
Run Code Online (Sandbox Code Playgroud)

我想返回指向任何非onSale的光标,我应该更改什么?谢谢!

sqlite android

107
推荐指数
2
解决办法
8万
查看次数

悬空指针和内存泄漏之间的区别

我不明白悬空指针和内存泄漏之间的区别.这两个术语有何关联?

c

76
推荐指数
4
解决办法
10万
查看次数

setBackgroundResource()丢弃我的XML布局属性

我有一个视图,用作一个项目ListView.在我的自定义适配器中,我View.setBackgroundResource()根据项目在列表中的位置更改视图的背景.(我对列表中的第一个和最后一个项目有单独的资产.)

这会按预期设置正确的背景图像,但它具有令人讨厌的副作用,即我在视图的XML定义中设置的所有填充都被完全忽略.

(如果我在XML中设置了可绘制的背景,并且在运行时不要尝试在适配器中改变它,那么填充一切正常.)

如何更改背景图像并保留填充?这是一个错误吗?

编辑似乎其他人在这里发现了同样的问题:更改背景是否也改变了LinearLayout的填充?

android background padding drawable layer-list

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

有没有使用std :: cin来初始化const变量的技巧?

常见的std :: cin用法

int X;
cin >> X;
Run Code Online (Sandbox Code Playgroud)

这样做的主要缺点是X不能const.它很容易引入错误; 我正在寻找一些技巧来创建一个const值,并只写一次.

天真的解决方案

// Naive
int X_temp;
cin >> X_temp;
const int X = X_temp;
Run Code Online (Sandbox Code Playgroud)

你可以通过改变X来明显改善它const&; 仍然可以修改原始变量.

我正在寻找一个如何做到这一点的简短而聪明的解决方案.我相信我不是唯一一个能从这个问题的答案中获益的人.

//编辑:我希望解决方案可以轻松扩展到其他类型(比方说,所有POD,std::string以及带有普通构造函数的可移动可复制类)(如果没有意义,请在评论中告诉我) .

c++ iostream c++11

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

在Android Gradle项目中复制APK文件

我正在尝试将自定义任务添加到我的Android项目中,build.gradle以将最终的APK和Proguard复制mapping.txt到另一个目录中.我的任务取决于assembleDevDebug任务:

task publish(dependsOn: 'assembleDevDebug') << {
    description 'Copies the final APK to the release directory.'

    ...
}
Run Code Online (Sandbox Code Playgroud)

Copy根据文档,我可以看到如何使用标准任务类型执行文件复制:

task(copy, type: Copy) {
    from(file('srcDir'))
    into(buildDir)
}
Run Code Online (Sandbox Code Playgroud)

但这假设您知道要复制的文件的名称和位置.

如何找到作为assembleDevDebug任务一部分构建的APK文件的确切名称和位置?这可以作为财产吗?感觉好像我应该能够将文件声明为我的任务的输入,并将它们声明为assemble任务的输出,但我的Gradle-fu不够强大.

我有一些自定义逻辑将版本号注入APK文件名,所以我的publish任务不能只假设默认名称和位置.

android gradle android-gradle-plugin

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

android:windowBackground和android:colorBackground之间的区别?

android:windowBackground和之间有什么区别android:colorBackground

例:

<style name = "theme">
 <item name ="android:windowBackground">@color/black</item>
 <item name ="android:colorBackground">@color/black</item>
</style>
Run Code Online (Sandbox Code Playgroud)

哪一个会影响您在加载新活动时看到的颜色?

android android-layout android-styles

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