码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-05-12 14:20:18      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

作为移动平台的应用,一定避免不了与网络交换数据,不论是读取网页数据,还是调用API接口,都必须掌握Http通信技术

使用Get方式与网络通信是最常见的Http通信,建立链接之后就可以通过输入流读取网络数据。
代码:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn=(Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               //异步加载
                new AsyncTask<String,Void,Void>(){

                    @Override
                    protected Void doInBackground(String... strings) {
                        try {
                            URL url=new URL(strings[0]);
                            URLConnection connection=url.openConnection();//获取互联网连接
                            InputStream is=connection.getInputStream();//获取输入流
                            InputStreamReader isr=new InputStreamReader(is,"utf-8");//字节转字符,字符集是utf-8
                            BufferedReader bufferedReader=new BufferedReader(isr);//通过BufferedReader可以读取一行字符串
                            String line;
                            while ((line=bufferedReader.readLine())!=null){
                                Log.i("输出:",""+line);
                            }
                            bufferedReader.close();
                            isr.close();
                            is.close();
                        } catch (MalformedURLException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        return null;
                    }
                    //使用api的数据接口
                }.execute(" http://fanyi.youdao.com/openapi.do?keyfrom=testdemoHttpGet&key=660196743&type=data&doctype=xml&version=1.1&q=good ");
            }
        });



    }
}

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    tools:context="custom.community.com.filedemo.MainActivity">

    <Button
        android:id="@+id/btn"

        android:text="读取数据"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

AndroidManifest.xml配置网络

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="custom.community.com.filedemo">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

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

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

标签:

原文地址:http://blog.csdn.net/summer_ck/article/details/51361488

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!