Android -- 获取网络数据并将数据存到本地数据库中
public static final int downloadDone = 1; // 用户model数组
ArrayList<Loginer> loginers = new ArrayList<>();
// hander
Handler downloadLoginerHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case downloadDone:
Toast.makeText(MyApplication.getApplication(), "同步用户数据成功", Toast.LENGTH_SHORT).show();
break;
}
super.handleMessage(msg);
}
}; // 从服务器更新loginer数据
public void downloadData() throws IOException, XmlPullParserException {
new Thread(new Runnable() {
@Override
public void run() {
String url = "http://222.169.11.226:7000/WebServiceAndroidcm.asmx/getloginerInfo";
MyHTTP myHTTP = new MyHTTP();
Map map = new HashMap();
map.put("pw", "0535deer");
try {
String string = myHTTP.doPost(url, map);
System.out.println("成功::::"+string);
String newString = string.replace("<?xml version=\"1.0\" encoding=\"utf-8\"?><string xmlns=\"http://tempuri.org/\">{\"Result\":\"1\",\"Value\":", "");
String lastString = newString.replace("}</string>", "");
// 将字符串进行解析
JsonParser jsonParser = new JsonParser();
// 将jsonstring转换为jaonArray
JsonArray jsonArray = jsonParser.parse(lastString).getAsJsonArray();
// gson
Gson gson = new Gson();
// for 循环遍历josnarray
for (JsonElement loginerElement : jsonArray) {
Loginer loginer = gson.fromJson(loginerElement, Loginer.class);
loginers.add(loginer);
System.out.println("大小是"+loginers.size());
}
// 获取dao对象
loginerDao = MyApplication.getApplication().getDaoSession().getLoginerDao();
// 新建一个Message对象
Message msg = new Message();
// 通过for循环插入数据到数据库
for (int i = 0; i < loginers.size(); i++) {
System.out.println("终于找到你:"+loginers.get(i).getLoginer_code());
long result = loginerDao.insertOrReplace(loginers.get(i));
System.out.println("结果是:"+result);
// 如果全部替换或插入成功, 则弹出更新用户数据成功
if (result == loginers.get(loginers.size() - 1).getLoginer_id()) {
// 发送同步完成的消息到message
msg.what = downloadDone;
downloadLoginerHandler.sendMessage(msg);
System.out.println("到最后一条了"); }
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
调用:
// 开始更新loginers数据的数据
try {
downloadData();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
截图:


Android -- 获取网络数据并将数据存到本地数据库中的更多相关文章
- Java爬网页数据,并存储到本地数据库中
由于开发一个人工智能项目,需要强大的后台数据库加持,所以,没有办法,又是需要医疗数据,只能自己爬某医疗网站数据,进行分析,但是由于不同网站的结构不一样,所以这个程序只能爬该网站的,第一次爬网页数据,自 ...
- Android获取网络状态
Android获取网络状态 学习自 https://developer.android.google.cn/reference/android/net/ConnectivityManager http ...
- node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中
步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...
- Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:
创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...
- android—获取网络数据
取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子. 大家都知道,网络通信,发送请求有两种 ...
- Android移动网络如何抓取数据包
1)下载tcpdump工具 tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析.它 ...
- Android 获取网络类型
获取网络类型 public class IntenetUtil { //没有网络连接 public static final int NETWORN_NONE = 0; //wifi连接 public ...
- android 获取网络类型名称2G 3G 4G wifi
首先工程Manifest文件要引用: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ...
- Android 获取网络状态
1.检测网络是否可用 public boolean isNetWorkConnected() { ConnectivityManager cm = (ConnectivityManager)getSy ...
随机推荐
- Entity Framework 教程——安装Entity Framework环境
安装Entity Framework环境 Entity Framework 5.0 API分布在两个地方,一个可在NuGet包管理器中找到,一个存在于.NET framework中..NET fram ...
- [WinForm] DataGridView 绑定 DT && ComboBox 列绑定 Dict
一 需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面 ...
- Spring JdbcTemplate
参考链接: https://my.oschina.net/u/437232/blog/279530 http://jinnianshilongnian.iteye.com/blog/1423897 J ...
- VMware安装CentOS时,无法以图形界面安装解决办法
有的同学问: 用虚拟机软件(vmware.VirtualBox)安装CentOS系统时, 安装过程中没有中文,也没有出现图形界面,都是以命令行方式去安装, 有时候又会出现图形界面,不知道哪里配置的问题 ...
- Java中日期的转化
4.如何取得年月日.小时分秒? 创建java.util.Calendar实例(Calendar.getInstance()),调用其get()方法传入不同的参数即可获得参数所对应的值,如:calend ...
- 通过使用OpenVPN来构建一个VPN
首先我们需要简单熟悉一下OpenVPN和VPN概念,方便我们在使用OpenVPN构建VPN时的操作~ VPN概述 VPN,即虚拟专用网络,其功能是:在公用网络上建立专用网络,进行加密通讯.在企业网络 ...
- 分享一个ReactiveCocoa的很好的教程(快速上手)
这是我看到的比较全而且讲的很好的文章 https://www.raywenderlich.com/62796/reactivecocoa-tutorial-pt1 https://www.raywen ...
- MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml
一. 下载STS(Spring Tool Suite) 官方地址:http://spring.io/tools/sts 下载spring tool suite for mac 最新版本.这个IDE是很 ...
- ASP.NET MVC 3 技术(九) 301永久重定向不带www域名到带www的域名
在 .net 4 中实现永久重定向非常容易,可以参考ASP.NET MVC3 技术(四) 永久重定向方法.今天主要说明下怎么在 asp.net mvc 3 实现从带www的域名永久重定向到不带www的 ...
- Yii2 modal中 ajax提交表单
view: // view 代码 $form = ActiveForm::begin(['id' => $model->formName()]); // js 代码 $js = <& ...