Android连接SQLServer详细教程(数据库+服务器+客户端)
原文地址: http://blog.csdn.net/zhyl8157121/article/details/8169172
部分童鞋运行时会报如下错误:
05-15 06:06:33.790: W/dalvikvm(1772): threadid=1: thread exiting with uncaught exception (group=0xb4f56288)
05-15 06:06:33.855: E/AndroidRuntime(1772): FATAL EXCEPTION: main
05-15 06:06:33.855: E/AndroidRuntime(1772): java.lang.NullPointerException
大家都关注在空指针问题上,拼命的去查找有可能产生空值的地方,实际通过调试发现程序只要运行至
HttpConnSoap.java
OutputStream outStream = con.getOutputStream();
就会跳出程序,下面就不运行了。(说到这里对eclisp报怨一下,调试老是报class not found,已转战android studio)
android studio感觉比eclisp强多了,如果大家安装时碰到
Failed to import Gradle project的问题可以参见以下地址
http://blog.csdn.net/caopeng51/article/details/10948171 今天刚解决的,呵呵。
看了一下catlog(android studio的)提示 NetworkOnMainThreadException(原贴地址http://blog.csdn.net/qinpengtaiyuan/article/details/8038074)原因android4.0以上不允许直接从主程序调用线程(大概是这意思吧?)
在MainActivity.java中加入以下蓝字部分
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
- .detectDiskReads().detectDiskWrites().detectNetwork()
- .penaltyLog().build());
- StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
- .detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath()
- .build());
- btn1 = (Button) findViewById(R.id.btn_all);
- btn2 = (Button) findViewById(R.id.btn_add);
- btn3 = (Button) findViewById(R.id.btn_delete);
- listView = (ListView) findViewById(R.id.listView);
- dbUtil = new DBUtil();
如果报错,androidmanifest.xml中最低版本号改为9即可。
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />