本来是 6.0.6  换成mysql 5.1.14 驱动ok。。。。

将方法 放在 new Thread() 解决。。。。。

只能在主线程绘制ui。。。。

解决办法。。。
子Thread 获取数据后,将绘制ui代码放到Handler.post中执行

代码----

package com.example.administrator.demo1;

import android.os.Handler;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TabHost;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.Toast; import org.whm.db.DbUtils; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.jar.Attributes; public class MainActivity extends AppCompatActivity { //钩子线程
Handler handler = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
//TextView tv = (TextView) findViewById(R.id.tabhost);
// tv.setText(stringFromJNI());
TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
tabHost.setup(); // FrameLayout frameLayout = (FrameLayout) findViewById(R.id.tabcontent);
// int childCount = frameLayout.getChildCount();
LinearLayout l1 = (LinearLayout) findViewById(R.id.tab1);
LinearLayout l2 = (LinearLayout) findViewById(R.id.tab2); handler = new Handler(); //在lambda中尽量不要抛出异常。。。。
new Thread(() -> {
List<Map<String, Object>> list = getData(l1);
handler.post(new Thread(() -> {
darwView(list, l1);
}));
}).start(); TabHost.TabSpec tabSpec1 = tabHost.newTabSpec("tabSpec1").setIndicator("视频").setContent(R.id.tab1);
TabHost.TabSpec tabSpec2 = tabHost.newTabSpec("tabSpec2").setIndicator("直播").setContent(R.id.tab2); tabHost.addTab(tabSpec1);
tabHost.addTab(tabSpec2); } /**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI(); //从远程服务器获取数据
private List<Map<String, Object>> getData(LinearLayout l) {
List<Map<String, Object>> list = null;
try {
list = DbUtils.execQuery("select * from video", null);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "发生了错误", Toast.LENGTH_LONG).show();
}
return list; } //绘制ui
private void darwView(List<Map<String, Object>> list, LinearLayout view) {
list.forEach((map) -> {
TextView tv = new TextView(getApplicationContext());
tv.setText((String) map.get("title"));
view.addView(tv);
});
} // Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
}

Android 远程连接数据库。。。。。的更多相关文章

  1. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  2. Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)

    dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...

  3. SQL Server 2005如何远程连接数据库?

    SQL Server 2005如何远程连接数据库? 方法/步骤   1 在配置工具中的服务和远程连接的外围应用配置器 --->远程连接-->本地连接和远程连接-->同时使用TCP/I ...

  4. Android远程桌面助手

    很早之前,做过一个<WinCE远程桌面助手>,在没有屏幕或者在调试LCD驱动时,发挥了很大作用,平日开发也是必备.后来还被网友用于处理一些疑难问题,如无法输入开机密码时可通过该工具远程输入 ...

  5. 在本地没有安装Oracle的情况下,使用plsql远程连接数据库

    远程连接数据库的方式不止一种.这里主要写在本地没有安装Oracle的情况下,使用plsql可视化工具远程连接数据库的方式. 一.前提 首先你本地得安装有plsql工具.具体的安装步骤就不多说了. 二. ...

  6. Android远程桌面助手(B1391)

    ARDC(B1391), Download:https://files.cnblogs.com/files/we-hjb/ARDC%28B1391%29_EN.7z Android远程桌面助手(B13 ...

  7. Android远程桌面助手(B1371)

    Android远程桌面助手(B1371),下载:https://files.cnblogs.com/files/we-hjb/ARDC%28B1371%29.7z 1.增加了对超大分辨率4320*21 ...

  8. Android远程桌面助手(B1332)之文件管理器

    Android远程桌面助手除了支持Android界面的显示及控制外,还支持Android文件系统的管理,包括文件的快速上传(push).下拉(pull)和查看(cat). Android远程桌面助手( ...

  9. Android远程桌面助手(B1309)

    修改了窗口缩放的处理,支持Android Car等非常规分辨率的Android设备: 修改了获取Android端软件版本的方法,优化了APK的升级逻辑: 优化了远程输入法功能,支持利用PC端输入法快速 ...

随机推荐

  1. XMPP协议相关基础概念(Strophe学习笔记)

    相关资料: XMPP官网http://xmpp.org/xmpp-software/libraries/ nginx的转发配置http://mineral.iteye.com/blog/448260 ...

  2. 【总结整理】WebGIS学习-thinkGIS(地理常识):

    ##地图知识 ###地图定义 地图是按照一定的法则,有选择地以二维或多维形式与手段在平面或球面上表示地球(或其它星球)若干现象的图形或图像,它具有严格的数学基础.符号系统.文字注记,并能用地图概括原则 ...

  3. C++面向对象类的实例题目三

    编写一个程序,设计一个满足如下要求的CData类. (1)用下面的格式输出日期:日/月/年 (2)输出在当前日期上加一天后的日期 (3)设置日期 code: #include<iostream& ...

  4. Emgu cv3.0.0 图像收集

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  5. iOS 通过接受距离传感器的消息改变屏幕的明暗度(仅限用于真实的手机)

    #import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL ...

  6. Win10 VS2013 PCL1.8.1和依赖项VTK8.0.1, QHuall(2.15.2), FLANN1.9.1,Boost1.59.0,Zbil1.2.11和libPNG1.6.34编译安装

    编译和安装过程最好使用管理员权限去操作,避免不必要的错误. 一般而言为了区分Debug和Release库,添加输入变量 Name: CMAKE_DEBUG_POSTFIX Type: STRING V ...

  7. 触摸屏、X11去掉鼠标

    cursor disable in X11 Last updated 8 years ago 摘自:http://www.noah.org/wiki/cursor_disable_in_X11 Whe ...

  8. C#多线程的简单例子

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. .replace(/-/g,"/")的用法

    /-/g正则表达式   g  代表  global    全部替换 var str1 ="2012-08-12 23:13"; str1 = str1.replace(/-/g,& ...

  10. TCP/IP的三次握手和四次放手

    一开始个人对于三次握手和四次挥手这个东西还是有时候会忘记,可能理解的不是非常深刻,所以今天就自己动手来记录一下这个知识点,方便以后查看.总结完之后发现总结的还是可以的哈哈. 三次握手建立连接 第一次: ...