小编Ido*_*lon的帖子

如何避免SQLiteException锁定错误

我正在开发一个Android应用程序.它有多个线程读取和写入Android SQLite数据库.我收到以下错误:

SQLiteException:错误代码5:数据库已锁定

我理解SQLite会在插入/更新时锁定整个数据库,但在我运行select查询时插入/更新时似乎只会发生这些错误.select迭代返回一个游标,当我迭代它时,它会被打开很多(几次几秒).如果select查询没有运行,我永远不会得到锁.我很惊讶select可以锁定数据库.这是可能的,还是还有其他事情发生?

什么是避免这种锁定的最佳方法?

sqlite android locking

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

如何在JPA中拥有2个相同类型的集合?

我在JPA中有两个实体:Entry和Comment.Entry包含两个Comment对象集合.

@Entity
public class Entry {
    ...

    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @IndexColumn(base = 1, name = "dnr")
    private List<Comment> descriptionComments = new ArrayList<Comment>();

    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @IndexColumn(base = 1, name = "pmnr")
    private List<Comment> postMortemComments = new ArrayList<Comment>();

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

为了存储这样的对象,JPA + Hibernate创建了"Entry"表,"Comment"表和SINGLE"Entry_Comment":

create table Entry_Comment (Entry_id integer not null, postMortemComments_id integer not null, pmnr integer not null, descriptionComments_id integer not null, dnr integer not null, primary key (Entry_id, dnr), unique (descriptionComments_id), unique (postMortemComments_id))

对象的存储失败, …

java collections persistence hibernate jpa

15
推荐指数
1
解决办法
6813
查看次数

确保Android上的SQLite使用UTF-8作为字符集

我正在开发一个使用SQLite作为后端的Android应用程序.

我想确保数据库中的所有表都使用UTF-8.我怎样才能做到这一点?

我试过了:

CREATE TABLE myTable (_all_columns_definitions_) DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

但是出现了语法错误.

sqlite android

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

获取Android中虚拟键盘的高度

如何在Android中获得虚拟键盘的高度?可能吗?

我尝试从主窗口获取它,但它给了我完整的应用程序高度.但我想获得键盘高度.

android android-softkeyboard

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

我可以扩展一个类并覆盖封闭的枚举类型吗?

如果我有一个包含enum类型的类,我可以扩展此类并覆盖枚举类型或向此枚举添加更多常量吗?目的是用户将能够在getColor()不知道动态对象是来自基类还是派生类的情况下调用方法.例如:

public class Car {

    private String name;

    private CarColors color;

    public enum CarColors {
        BLUE,
        GREEN
    }

    public Car(CarColors c) {
        color=c;
    }

    public CarColors getColor() {
        return color;
    }
}

public class RacingCar extends Car {

    private CarColors color;

    public RacingCar(CarColors c) {
        color=c;
    }

    public enum CarColors {
        BLUE,
        GREEN,
        RED
    }

    @Override //?????
    public CarColors getColor() {
        return color;
    }
}
Run Code Online (Sandbox Code Playgroud)

在主要:

Car racingCar = new RacingCar();
CarColors color = racingCar.getColor();
Run Code Online (Sandbox Code Playgroud)

java enums

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

保留已编译的java类中的参数/参数名称

当我编译这样的东西时:

public class MyClass
{
    void myMethod(String name, String options, String query, String comment)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

并将其编译为类文件,似乎参数名称丢失了.也就是说,当其他一些Java代码引用MyClass并想要调用或覆盖时myMethod,我的IDE(当前是Eclipse)似乎从类文件中获取此方法签名:

void myMethod(String arg0, String arg1, String arg2, String arg3);
Run Code Online (Sandbox Code Playgroud)

我知道,Eclipse(可能还有其他的IDE太)让我提供一个链接到源或javadoc的(如Bishiboosh指出的)MyClass,可以充分利用这一点.但我很好奇是否有某种方法可以告诉javac我们将名称包含在类文件中,以便该类的用户可以看到参数名称,即使它们只有类文件.

课程解决方案

当我用类编译一个类时java -g:vars,参数的名称包含在类文件中.-g:vars似乎等同于Eclipse - >项目属性 - > Java编译器 - >将变量属性添加到生成的类文件中.

几位作者提出了这个解决方案,但尼克的回答终于让我相信了.

在我的机器上,Eclipse有时会使用这些信息,有时它没有,这可能是我的错或Eclipse中的错误,但不是类文件或编译的问题.无论如何,现在我知道信息肯定存在.

但没有接口的解决方案

虽然这对于类来说很好(有点),但它不适用于接口.

对我来说,逻辑上的原因似乎是,-g:vars只提供局部变量的名称,这也是javac的文档所述.在方法体中,它的参数与局部变量非常相似,因此它们被-g:vars覆盖.接口方法没有实体,因此它们不能有局部变量.

我最初的问题只是要求上课,因为我不知道可能有任何不同.

类文件格式

正如gid所指出的,类文件格式不支持参数名称的存储.我在类文件规范中找到了一个描述数据结构的部分,该数据结构应该是方法的参数名称,但在编译接口时绝对不会使用它.

在编译类时,我无法判断是否使用了所提到的数据结构,或者Eclipse是否根据方法体内参数的使用推断出参数名称.专家可以澄清这一点,但我认为这并不相关.

java eclipse compilation javac

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

带压力传感器的Android设备

那里有没有配备气压传感器的Android设备?

我知道android.hardware.Sensor类有一个TYPE_PRESSURE常量,该getAltitude方法SensorManager几乎提到了大气压力.

那么,是否有任何Android手机都有晴雨表?

android pressure android-sensors

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

Android键盘源

源是否可用于默认的Android键盘?

android android-source

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

Android游戏开发的开源

伙计我是Android游戏开发的新手.我需要参考Android游戏开发的一些很好的开源.有人可以为我提供良好的资源吗?

android

13
推荐指数
2
解决办法
6851
查看次数

如何通过Android NDK构建协议缓冲区

我想构建一个Google协议缓冲库的原生版本.
我该怎么办?

porting protocol-buffers android-ndk

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