tas*_*r86 5 sqlite android jdbc
我正在尝试使用xerial sqlite-jdbc在 Android 中管理我的数据库但没有成功。我遇到了一个java.lang.NoClassDefFoundError: org.sqlite.SQLiteConnection异常'org.xerial:sqlite-jdbc:3.18.0'。我已经在我的 gradle 中导入了这个依赖项。我的代码如下,
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:hs.db");
} catch (ClassNotFoundException eString) {System.err.println("Could not init JDBC driver - driver not found");
} catch (java.sql.SQLException e) {e.printStackTrace();}
Run Code Online (Sandbox Code Playgroud)
用android.database.sqlite在我的项目是不是选项,所以请不要认为作为一个答案。
摇篮
compile 'org.sqldroid:sqldroid:1.0.3'
Run Code Online (Sandbox Code Playgroud)
爪哇
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
public class MainActivity extends AppCompatActivity {
private Connection connection;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
DriverManager.registerDriver((Driver) Class.forName("org.sqldroid.SQLDroidDriver").newInstance());
} catch (Exception e) {
throw new RuntimeException("Failed to register SQLDroidDriver");
}
String jdbcUrl = "jdbc:sqldroid:" + "/data/data/" + getPackageName() + "/my-database.db";
try {
this.connection = DriverManager.getConnection(jdbcUrl);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Override
public void onDestroy() {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
super.onDestroy();
}
}
Run Code Online (Sandbox Code Playgroud)
https://github.com/SQLDroid/SQLDroid
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |