Android程序开发之网络通信(一): 使用Http的Get方式读取网络数据

url采用的是有道词典提供的api

MainActivity.java

package com.example.treasure.httpget;

import android.app.Activity;
import android.content.SyncStatusObserver;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.get).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               new AsyncTask<String,Void,Void>(){

                   @Override
                   protected Void doInBackground(String... params) {
                       try {
                           URL url = new URL(params[0]);
                           URLConnection connection=url.openConnection();

                          //  connection.setDoInput(true);
                          // connection.setDoOutput(true);
                         //  connection.sx

                          // OutputStreamWriter bow=new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
                         //  BufferedWriter bw=new BufferedWriter(bow);
                          // bw.write("keyfrom=treasure&key=1383408303&type=data&doctype=json&version=1.1&q=good");
                         //  bw.flush();

                           InputStream is=connection.getInputStream();
                           InputStreamReader isr=new InputStreamReader(is,"UTF-8");
                           BufferedReader br=new BufferedReader(isr);
                           String line;
                           while((line=br.readLine())!=null){
                               System.out.println(line);
                           }
                           br.close();
                           isr.close();
                           is.close();
                       } catch (MalformedURLException e) {
                           e.printStackTrace();
                       } catch (IOException e) {
                           e.printStackTrace();
                       }
                       return null;
                   }
               }.execute("http://fanyi.youdao.com/openapi.do?keyfrom=treasure&key=1383408303&type=data&doctype=xml&version=1.1&q=good");

            }
        });
    }

}
时间: 2025-01-17 17:00:09

Android程序开发之网络通信(一): 使用Http的Get方式读取网络数据的相关文章

Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)

使用Http的Get方式读取网络数据,使用Get方式与网络通信是最常见的Http通信,建立链接之后就可以通过输入流读取网络数据. 详见:Android(java)学习笔记209:采用get请求提交数据到服务器(qq登录案例)

Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)

使用HttpClient进行Get方式通信,通过HttpClient建立网络链接,使用HttpGet方法读取数据,并且通过Response获取Entity返回值. 使用HttpClient进行Post方式通信,通过HttpClient建立网络链接,使用HttpPost方法传出数据与读取数据,传出和传入的数据都是Entity的子类. 详见:Android(java)学习笔记211:采用httpclient提交数据(qq登录案例)

Android 使用Http的Get方式读取网络数据

Android 中为了防止UI线程的无响应,网络通信一般使用AsyncTask(Android中的轻量级异步操作类),具体本文不再阐述. 正文开始 new AsyncTask<String,Void,Void>(){ @Override protected Void doInBackground(String... params) { try { URL url = new URL(params[0]); URLConnection connection = url.openConnectio

Android程序开发0基础教程(一)

程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统,内核为Linux. 作为开发人员,我们所关心的是这个平台的架构以及所支持的开发语言.以下是这个平台的架构模型: 这个平台有下面功能: + Application framework: 可重用的和可替换的组件部分,在这个层面上,全部的软件都是平等的. + Dalvik virtul machine:

CSDN Android客户端开发(二):详解如何基于Java用Jsoup爬虫HTML数据

本文参考链接详细介绍如何使用Jsoup包抓取HTML数据,是一个纯java工程,并将其打包成jar包.希望了解如何用java语言爬虫网页的可以看下. 杂家前文就又介绍用HTTP访问百度主页得到html的string字符串,但html的文本数据如果不经过处理就是个文本字符串没有任何效果的.所谓的浏览器就是负责将文本的html"翻译"成看到的界面.在前文有介绍,这个csdn的客户端app分首页.业界.移动.研发.程序员.云计算五大类.以业界为例,http://news.csdn.net/ 

Android 读取网络数据

通过HttpResponse  实现 首先在AndroidManifest中配置允许网络访问    <uses-permissionandroid:name="android.permission.INTERNET"/> 然后实现代码 示例代码如下 String url = "http://www.baidu.com"; HttpGet request = new HttpGet(url); try { HttpResponseresponse = ne

Android项目开发全程(三)-- 项目的前期搭建、网络请求封装是怎样实现的

在前两篇博文中已经做了铺垫,下面咱们就可以用前面介绍过的内容开始做一个小项目了(项目中会用到Afinal框架,不会用Afinal的童鞋可以先看一下上一篇博文),正所谓麻雀虽小,五脏俱全,这在里我会尽量的将前期的项目搭建做的相对实用一些,以便后期可以有效的实现团队协作和项目维护.一开始可能会看起来麻烦些,可能会觉得还不如直接用简单的方式去实现来的方便,磨刀不误砍柴工嘛,要想后期开发效率高一些,前期就不要图省事了. 一个项目肯定不是一蹴而就的,咱们一步一步来,本篇博文先详细介绍项目搭建.通过url地

Android程序开发记录:发布APK,权限等

发布APK 参考如下链接: http://chenfeicqq.iteye.com/blog/1889160 问题1:apk拷贝到手机中安装失败 原因:调试程序卸载不完全,需要在应用中选择app,针对所有用户卸载,在安装对应的APK 问题2:apk安装时没有请求必要的权限 原因:未知

使用 Cordova(PhoneGap)构建Android程序

移动终端开发随着智能手机的普及变得越来越热,什么项目都想移动一把,但反观要去学这些各个终端的控件使用,实属不易,又特别是每个终端的控件及所用语言都各不相同,使得这种学习变得更加困难. 有没有一种简单的方式能够快速构建移动终端程序并能在各个终端平台上快速打包并正常使用? 答案是肯定的,并且这种框架还不少,本文简单的介绍通过Cordova(原名为phonegap)这个平台构建一个android 程序. 开发环境准备. 安装JDK,此步骤忽略,各位有意的看官可自行去oracle网站上下载你适合的jdk