精华内容
下载资源
问答
  • 如何调用API接口获取数据
    千次阅读
    2021-06-04 22:43:15

    下面以调用丁香园的API接口获取新冠疫情数据为例。
    丁香园提供的API接口及说明如下:
    在这里插入图片描述
    调用该API接口获取数据的代码如下:
    import requests
    import json
    import pandas as pd

    #以requests.get方式调用API接口,获取JSON格式的数据
    data=requests.get(url=‘https://lab.isaaclin.cn/nCoV/api/area’)
    data=data.json()

    res=data[‘results’] #获取键名为results的对应值,为字典格式
    df=pd.DataFrame(res) #将res转换为数据框格式,便于清洗和处理

    更多相关内容
  • 在文件里面,数据的抓取为正则表达式方式抓取数据 实现的方式有。 1.根据文件中出现的字符进行抓取。 2。可以抓取前后2端的中间数据 3。可以抓取前后(不包括前端和后端的数据)的中间的数据。 还有,懒的说了。上...
  • Java中获取数据的类型

    千次阅读 2021-08-20 10:49:45
    在查阅相关资料以后发现Java中没有相应的内置函数来返回数据的类型,只能自己定义方法来获取数据的类型,索性就自己写一个方法来获取数据的类型。 提示:以下是本篇文章正文内容,下面案例可供参考 一、函数代码 ...


    前言

    在复习Java基础时突然想到,Python中有内置函数type()可以获取数据的类型,在Java中是否也有函数能够返回数据的类型呢?在查阅相关资料以后发现Java中没有相应的内置函数来返回数据的类型,只能自己定义方法来获取数据的类型,索性就自己写一个方法来获取数据的类型。
    在这里插入图片描述


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、函数代码

    package cn.shijimo.test;
    
    public class GetType {
    	
    	public static String getType(Object obj) {
    		/**
    		 *  1. 通过反射获取传来参数的JavaClass对象
    		 *  2. 获取到JavaClass对象的类型名称
    		 *  3. 将参数的类型名称返回
    		 */
    		return obj.getClass().getTypeName();
    	}
    
    }
    

    设置getType方法为静态方法,在其他类中也可以调用该方法

    二、测试

    在这里使用String类型和一个自己创建的Student类进行测试,看是否能在控制台上输出对应的全路径
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    测试通过


    总结

    以上便是Java中获取数据类型的方法,虽然有些方法Java中并没有进行内置,但是通过Java中的反射机制,也可以很轻松的实现。

    展开全文
  • 最近遇到了一个需求:单片机上传数据到阿里云物联网平台,手机端或者网页端能够从物联网平台获取数据并显示到出来,再加一个手机端/网页端通过物联网平台控制单片机。 最终采用了阿里云物联网平台提供的方法,使用...

    最近遇到了一个需求:单片机上传数据到阿里云物联网平台,手机端或者网页端能够从物联网平台获取数据并显示到出来,再加一个手机端/网页端通过物联网平台控制单片机。
    在这里插入图片描述
    最终采用了阿里云物联网平台提供的方法,使用规则引擎数据转发的功能,把Topic 1 的消息转发到 Topic 2中,

    一、创建一个产品并自定义一个主题

    在这里插入图片描述

    创建主题的时候建议操作权限选择发布和订阅,方便调试。主题中有${deviceName},代表产品下的每一个设备都可以使用这一个类型主题,只要把deviceName改为设备名字(开发时填写主题要把" ${} " 去掉),这样每个设备就具有一个自己的主题,然后使用数据流转功能,每个设备之间就可以进行通信。

    二、创建该产品下的一个设备

    在这里插入图片描述
    创建一个设备时,设备名字(我用web1来表示网页端设备)建议都填上。创建好设备后,设备处于未激活状态,这时需要复制该设备的三元组,解析出阿里云物联网平台的域名、用户id、用户名、密码等信息,用于给单片机连接到物联网平台。
    在这里插入图片描述

    三、解析三元组

    解析三元组的工具有很多,包括阿里官方也提供了,我习惯用下面这个工具。
    在这里插入图片描述

    四、设备连接到物联网平台

    这里我就用MQTT.fx来模拟网页端连接到物联网平台,把相关信息填写好,点击connect按钮即可,如果是真实的单片机设备,也是需要用到这些信息来连接到物联网平台的。
    在这里插入图片描述
    连接成功后,刷新一下设备,可以看到web1这个设备已经显示在线
    在这里插入图片描述
    验证一下web1设备订阅的主题是否能正常使用。
    在这里插入图片描述

    五、规则引擎数据转发功能

    根据上面的步骤,我有创建了一个名为stm32的设备,用来模拟真实单片机给物联网平台发消息,接着把消息流转到web1这个中。现在确保两个设备在线。
    在这里插入图片描述
    在右边的规则引擎中点击云产品流转,点击创建规则,规则名称可以随便,但是数据格式这里有个坑:

    • 如果你选这json格式,那么stm32给物联网平台发的数据必须是json格式,才能被流转到另外一个主题,否则,另外一个主题是收不到任何消息的。
    • 如果选择了二进制,那就可以随意一点,任何消息都可以转发,根据个人需求选择。

    在这里插入图片描述
    点击编辑规则,在这个页面这,处理数据中点击编写SQL,这里就是数据来源的地方,SQL语句可以起到一定的筛选作用,用*号就代表转发所有数据,因为是stm32给我的web1网页端发数据,所以数据来源的是stm32设备下的主题(前面创建产品时自定义的主题,它会为产品下的每个设备分配的一个主题)。
    在这里插入图片描述
    接着在转发数据那里添加一个操作,选择发布到另外一个主题,然后下面的信息填写我们的目标设备的主题即可
    在这里插入图片描述
    编辑完规则后,记得返回启动规则,到此就大功告成啦!
    在这里插入图片描述

    六、测试

    stm32发给web1:
    在这里插入图片描述
    stm32发给手机:
    在这里插入图片描述
    以上就是我测试的过程,如果博客有错误的地方欢迎指出,还不了解这个过程的朋友可以评论留言哈!

    展开全文
  • Android中连接MySql数据库获取数据的简单实现

    万次阅读 多人点赞 2019-02-20 19:37:37
    但是今天我们就来尝试实现直接连接到MySql数据库获取数据的功能。 代码实现 demo很简单,xml布局文件显示的是一个按钮和一个textView控件。 点击按钮实现连接MySql数据库并获取表中的数据;textView用来显示...

    背景

    一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的。但是今天我们就来尝试实现直接连接到MySql数据库获取数据的功能。


    demo布局

    demo很简单,xml布局文件显示的是一个按钮和一个textView控件。
    点击按钮实现连接MySql数据库并获取表中的数据;textView用来显示获取的数据。xml布局显示如下:
    在这里插入图片描述

    xml代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <Button
            android:id="@+id/btn_get_data"
            android:layout_margin="2dp"
            android:textSize="16sp"
            android:text="获取数据测试"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
        <TextView
            android:id="@+id/tv_data"
            android:padding="10dp"
            android:textSize="16sp"
            android:gravity="center"
            android:text="imxiaoqi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    

    导入jar包

    实现直连MySql数据库需要导入mysql-connector-java-5.1.30-binjar包(百度网盘提取码为:ctxa)。

    将jar下载后,在新建的demo项目app/src/main 目录下 创建libs文件夹,将jar包复制到该文件夹下,然后右键选择 Add As Library 进行导入即可。如图:

    在这里插入图片描述

    在这里插入图片描述

    等待gradle同步成功后,打开gradle文件依赖内容如下说明导入成功:

    在这里插入图片描述


    demo代码实现

    jar包导入成功后,对应的api就可以使用了,下面我们来看代码的实现。
    代码实现思路:首先需要连接至MySql数据库,连接成功后,就可以做对应的数据库操作了。

    代码中我会给出详细的注释,就不详细的说每个变量的意思了。

    • MainActivity.java代码如下:
    package com.example.administrator.mysqldemo;
    
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    import java.util.HashMap;
    
    public class MainActivity extends Activity {
    
        private Button btn_get_data;
        private TextView tv_data;
    
        @SuppressLint("HandlerLeak")
        private Handler handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
    
                switch (msg.what){
                    case 0x11:
                        String s = (String) msg.obj;
                        tv_data.setText(s);
                        break;
                    case 0x12:
                        String ss = (String) msg.obj;
                        tv_data.setText(ss);
                        break;
                }
    
            }
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 控件的初始化
            btn_get_data = findViewById(R.id.btn_get_data);
            tv_data = findViewById(R.id.tv_data);
    
            setListener();
        }
    
        /**
         * 设置监听
         */
        private void setListener() {
    
            // 按钮点击事件
            btn_get_data.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    // 创建一个线程来连接数据库并获取数据库中对应表的数据
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            // 调用数据库工具类DBUtils的getInfoByName方法获取数据库表中数据
                            HashMap<String, Object> map = DBUtils.getInfoByName("Charger9527");
                            Message message = handler.obtainMessage();
                            if(map != null){
                                String s = "";
                                for (String key : map.keySet()){
                                    s += key + ":" + map.get(key) + "\n";
                                }
                                message.what = 0x12;
                                message.obj = s;
                            }else {
                                message.what = 0x11;
                                message.obj = "查询结果为空";
                            }
                            // 发消息通知主线程更新UI
                            handler.sendMessage(message);
                        }
                    }).start();
    
                }
            });
    
        }
    }
    
    
    • 上面的代码比较简单,不过涉及到一个数据库工具类DBUtils.java,代码如下:
    package com.example.administrator.mysqldemo;
    
    import android.content.Context;
    import android.util.Log;
    import android.widget.Toast;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.HashMap;
    
    /**
     * 数据库工具类:连接数据库用、获取数据库数据用
     * 相关操作数据库的方法均可写在该类
     */
    public class DBUtils {
    
        private static String driver = "com.mysql.jdbc.Driver";// MySql驱动
    
    //    private static String url = "jdbc:mysql://localhost:3306/map_designer_test_db";
    
        private static String user = "root";// 用户名
    
        private static String password = "123456";// 密码
    
        private static Connection getConn(String dbName){
    
            Connection connection = null;
            try{
                Class.forName(driver);// 动态加载类
                String ip = "192.168.3.61";// 写成本机地址,不能写成localhost,同时手机和电脑连接的网络必须是同一个
    
                // 尝试建立到给定数据库URL的连接
                connection = DriverManager.getConnection("jdbc:mysql://" + ip + ":3306/" + dbName,
                        user, password);
    
            }catch (Exception e){
                e.printStackTrace();
            }
    
            return connection;
        }
    
        public static HashMap<String, Object> getInfoByName(String name){
    
            HashMap<String, Object> map = new HashMap<>();
            // 根据数据库名称,建立连接
            Connection connection = getConn("map_designer_test_db");
    
            try {
                // mysql简单的查询语句。这里是根据MD_CHARGER表的NAME字段来查询某条记录
                String sql = "select * from MD_CHARGER where NAME = ?";
    //            String sql = "select * from MD_CHARGER";
                if (connection != null){// connection不为null表示与数据库建立了连接
                    PreparedStatement ps = connection.prepareStatement(sql);
                    if (ps != null){
                        // 设置上面的sql语句中的?的值为name
                        ps.setString(1, name);
                        // 执行sql查询语句并返回结果集
                        ResultSet rs = ps.executeQuery();
                        if (rs != null){
                            int count = rs.getMetaData().getColumnCount();
                            Log.e("DBUtils","列总数:" + count);
                            while (rs.next()){
                                // 注意:下标是从1开始的
                                for (int i = 1;i <= count;i++){
                                    String field = rs.getMetaData().getColumnName(i);
                                    map.put(field, rs.getString(field));
                                }
                            }
                            connection.close();
                            ps.close();
                            return  map;
                        }else {
                            return null;
                        }
                    }else {
                        return  null;
                    }
                }else {
                    return  null;
                }
            }catch (Exception e){
                e.printStackTrace();
                Log.e("DBUtils","异常:" + e.getMessage());
                return null;
            }
    
        }
    
    }
    
    

    这个类,有点需要注意的是:数据库的ip地址记得写本机IPV4地址,然后手机与电脑连接同一个网络,只有这样条件下,手机才能成功的连接上本机的mysql数据库。

    上面的代码我给出了关键的注释,这里就不展开说明了,大家自己慢慢捋一捋。


    权限设置

    这里需要网络权限,大家别忘记了哦!在清单配置文件中添加

    <uses-permission android:name="android.permission.INTERNET"/>
    

    即可。

    在这里插入图片描述


    应用运行的结果

    上面的所有操作完成后,我们来安装到手机上运行看看结果吧!

    在这里插入图片描述
    在这里插入图片描述

    从上面两幅图可以看到,从mysql数据库表中获取数据成功了。
    该文分享关键的信息就是怎么样能成功连接上mysql数据库
    一旦成功连接了,那么操作数据库就不难了。我这里只给出了一个查询操作,其他的增删改的操作就都大同小异,大家自己去实践吧!加油哦!


    A little bit of progress every day!Come on!

    展开全文
  • vue 请求接口获取数据

    千次阅读 2020-12-01 16:52:02
    vue 请求接口获取数据 1.链接:https://www.cnblogs.com/kymming/p/6484626.html <!doctype html> <html> <head> <meta charset="UTF-8"> <title>获取图片列表</title> <...
  • 动态下拉框,从后台获取数据

    千次阅读 2019-06-13 18:38:22
    动态下拉框,从后台获取数据 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>下拉框示例</title> <script type="text/javascript" src...
  • 通过数据库api获取数据 手动添加数据。 打开云开发 点击数据库 在集合名称那一栏点击 +号 创建集合 – 点击 添加记录 在添加数据称成功后,在index.wxml页面中,写按钮样式。 <button bindtap="shujuku...
  • python3 接口获取数据

    万次阅读 多人点赞 2018-12-06 13:59:12
    第一次了解到“通过接口获取数据”是在做一个项目时需要存储大量数据,而通过接口是传输大量数据最好的选择,因为它比导出csv文件,再保存至数据库的方法要更快捷、更方便。自己对接口学习了一段时间,对学到的东西...
  • Python爬虫精简步骤 获取数据

    万次阅读 多人点赞 2020-02-14 19:56:34
    爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐厅...
  • vue中拿到接口,并获取数据,渲染到页面

    万次阅读 多人点赞 2020-11-22 20:31:54
    前提,封装好了获取数据的api接口,并在main,js中注册到了原型。 然后在 1,首先在api中获取接口, 2,在utils中封装http请求的get 和post方法,并注册到原型 import axios from "axios" // 添加一个请求拦截器,...
  • 前端获取数据常见的几种方法

    千次阅读 2020-09-16 19:55:10
    1.原生获取ajax <script> // 1. 创建xhr,是一个请求对象,用来向服务器端发送各种请求 var xhr = new XMLHttpRequest(); // 在放送请求之前,必须建立连接。 // 2. open()打开连接,参数1:请求方式,不...
  • vue怎么获取数据

    万次阅读 2018-08-03 08:13:45
     }).then(function(response){ //接口返回数据  this.imgList=response.data;   },function(error){  })  }  }     使用vue-resource代码如下: new Vue({ el:'#app', data:{data:""}, ...
  • VueX获取数据和修改数据

    万次阅读 2019-10-30 17:06:40
    首先是获取数据,两种方式 第一种。。。获取 然后这里是使用 第二种获取的方式呢!!! 然后页面的使用也是直接使用this.属性使用, 还有一中方是就是直接使用this.$store.state.属性,获取里面的值, ...
  • 在Excel上具备数据获取的能力是指什么?难道不是把csv格式的表格和Excel格式的表格打开就好了吗?然而并非这样。 本文选自《数据化运营速成手册》。  其实标题中有两层意思:第一层意思是在一些数据库管理不那么...
  • vue从数据库获取数据显示到页面下拉框里面;目前有后端的查询所有数据的端口,求源码。![图片说明](https://img-ask.csdn.net/upload/201912/11/1576032653_665124.png)
  • vue中使用echarts并从Java后台获取数据

    万次阅读 2019-12-22 18:28:14
    文章目录使用步骤:从后台获取数据遇到的问题echarts标题title和图例legend重合的解决方法。常用技巧 使用步骤: 安装插件 npm install echarts -S 使用npm 安装 Echarts,安装成功后,可在项目package.json 文件中...
  • ECharts动态获取数据

    千次阅读 2017-09-28 10:35:25
    ECharts动态获取数据
  • Kettle使用接口获取数据(九)

    万次阅读 热门讨论 2019-05-12 09:52:11
    Kettle使用接口获取数据
  • Kinect V2开发(2)从Kinect获取数据   在Kinect for windows SDK2.0中,Kinect有多种类型的数据源,每个类型的数据都有三个类与之对应:Source,Reader和Frame。例如,要读取骨架,就有IBodyFrameSource, ...
  • 如何使用axios获取数据

    千次阅读 2018-03-06 11:32:47
    axios 简介axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:· 1.... 转换请求和响应数据· 6. 取消请求· 7. 自动转换JSON数据· 8. 客户端支持防止 CSRF...
  • vue ---通过API接口获取数据

    千次阅读 2020-06-06 22:58:52
    // 在最后必须 return config return config }) Vue.prototype.$http = axios 获取数据 async 【函数名】() { const { data: res } = await this.$http.get('menus') //判断状态 if (res.meta.status !== 200) ...
  • get和post获取数据的方式

    千次阅读 2018-03-29 14:29:44
    1、获取 get 请求提交的数据 当发生GET请求的时候,可以通过 request.GET['名称']的方式来获取 请求提交的数据 2、POST 获取数据 if request.method == 'POST': if 'name' in request.POST and request.POST['...
  • vue项目及axios请求获取数据

    万次阅读 多人点赞 2018-09-17 10:12:46
    一般vue项目中 一个页面是由多个组件组成的,各个组建的数据都是统一在主界面的组件中发送axios请求获取,这样极大地提高了性能。 首先要导入用到的组件和axios import HomeHeader from './components/Header' ...
  • Promise获取数据的几种方式

    万次阅读 2019-09-20 15:05:59
    Promise获取数据的几种方式一、Promise.all1. 互相不关联的ajax请求:2. 统一获取多个异步请求返回的数据:一、Promise.then 一、Promise.all 我们平时在项目中可能会请求多个异步结果最后整合到一起的需求,也就是...
  • 首先在页面静态资源加载完之后获取数据: 定义对象: constructor() { super(); this.state = { districts: [] }; } componentDidMount() { this.getusersDetail(); } const districts = ...
  • Android从onenet上获取数据

    万次阅读 多人点赞 2018-11-18 23:43:51
    onenet平台上: 设备信息:主要是设备id和APIKey这两个参数 数据流信息: 其中一个数据流的名称:shumditity ...所有数据流的最新一个数据: "http://api.heclouds.com/devices/36427574/datapoints...
  • FullCalendar: 动态获取数据

    万次阅读 2018-03-29 12:37:09
    项目中需要用到日历插件,在进行一番比较之后选择了FullCalendar,但是看官方文档的过程中...1. 从后台获取数据并按数据状态显示不同背景颜色 关键点:将ajax请求插入calendar 的初始化代码中,将返回的数据转化为...
  • vue下拉菜单 从后台获取数据

    千次阅读 2019-11-07 17:00:10
    vue下拉菜单 从后台获取数据: vue: ;" size="small"> 站点名称"> 请选择" style="width: 200px;"> v-for="item in dataOptions" :key="item.value" :label="item.label" :value="item.value"> ...
  • 父子组件传值时,父组件从接口获取数据,通过props传递给子组件。实际情况下:父组件获取数据有时间延迟,传递的props值为空,子组件接收的数据为props默认值 父子组件生命周期 父组件异步请求数据传递给子组件 父子...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,311,034
精华内容 2,124,413
关键字:

怎么获取数据