精华内容
下载资源
问答
  • Nodejs获取网络数据并生成Excel表格

    热门讨论 2015-07-13 22:58:24
    Nodejs获取网络数据并生成Excel表格:http://blog.csdn.net/qxs965266509/article/details/46851947
  • okHttp3.0获取网络数据

    千次阅读 2017-04-19 09:39:56
    okHttp3.0获取网络数据  听到okHttp以后首先查了一下goole浏览器等等(关于它的相关信息)还是根据了一个大牛(hongYang)的一些相关文档 根据他的文档进行一步步的做就完成了;(是不是感觉很简单,下面我们就来具体...

                                       okHttp3.0获取网络数据

       听到okHttp以后首先查了一下goole浏览器等等(关于它的相关信息)还是根据了一个大牛(hongYang)的一些相关文档

    根据他的文档进行一步步的做就完成了;(是不是感觉很简单,下面我们就来具体的说一下我的步骤吧!)

        okHttp获取网络数据分为简单获取和封装获取:

        简单获取:就是直接get,post

        get请求数据:首先是定义一个方法:在方法中进行(1)创建一个request请求对象进行将url赋值如下所示:

    // 创建一个request对象
    Request request = new Request.Builder()
            .url(url)
            .build();

    创建一个okHttpClient对象,通过它调用newCall(request请求对象).enqueue(接口回调)等等方法在接口回调的方法中进行获取数据并进行发送handler消息进行更新UI数据的操作 如下所示

    Call call = okHttpClient.newCall(request);
    call.enqueue(new Callback() {
        @Override
        public void onFailure(Request request, IOException e) {
    
        }
    
        @Override
        public void onResponse(Response response) throws IOException {
            String s = response.body().string();
            Log.e("============", s+"");
            // 解析数据
            list = initGson(s);
    
            Message message2 = Message.obtain(handler,0,list);
            message2.sendToTarget();
        }
    });

    此方法的获取数据方式比较麻烦因为需要用到子线程与handler发送消息等等


    切记:此方法中okHttp本身没有进行子线程和主线程的操作所以此时需要我们自己手动的交互 如下所示:

    // 初始化数据
    new Thread(new Runnable() {
    
        @Override
        public void run() {
            /**
             * 因为请求数据的时候 需要进行耗时操作
             * 所以此时就要用到了子线程的请求
             * handler一起用到
             */
            try {
                initData();
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    }).start();
    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
    
            switch (msg.what){
                case 0:
                    List<JsonBean.TrailersBean> list = (List<JsonBean.TrailersBean>) msg.obj;
                    for(int i=0;i<list.size();i++){
                        String movieName = list.get(i).getMovieName();
                        Log.e("=====name===",movieName);
                    }
                    // 进行适配器
                    initAdapter(list);
    
                    break;
    
            }
    
        }
    };


    紧接着进行post的发送方法

    Request request = buildMultipartFormRequest(url, new File[]{file}, new String[]{fileKey}, null);

    FormEncodingBuilder builder = new FormEncodingBuilder();  

    builder.add("username","张鸿洋");Request request = new Request.Builder() 

    .url(url)  

    .post(builder.build())  

    .build(); 

    mOkHttpClient.newCall(request).enqueue(new Callback(){});


    上面的操作就是我按照(hongYang)博客中进行的操作 其实post请求就是请求对象那有一些不同与get请求

    下面的操作就和get请求都一样了


    下面咱们就来看一下封装后的OkHTTP网络请求

    首先我们应该先要弄清楚我们为什么要做这项工作?(上面的okHttp请求数据操作已经看到了是不是感觉比较麻烦还需要定义子线程和handler的消息交互等等)而我们现在要做的就是不需要自己定义子线程和Handler的操作让后台直接完成好之后我们直接调用他

    现在让我们来进行一下具体操作:

    第一,我们可以自己封装一个依赖库(或者你可以下载一个开源的依赖库我是直接下载别人的依赖库大家可以随意)

    第二,导入别人的依赖库肯定会有错误(有可能会报API版本的错误或者会报

    PersistentCookieJar:v0.9.3的错误
    )

    此时就需要进行查询方法:我在gittub网站上搜索

    PersistentCookieJar的用法 通过人家的用法 进行一步步修改

    Step 1. Add the JitPack repository in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            maven { url "https://jitpack.io" }
        }
    }
    切记不要忘记添加到app中的moudle依赖库

    在glide文件中将无用的方法注销掉 等等 我遇到的错误就这么多 如果还有的话希望大家再根据不同的错误寻找不同的解决方法


      以上是我们导入依赖库所遇到的一系列问题 及解决方法  接下来我们就开始在代码中的实现了

    首先现在在进行网络的请求所以切记不要忘记加网络权限 

        代码块 :第一步 首先来get封装的获取数据如下所示

    String url = "http://www.zhiyun-tech.com/App/Rider-M/changelog-zh.txt";
    url = "http://api.m.mtime.cn/PageSubArea/TrailerList.api";
    OkHttpUtils
            .get()
            .url(url)
            .id(100)
            .build()
            .execute(new MyStringCallback());


       从方法中不难看出他是根据OKHttpUtils工具类进行的操作 请求方式 路径 id build execute(自定义接口回调)

    如下所示

    public class MyStringCallback extends StringCallback
        {
            @Override
            public void onBefore(Request request, int id)
            {
                setTitle("loading...");
            }
    
            @Override
            public void onAfter(int id)
            {
                setTitle("Sample-okHttp");
            }
    
            @Override
            public void onError(Call call, Exception e, int id)
            {
                e.printStackTrace();
                tv_01.setText("onError:" + e.getMessage());
            }
    
            @Override
            public void onResponse(String response, int id)
            {
                Log.e(TAG, "onResponsecomplete");
                tv_01.setText("onResponse:" + response);
    
                switch (id)
                {
                    case 100:
                        Toast.makeText(FengActivity.this, "http", Toast.LENGTH_SHORT).show();
                        break;
                    case 101:
                        Toast.makeText(FengActivity.this, "https", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
    
            @Override
            public void inProgress(float progress, long total, int id)
            {
                Log.e(TAG, "inProgress:" + progress);
    //            mProgressBar.setProgress((int) (100 * progress));
            }
        }

    大家可以直接复制粘贴就行了 

    在此接口中不难发现 首先它是实现了一个stringCallBack接口 重写了它里面的一系列方法 在此方法中进行了一系列的操作  在这个接口中还对http https 进行了判断 大家可以根据不同的需求 进行不同的操作







    还有一个post请求 我们现在就不解释太多了 因为post方法和get方法中没有什么不同 无非就是请求方式为post而已

    接下来我们就看一下具体代码的实现吧

    public void postDataOkHttp()
        {
            String url = "http://www.zhiyun-tech.com/App/Rider-M/changelog-zh.txt";
    //        url="http://www.391k.com/api/xapi.ashx/info.json?key=bd_hyrzjjfb4modhj&size=10&page=1";
            url = "http://api.m.mtime.cn/PageSubArea/TrailerList.api";
            OkHttpUtils
                    .post()
                    .url(url)
                    .id(100)
                    .build()
                    .execute(new MyStringCallback());
        }
    接口还是get方法中的接口所以大家直接可以复制过来就行了 在这里我们就不多说了


           以上就是我们的okHttp的网络请求 它还可以进行上传文件和下载文件等等方法 我们下次再细细说明

    展开全文
  • 最近有很多人在问,我是如何收集网络数据,如何进行数据处理、数据分析以及可视化呈现的。也有人问的更具体,关于Python数据分析的一些问题。到底应该怎么学?如何快速入门,...

    最近有很多人在问,我是如何收集网络的数据,如何进行数据处理、数据分析以及可视化呈现的

    也有人问的更具体,关于Python数据分析的一些问题。到底应该怎么学?如何快速入门,以及技术和业务之间的瓶颈如何突破?

    因为深度的数据分析往往可以看到事情的本质,而这又是一项在任何情况下都超级加分的技能。总结了一些经验,希望能够给还没入门、或者入门之后就遇到瓶颈的新手一些建议。主要是关于如何系统地进行学习规划,以及可以避免的一些坑。 

    有的同学看到数据分析几个字,就马上开始Python函数+控制语句、R语言和ggplot库……上来一顿骚操作,还没入门就放弃了。

    这就是需求不明确导致的,当然学习方式也值得商榷,那到底数据分析需要什么样的技能呢? 这里作为例子,从招聘网站上找了几个数据分析的岗位,我们来看看具体的要求是怎样的。  

                             

     其实企业对数据分析师的基础技能需求差别不大,可总结如下:

    • 分析工具:一般要求SPSS/SAS/R/Python等分析工具至少会一种,会两种以上加分,有的企业因内部需求,会指定的一种;

    • 数据库:绝大会要求会SQL,部分要求SQL/NoSQL会一种,高级的分析师或者大型企业要求能够处理大数据,需要Hive(较少的需要Hadoop/Spark);

    • 统计学:若无相关专业背景,需要具备相应的统计学、概率论等基础知识;

    • 数据挖掘:少部分要求会建模,了解基本的算法模型,能够做数据预测,即便不要求,算法也是加分项;

    • 结果输出:Excel/PPT/Tableau。Excel和PPT要求的比较多,主要用作常规的数据呈现,与业务部门沟通等,Tableau一般作为可视化或者分析工具的加分项或者要求之一;

    • 业务/思维:对某个领域(如电商、金融等)相关业务的了解或具有产品、运营方向的分析经验,有自己的数据分析的方法论和项目经验,具备Data Sence。

    看上去很简单呀,对吧,但其实你把每个技能拆分开来,都是一个不小的知识体系。如果我们按照数据分析的流程来细分的话,每个部分应该掌握的技能,大概是这样的:          

    那对于这个技能体系,应该如何进行技能的训练呢?先后顺序是什么?哪些地方可能出现困难和瓶颈?

    按数据分析的流程的顺序循序渐进,你会知道每个部分需要完成的目标是什么,需要学习哪些知识点,哪些知识是暂时不必要的。

    接下来我们分别从每一个部分讲讲具体应该学什么、怎么学。

    - ❶ -

    数据获取:爬虫与公开数据

    数据是产生价值的原材料,这也是数据分析项目的第一步。

    通常我是通过爬虫获取相关数据的,一来数据有很高的时效性,二来数据的来源可以得到保证,毕竟网上的信息是异常丰富的。

    这些分布在网上零散的信息,通过爬取整合之后,就有比较高的分析价值。

    比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某个事件、某类人群进行分析。

    在爬虫之前需要先了解一些 Python 的基础知识:数据类型(列表、字典、元组等)、变量、循环、函数………

    以及,如何用 Python 库(urllib、BeautifulSoup、requests等)实现网页爬虫。如果是初学,建议从 requests+xpath 开始。

    当然,并不是说公开数据就没用了,在进行分析的时候,需要一些历史数据进行对比,需要一定的行业标准进行参考的时候,公开数据的价值就体现出来了。

    一些科研机构、企业、政府会开放一些数据,还有一些行业研究报告、他人的调查结果,都可以成为你的数据来源。这些数据集通常比较完善、质量相对较高。

    - ❷ -

    数据存取:SQL语言

    我并不是每次都会用到数据库,但很多时候这确实是做数据分析项目的必备技能,包括求职就业,也是必选项。

    通常数据库的使用能够让数据存储、管理更方便,同时也能提高数据提取和使用的效率,特别是在数据上了一定的量级之后,谁用谁知道。

    大多数的企业,都会以SQL的形式来存储数据,如果你是一个分析师,也至少要懂得SQL的操作,能够查询、提取公司的数据。

    SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。需要掌握以下技能:

    • 提取特定情况下的数据:企业数据库里的数据一定是大而繁复的,你需要提取你需要的那一部分。比如你可以根据你的需要提取2017年所有的销售数据、提取今年销量最大的50件商品的数据、提取上海、广东地区用户的消费数据……,SQL可以通过简单的命令帮你完成这些工作。

    • 数据库的增、删、查、改:这些是数据库最基本的操作,但只要用简单的命令就能够实现,所以你只需要记住命令就好。

    • 数据的分组聚合、如何建立多个表之间的联系:这个部分是SQL的进阶操作,多个表之间的关联,在你处理多维度、多个数据集的时候非常有用,这也让你可以去处理更复杂的数据。

    SQL这部分比较简单,主要是掌握一些基本的语句。当然,还是建议找几个数据集来实际操作一下,哪怕是最基础的查询、提取等。

      

    - ❸ -

    数据处理:Pandas/Numpy

    爬回来的数据通常是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。

    那么我们需要用相应的方法去处理,比如重复数据,是保留还是删除;比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。

    对于数据预处理,学会 pandas/Numpy (Python包)的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:

    • 选择:数据访问(标签、特定值、布尔索引等)

    • 缺失值处理:对缺失数据行进行删除或填充

    • 重复值处理:重复值的判断与删除

    • 异常值处理:清除不必要的空格和极端、异常数据

    • 相关操作:描述性统计、Apply、直方图等

    • 合并:符合各种逻辑关系的合并操作

    • 分组:数据划分、分别执行函数、数据重组

    • Reshaping:快速生成数据透视表

    数据清洗通常被视为脏活,但事实上这步非常重要,这直接决定了你的分析结论的准确性,决定你的项目是否能顺利进行下去。

    - ❹ -

    数据分析与可视化

    这个是从数据中发现信息、挖掘价值的过程,大多数的结论在这个步骤产生,主要做两件事情。

    一是对于既定的数据分析主题进行拆解,评估需要从哪些维度进行分析,提取哪些数据,这个步骤很大程度上来源于经验或者对于具体事务的理解;

    二是通过探索数据分布的规律、数据的特征,发现从表面看不到的信息,完成这个流程主要是通过数据本身进行探索。

    前者对应的是描述性的数据分析,主要考虑数据的指标,看从不同的角度去描述数据能够得出哪些结论。

    这个地方就需要对统计学的相关知识有一定的了解,比如:

    • 基本统计量:均值、中位数、众数、百分位数、极值等

    • 其他描述性统计量:偏度、方差、标准差、显著性等

    • 其他统计知识:总体和样本、参数和统计量、ErrorBar

    • 概率分布与假设检验:各种分布、假设检验流程

    后者则是探索型的数据分析,主要通过绘制数据的分布图形,来观察数据的分布规律,从而提取隐藏的某些信息。

    这里就需要对掌握可视化的技能,Python中的Matplotlib/Seaborn都可以完成可视化的工作。可视化既是探索性分析的工具,也可以输出最终结果呈现的图形。

    当然,还有一种是预测型的数据分析,需要构建模型来预测未来数据,我在推文中用的比较少,但在企业中应用非常多。

    做数据分析的话,会用比如线性回归、逻辑回归、决策树等这些基本的算法,用于解决基本的回归和分类问题,就OK了。

     

    ● ● ●

    - 系统学习成为分析师 -

    所以,如果你是真的想系统地去学习数据分析,从工具、流程、业务、思维等层面逐个击破,有目的地系统学习和基于真实项目进行训练,以learning by doing 的形式,我想把这门课推荐给你。

    DC学院的数据分析师训练营完全以职业为导向,通过实际的项目流程,训练真实的工作技能。十周的系统训练,除了掌握基础的技能,还有能获得大量的项目经验。

    这是训练营的第1期开班,优惠力度足够大(名额有限),相信之后你不太能够以如此低的价格加入,或者说是参与类似的系统性训练

    十周系统训练,掌握专业数据分析师的技能

    首期立减400,优惠限前50名

    开课7天内无理由退款

    ↓↓↓ 扫码了解训练营详情 ↓↓↓

    01 

    课程设计

    为了打造这样的训练营,我们花了6个月的时间去打磨:

     

    ????为了保证技能的全面性和深度

    我们调研了众多的数据分析岗位,和数十位分析师进行了深度的内容探讨。

    让课程内容能够满足主流企业的需求,也具备不同行业、领域的数据思维和分析方法。

    ????在学习的流畅性方面,

    我们也对学习路径进行了数十次的迭代,从技能板块的学习逻辑到细节知识的设置和筛选。

    既让课程能够使不同背景的同学高效学习,也尽可能地提升学员能够达到的技能上限。

    ????特别是案例和作业项目部分,

    尽量地还原真实工作中的业务流程,融入尽可能多的技能栈,所以每个项目都是训练的综合应用能力,和解决实际问题的能力。

    我们始终坚信,大量的真实训练,才是知识内化和迁移的关键

     

    以下就是我们这次训练营的课程主体大纲(学习计划周次可以扫码了解),十周的训练,足以让你打败市面上多半所谓的据分析师:

              

    02 

    实战案例

    除了课程中实时穿插的小案例巩固细节知识点,另有6大企业项目实战,涉及电商、房产、金融、招聘、社交等多领域。

    这些案例在课程中都有详细的讲解,关于问题拆解的思路,使用的技术细节,代码的编写,以及逐步的效果展示。

    帮助你训练数据采集、分析方法、编程技巧、模型搭建、报告撰写等全方位技能,丰富项目经验。

     

    03 

    作业项目

    除了众多的实战案例帮助你实时巩固技术之外,另外每周都有基于真实业务问题的作业项目。你需要根据每周的学习,来解决这些在工作中存在的问题。

    最重要的是,每周提交的作业项目都有老师1v1批改逐行代码审阅,评估学习效果,并给出针对性的学习建议。

    可以很负责任地说,认真完成这些作业项目,最终形成的这个作品集,将可以成为你求职就业非常棒的加分项

    △ 部分作业列表

    △ 内测学员部分作业批改

    04 

    学习收益

    训练营完全按照数据分析师职位的技能需求进行打造,既保证技能的全和深,也在此基础上尽量简化学习的内容,以提高效率

     

    当然,必要的横向的扩展还是会有的,比如小规模数据的Excel分析,利用其它可视化/报告工具进行数据分析报告的输出,这些必要的技能在课程中会有所涉及,也是数据分析师的绝对加分项。

    总体来说,你将得到工具使用、编程能力、数据库能力、分析能力、数据思维五个方向的锻炼,成为具有综合能力的分析师,而不是数据处理员。

    05 

    陪伴式学习  

     

    为了帮你更好地学习和训练,DC学院数据分析师训练营采用定期班级教学的模式。

    已经帮你安排好学习计划,总共十周训练,你可以轻松地掌握全方位的数据分析技能

     

    班主任会时刻监督你的学习进度,不定期小窗问候。群里面老师会帮助你实时解决学习上的问题(7×12小时那种),还有一群颇具潜力的同学,和你探讨作业,分享经验。

    在课程正式上线之前,课程经过了多次的内测和迭代。训练营好不好?听听内测学员怎么说: 

    如果你是以下人群之一:

    • 还是没有形成专业分析方法以系统经验的野路子分析师

    • 想提升分析能力,拿起数据的武器为自己说话的互联网职场人

    • 希望突破职业瓶颈,转行进入数据科学等前沿行业的求职者

    • 或是对人工智能、机器学习、python大法感兴趣的在校学生。

    这个训练营就是为你而定制! 

     

     

    十周系统训练,掌握专业数据分析师的技能 

    首期训练营名额有限,先到先得

    ¥1299 (原价¥1699)

    首期优惠仅限前50名

     

    开课7天内无理由退款

     

    扫描下方二维码了解课程详情

     

    如果还有更多课程问题

    扫下方二维码添加Amy小姐姐 

    添加后可获取

    《数据分析师训练营知识体系详解》

    《数据分析师成长指南》

    一份数据分析超级学习资料包

    展开全文
  • Flutter 通过API获取网络数据并解析

    万次阅读 2018-07-03 16:16:27
    首先通过API获取网络数据这个过程是耗时的,所以我们需要进行异步操作,使用Dart语言完成异步可以参考如下的文章https://www.jianshu.com/p/f2f7634b602c1.网络请求直接进入正题,首先我进行网络请求是通过一个工具...

    首先通过API获取网络数据这个过程是耗时的,所以我们需要进行异步操作,使用Dart语言完成异步可以参考如下的文章

    https://www.jianshu.com/p/f2f7634b602c

    1.网络请求

    直接进入正题,首先我进行网络请求是通过一个工具类,大家可以直接使用

    import 'package:http/http.dart' as http;
    import 'dart:convert';
    
    class NetUtils {
      static void get(String url, Function callback, {Map<String, String> params, Function errorCallback}) async {
        if (params != null && params.isNotEmpty) {
          StringBuffer sb = new StringBuffer("?");
          params.forEach((key, value) {
            sb.write("$key" + "=" + "$value" + "&");
          });
          String paramStr = sb.toString();
          paramStr = paramStr.substring(0, paramStr.length - 1);
          url += paramStr;
        }
    //    print("$url");
        try {
          http.Response res = await http.get(url);
          if (callback != null) {
            callback(res.body);
          }
        } catch (exception) {
          if (errorCallback != null) {
            errorCallback(exception);
          }
        }
      }
      
      static void post(String url, Function callback, {Map<String, String> params, Function errorCallback}) async {
        try {
          http.Response res = await http.post(url, body: params);
          if (callback != null) {
            callback(res.body);
          }
        } catch (e) {
          if (errorCallback != null) {
            errorCallback(e);
          }
        }
      }
    }

    我现在使用一下,这个data就是返回的Gson字段

        NetUtils.get(url, (data) {
       
        }, errorCallback: (e) {
          print("network error: $e");
        });

    2.解析Gson字段

    虽然获取了Gson字段,但是我们还不能获取我们想要的数据,这样和java一样,需要解析Gson字段,这个flutter有相关的API实现了,我们需要导一下包,虽然这个包在NetUtil导入过,但是flutter不能间接导包

    import 'dart:convert';
    然后使用
        NetUtils.get(url, (data) {
          if (data != null) {
            var obj = json.decode(data);
            if (obj['error'] == false) {
              //print(obj);
    
    
              setState(() {
                MyApp.text = obj['results'][0]['desc'];
                if (MyApp.text==null){
                  MyApp.text=' ';
                }
              });
            }
          }
        }, errorCallback: (e) {
          print("network error: $e");
        });

    3.完整的例子

    就是通过干货集中营的API获取网络数据,将其中一个分享的标题显示出来。

    这里要注意的是非交互型控件StatelessWidget是不能刷新的,而网络数据获取后需要刷新控件显示,所以我们需要自己自定义一个交互型控件,这个可以参考如下文章

    https://blog.csdn.net/z979451341/article/details/80817609

    好了,大家看代码

    import 'dart:async';
    
    import 'package:flutter/material.dart';
    import 'dart:convert';
    import 'NetUtils.dart';
    import 'AndroidBean.dart';
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
    
      static String text='Hello World';
    
      @override
      Widget build(BuildContext context) {
    
        return MaterialApp(
          title: 'Welcome to Flutter',
          home: Scaffold(
            appBar: AppBar(
              title: Text('Welcome to Flutter'),
            ),
            body: Center(
              child: ParentWidget(),
    
            ),
          ),
        );
      }
    
    
    
    
    
    }
    
    class ParentWidget extends StatefulWidget {
      @override
      _ParentWidgetState createState() => new _ParentWidgetState();
    }
    
    class _ParentWidgetState extends State<ParentWidget> {
      bool _active = false;
    
    
      @override
      Widget build(BuildContext context) {
        getNetData();
        return new Container(
            child: new Text(MyApp.text)
        );
      }
    
    
      getNetData() async {
        var url = 'http://gank.io/api/data/Android/10/1';
        NetUtils.get(url, (data) {
          if (data != null) {
            var obj = json.decode(data);
            if (obj['error'] == false) {
              //print(obj);
    
    
              setState(() {
                MyApp.text = obj['results'][0]['desc'];
                if (MyApp.text==null){
                  MyApp.text=' ';
                }
              });
            }
          }
        }, errorCallback: (e) {
          print("network error: $e");
        });
      }
    
    
    }
    AndroidBean.dart
    class AndroidBean{
      String desc;
      List<String> images;
      String url;
      String who;
    
    
      static List androidData;
    }

    4.最后

    我要做一个比较完整的app,敬请期待




    展开全文
  • String getNetData(String connectURL){ String result = ""; //用来取得返回的String;...//接下来就是解析获取到的json数据了,json数据的解析就需要根据需求自定义了,大概例子在我的另一篇博文中有讲解。
    String getNetData(String connectURL){
        String result = ""; //用来取得返回的String;
        //发送post请求
        HttpPost httpRequest = new HttpPost(connectURL);
        //Post运作传送变数必须用NameValuePair[]阵列储存
        try {
            //发出HTTP请求
            Log.d("请求连接", "在发送请求");
            List params = new ArrayList();
            params.add(new BasicNameValuePair("start", "123321"));//post请求(必须有,数据自定义)
            //params.add(new BasicNameValuePair("end", end+""));//可添加多个Post请求码,php中按键值对获取
            httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
            //取得HTTP response
            HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
            //若状态码为200则请求成功,取到返回数据
            Log.d("连接值", String.valueOf(httpResponse.getStatusLine().getStatusCode()));
            if (httpResponse.getStatusLine().getStatusCode() == 200) {
                //取出字符串
                Log.d("请求连接", "连接成功");
                result = new String(EntityUtils.toString(httpResponse.getEntity(),"utf8"));
            }
        } catch (Exception e) {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(getContext(), "网络出错",Toast.LENGTH_SHORT).show();
                }
            });
            e.printStackTrace();
        }
        return result;
    }

    //接下来就是解析获取到的json数据了,json数据的解析就需要根据需求自定义了,大概例子在我的另一篇博文中有讲解。

    展开全文
  • 前面我们已经配置好了界面布局,显示布局上的数据都是我们胡乱加载的,接下里...我们使用ConnectManager类的getSystemService方法,获取网络连接状态值 package com.example.xchen.mweather; import android.content.
  • android开发之获取网络数据

    千次阅读 2014-04-25 21:54:22
    android开发之获取网络数据 获取网络图片 首先我们需要把界面搭建好 [html] view plaincopyprint? xml version="1.0" encoding="utf-8"?>   LinearLayout xmlns:android=...
  • cocos2dx lua http请求获取网络数据

    千次阅读 2016-10-14 11:22:48
    cocos2dx lua http请求获取网络数据: local xhr = cc.XMLHttpRequest:new() --创建一个请求 xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串 local req = "http://www.XXX...
  • 本篇文章记录我在使用Flutter开发中如何请求后端接口获取数据, 使用到的包有http用来发送请求,async提供Future抽象类以及convert用来将json数据转换为dart里面的对象。 首先使用flutter create xxx 命令或者 IDEA ...
  • —执行一个请求——- 现在通过请求来获取显示在RecyclerView上的数据。我们将会使用OpenWeatherMap API来获取数据,还有一些普通类来现实这个请求。 Kotlin具有非常强大的互操作性,你可以使用任何你想使用的库,...
  • Python_简单网络爬虫获取网页数据

    千次阅读 2018-10-14 14:38:35
    写了一个简单的网络爬虫,用于获取智联招聘上一线及新一线城市所有与BIM相关的工作信息以便做一些数据分析。 首先通过chrome在智联招聘上搜索BIM的职位,跳出页面后ctrl+u查看网页源代码,然而并没有找到当前页面的...
  • 1.获取大量数据,用于做数据分析 2.公司项目的测试数据,公司业务所需数据 企业获取数据的方式 1.公司自有数据 2.第三方数据平台购买(数据堂,贵阳大数据交易所) 3.爬虫爬取数据 可以用于做爬虫的程序语言 ...
  • 使用GDAL获取网络数据

    千次阅读 2012-08-18 18:03:47
    GDAL中提供了一个访问网络数据的接口,具体的帮助文档可以访问这里(http://gdal.org/cpl__http_8h.html)。不过前提是GDAL需要依赖一个第三方的开源库libcurl,libcurl主要功能就是用不同的协议连接和沟通不同的...
  • Android Studio 获取网络JSON数据并处理

    万次阅读 2017-10-11 15:22:16
    1、需要的网络JSON数据 2、数据实现类package chenglong.activitytest.pengintohospital.entity;import org.json.JSONException; import org.json.JSONObject;/** * * 科室 * Created by LICHENGLONG on 2017-10...
  • RN自带了一个非常优雅的网络操作库fetch,下面的这个例子从gankio的接口拿到了美女图片的url然后通过state 传给列表...网络数据获取方法写在componentDidMount中,这个方法是组件生命周期中需要调用的一个方法。
  • C#使用GET方法获取网络上的JSON数据

    千次阅读 2018-02-05 18:07:53
    API返回的数据大多数都是JSON,下面就是一段可以使用GET方法获取网络API上的JSON数据的C#代码,其中的“resultstring”就是我们获取到的JSON数据了(注意需要引用System.IO和System.Net): string resultstring = ...
  • Android网络开发之实时获取最新数据

    千次阅读 2016-05-26 14:30:23
    在实际开发中更多的是需要我们实时获取最新数据,比如道路流量、实时天气信息等,这时就需要通过一个线程来控制视图的更新。示例:我们首先创建一个网页来显示系统当前的时间,然后在Android程序中每隔5秒刷新一次...
  • MATLAB 爬取网络数据

    千次阅读 热门讨论 2018-08-25 11:32:41
    说到爬数据,大家都会想到Python、Java。但许多非计算机专业的小伙伴对其并不熟悉,更多的学术研究者是使用MATLAB作为...其实,MATLAB也能爬取网络数据,而且使用更加简单。这篇文章将简单介绍使用方法,并附上实例。
  • 一般的,一个程序中只需要用到一个QNetworkAccessManager实例,我们可以将它当作一个单例类来使用   当manager发出请求完毕时,会发出finished信号,并传递一个...不作为单例类使用: 此处例子为获取网络图片 ...
  • 问题描述:从网络中抓取html页面进行解析,解析后发现产生部分中文乱码。
  • 2 index.js 在获取数据的函数中添加app.globalData = res.data 在写app.globalData = res.data语句时必须在,page外必须引用const app = getApp() 可以在调试器中用 console.log(app.globalData) 这条语句...
  • LiveData+ViewModel用法1:获取数据

    千次阅读 2019-02-14 16:49:57
    //这里可以加一层Repository从网络/缓存加载数据 //执行完毕后调用 setValue/postValue方法,最终会回调Activity中的onChange方法 content.setValue("我是获取到的数据"); //子线程调用 content.postValue(...
  • Android通过URL获取网络数据

    万次阅读 2010-08-25 11:13:00
    本实例主要是通过URL获取网络资源,在具体一点,就是简单介绍如何获取网页文本资源。获取网络资源还有获取图片、视频、音频……资源,框架基本相似。实验时出现两点小问题:1、抛出Connection Refused的异常; 2、...
  • VBA-简单抓取网络数据

    万次阅读 多人点赞 2018-07-19 10:14:03
    1.在Excel中如果能够直接获取网上的数据,是非常便利的,于是在这里以获取标题和链接为例,来介绍一下用VBA实现网络抓取 效果如下图所示 2.如何实现,具体代码和解释如下 Option Explicit Public Sub getlist...
  • 如何从网络获取json数据信息

    千次阅读 2017-08-09 11:52:02
    今天带大家看一下如何从网络获取json数据信息!首先看一下最终的效果图json文件: 实现效果: 要实现这个小程序,首先要看一下我们的实现步骤: 1、创建一个ListView控件 使用4 个步骤显示基本数据 2、在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,181,515
精华内容 472,606
关键字:

获取网络数据