【问题标题】:PostgreSQL JDBC connection fails on Android 4.0PostgreSQL JDBC 连接在 Android 4.0 上失败
【发布时间】:2012-06-13 19:34:50
【问题描述】:

有谁知道我可以做些什么来使 JDBC 连接在 Android 4.0 上工作。它在 Android 1.6-2.3 上运行良好。我使用 Dave Cramer 的构建: http://groups.google.com/group/pgandroid/browse_thread/thread/d8b400f039f66d5f/f77b2e2a99370a36?lnk=raot#f77b2e2a99370a36

Logcat 说:

06-10 17:35:51.043: E/AndroidRuntime(798): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.belonogov.connectjdbc/com.belonogov.connectjdbc.ConnectJDBCActivity}: java.lang.NullPointerException
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.os.Handler.dispatchMessage(Handler.java:99)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.os.Looper.loop(Looper.java:137)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread.main(ActivityThread.java:4424)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at java.lang.reflect.Method.invokeNative(Native Method)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at java.lang.reflect.Method.invoke(Method.java:511)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at dalvik.system.NativeStart.main(Native Method)
06-10 17:35:51.043: E/AndroidRuntime(798): Caused by: java.lang.NullPointerException
06-10 17:35:51.043: E/AndroidRuntime(798):  
at com.belonogov.connectjdbc.ConnectJDBCActivity$CustomDrawableView.<init>(ConnectJDBCActivity.java:81)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at com.belonogov.connectjdbc.ConnectJDBCActivity.onCreate(ConnectJDBCActivity.java:27)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.Activity.performCreate(Activity.java:4465)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-10 17:35:51.043: E/AndroidRuntime(798):  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
06-10 17:35:51.043: E/AndroidRuntime(798):  
... 11 more

这只是一个连接到数据库的简单应用程序。

【问题讨论】:

标签: android postgresql jdbc android-4.0-ice-cream-sandwich


【解决方案1】:

如果可能,请考虑在您的 Android 设备上放弃直接使用 JDBC。它在往返等方面效率低下,并且在面对不可靠的连接时也不可靠。

How can I securely (indirectly) query a postgresql database within android?

【讨论】:

  • 谢谢你的建议,我开始考虑了。
【解决方案2】:

您很可能会在这里找到答案:

06-10 17:35:51.043: E/AndroidRuntime(798): Caused by: java.lang.NullPointerException
06-10 17:35:51.043: E/AndroidRuntime(798):      at com.belonogov.connectjdbc.ConnectJDBCActivity$CustomDrawableView.<init>(ConnectJDBCActivity.java:81)
06-10 17:35:51.043: E/AndroidRuntime(798):      at com.belonogov.connectjdbc.ConnectJDBCActivity.onCreate(ConnectJDBCActivity.java:27)

这意味着:查找类 ConnectJDBCActivity.java,第 81 行并查看可能是什么引用 null

【讨论】:

  • 感谢您的回答,是的,我知道。 :st = connection.createStatement(); 等行rs = st.executeQuery(查询);rs.next();给 NullPointerException。但它适用于旧版本的 Android。我可以用它做点什么吗?
猜你喜欢
  • 1970-01-01
  • 2021-10-24
  • 2015-02-19
  • 1970-01-01
  • 2019-08-01
  • 2012-09-18
  • 2018-06-22
  • 2017-08-29
  • 2015-06-16
相关资源
最近更新 更多