Java 扩展SQLiteStatement时,是否有一个经过测试的包装类可用?

Java 扩展SQLiteStatement时,是否有一个经过测试的包装类可用?,java,android,sqlite,Java,Android,Sqlite,该类不能作为最后一个类的子类,不能扩展 再加上java不支持扩展方法这一事实,我来到这里。 似乎没有任何平滑的方法可以为该类进行扩展 我没有时间编写和测试一个封装类SQLiteStatement的类。因此,我问是否有一个可信的包装器类用于此 我现在所做的是一个类,它包含了我发送对SQLiteStatement的引用以及我想添加到SQLiteStatement的值的方法,但这并不像扩展类那样顺利。如果没有更好的替代方法,或者没有其他方法回答我的问题,这将是我的解决方案 这是一个类的开始,它的方法可

该类不能作为最后一个类的子类,不能扩展

再加上java不支持扩展方法这一事实,我来到这里。 似乎没有任何平滑的方法可以为该类进行扩展

我没有时间编写和测试一个封装类SQLiteStatement的类。因此,我问是否有一个可信的包装器类用于此


我现在所做的是一个类,它包含了我发送对SQLiteStatement的引用以及我想添加到SQLiteStatement的值的方法,但这并不像扩展类那样顺利。

如果没有更好的替代方法,或者没有其他方法回答我的问题,这将是我的解决方案

这是一个类的开始,它的方法可以避免重复的空检查语句等

public class SQLiteStatementExtension  {

    public static void BindNullable(SQLiteStatement statement, int index, String value)
    {
        if(value == null){
            statement.bindNull(index);
        } else {
            statement.bindString(index, value); 
        }
    }

    public static void BindNullable(SQLiteStatement statement, int index, Calendar value)
    {
        if(value == null){
            statement.bindNull(index);
        } else {
            statement.bindLong(index, value.getTimeInMillis()); 
        }
    }

    public static void BindNullable(SQLiteStatement statement, int index, byte[] value)
    {
        if(value == null){
            statement.bindNull(index);
        } else {
            statement.bindBlob(index, value);   
        }
    }

    public static void Bind(SQLiteStatement satement, int index, boolean value) {
        satement.bindLong(index, value ? 1 : 0);
    }
}

Android SQLite API有许多设计问题,而且扩展性不强。但是,它是开源的,考虑是否从AOSP中获取它是你的选择。是的,我考虑过了,但是我想我需要关注它的新版本并维护它。