2016-08-14 61 views
0

我想连接一个sqlite数据库与Slick 3.1.1,使用Macroid Scala在Android开发。油滑3.1.1 sqlite java.lang.ClassNotFoundException

这里是我的代码:

lazy val db = Database.forURL(
url = "jdbc:sqlite:" + getApplicationContext().getFilesDir() + "events.txt", 
driver = "org.sqlite.JDBC") 

dbSetupAction() 

的dbSetupAction:

def dbSetupAction() = { 

    val initActions = DBIO.seq(
     events.schema.create 
    ) 

    val futureInitActions = db.run(initActions) 

    futureInitActions.onComplete { 
     case Success(s) => Log.d("FICHEROS Success", s.toString) 
     case Failure(ex) => Log.d("FICHEROS Failure", ex.toString) 
    } 


    } 

事件类:

class Events(tag: Tag) extends Table[(Int, Int, Double)](tag, "EVENTS"){ 
    def id = column[Int]("ID", O.PrimaryKey, O.AutoInc) 
    def eventType = column[Int]("EVENT_TYPE") 
    def timeTag = column[Double]("TIMETAG") 

    def * = (id, eventType, timeTag) 

} 

输出错误,我得到的是:

d/FICHEROS失败:抛出java.lang.ClassNotFoundException:org.sqlite.JDBC

在我build.sbt,我已经添加:提前

libraryDependencies ++= Seq(
    aar("org.macroid" %% "macroid" % "2.0.0-M4"), 
    aar("com.android.support" % "support-v4" % "21.0.0"), 
    "org.xerial" % "sqlite-jdbc" % "3.8.11.2", 
    "com.typesafe.slick" %% "slick" % "3.1.1", 
    "org.slf4j" % "slf4j-nop" % "1.6.4") 

感谢。

回答

0
proguardOptions += "-keep class org.sqlite.JDBC { *; }"