Android 远程连接数据库。。。。。
本来是 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 远程连接数据库。。。。。的更多相关文章
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...
- SQL Server 2005如何远程连接数据库?
SQL Server 2005如何远程连接数据库? 方法/步骤 1 在配置工具中的服务和远程连接的外围应用配置器 --->远程连接-->本地连接和远程连接-->同时使用TCP/I ...
- Android远程桌面助手
很早之前,做过一个<WinCE远程桌面助手>,在没有屏幕或者在调试LCD驱动时,发挥了很大作用,平日开发也是必备.后来还被网友用于处理一些疑难问题,如无法输入开机密码时可通过该工具远程输入 ...
- 在本地没有安装Oracle的情况下,使用plsql远程连接数据库
远程连接数据库的方式不止一种.这里主要写在本地没有安装Oracle的情况下,使用plsql可视化工具远程连接数据库的方式. 一.前提 首先你本地得安装有plsql工具.具体的安装步骤就不多说了. 二. ...
- Android远程桌面助手(B1391)
ARDC(B1391), Download:https://files.cnblogs.com/files/we-hjb/ARDC%28B1391%29_EN.7z Android远程桌面助手(B13 ...
- Android远程桌面助手(B1371)
Android远程桌面助手(B1371),下载:https://files.cnblogs.com/files/we-hjb/ARDC%28B1371%29.7z 1.增加了对超大分辨率4320*21 ...
- Android远程桌面助手(B1332)之文件管理器
Android远程桌面助手除了支持Android界面的显示及控制外,还支持Android文件系统的管理,包括文件的快速上传(push).下拉(pull)和查看(cat). Android远程桌面助手( ...
- Android远程桌面助手(B1309)
修改了窗口缩放的处理,支持Android Car等非常规分辨率的Android设备: 修改了获取Android端软件版本的方法,优化了APK的升级逻辑: 优化了远程输入法功能,支持利用PC端输入法快速 ...
随机推荐
- Javascript 面向对象(一):封装
Javascript 面向对象编程(一):封装 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言, ...
- 关于uboot的一些优化
转载于:http://blog.163.com/solylee@126/blog/static/1718231572010101910485331/ 本人的开发环境是u-boot-1.1.6版本,fe ...
- 1-3 分布式系统的瓶颈以及zk的相关特性
- css知多少(1)——我来问你来答(转)
css知多少(1)——我来问你来答 1. 引言 各位前端或者伪前端(比如作者本人)的同志们,css对你们来说不是很陌生.比如我,在几年之前上大学的时候,给外面做网站就用css,而且必须用css.这 ...
- 【转】phpize学习
为什么使用phpize? 比如刚开始安装的时候使用 ./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindi ...
- java中public static void main(String[] args)中String[] args代表什么意思?
这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.只有有main()方法的java程序才能够被java虚拟机欲行,可理解为 ...
- Fiddler的Request Builder(Composer)模拟发送POST请求
传json格式: Parsed写: User-Agent: Fiddler Host: localhost:1455 Content-Type: application/json; charset=u ...
- Flask框架 之 功能详解
浏览目录 配置文件 路由系统 视图 请求相关 响应 模板渲染 session 闪现 中间件 蓝图(blueprint) 特殊装饰器 配置文件 知识点 给你一个路径 “settings.Foo”,可以找 ...
- 3.4PCL中异常处理机制
1.开发者如何增加一个新的异常类 2.如何使用自定义的异常 3.异常的处理
- Excel神技能
按住ALT再按数字41420就可打对号 按住ALT再按数字41409就可打叉号