android学习之网络链接1
来源:互联网 发布:gta5美女角色捏脸数据 编辑:程序博客网 时间:2024/06/05 08:35
在网络如此发达的时代,我们需要从网络提交数据和下载数据,这里我写了通过url的get和post方法来链接网络的方式,晚一点会写一篇使用Client来连接网络的方式。
代码如下
package com.jk.httprequestdemo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.URI;import java.net.URL;import android.os.Bundle;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.view.Menu;import android.view.View;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }public void onMyClick(View view){//得按钮的idint id=view.getId();switch(id){case R.id.btn_get:new Thread(new Runnable() {@Overridepublic void run() {//get方法一般用来获取数据showBitmapByHttpGet();}}).start();break;case R.id.btn_post:new Thread(new Runnable() {@Overridepublic void run() {//post一般用来提交数据getResponseByHttpPost();}}).start();}}private void showBitmapByHttpGet() {try {//通过url类获得url对象URL url=new URL("http://p1.so.qhimg.com/sdr/600_900_/t01ff38d0c8b2ae6d6b.jpg");//通过url.openConnection获得HttpURLConnection的对象HttpURLConnection huc=(HttpURLConnection) url.openConnection();//设置请求的方式huc.setRequestMethod("GET");huc.connect();//获取输入流InputStream is=huc.getInputStream();//读取流的数据存入一张图片,这里为什么要用final我会在后面说,暂时没有弄懂final Bitmap bm=BitmapFactory.decodeStream(is);//因为网络操作在子线程中操作,而界面刷新需要在主线程中所以使用runOnUiThreadrunOnUiThread(new Runnable() {@Overridepublic void run() {//实例化ImageViewImageView iv=(ImageView) findViewById(R.id.img);iv.setImageBitmap(bm);}});} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} private void getResponseByHttpPost() {try { //创建url对象URL url=new URL("http://apistore.baidu.com/apiworks/servicedetail/697.html"); //获得httpurlconnection对象HttpURLConnection huc=(HttpURLConnection) url.openConnection(); //设置连接方式 huc.setRequestMethod("POST");//设置请求头huc.setRequestProperty("apikey", "cfc032894216b5d1c1808b4ec84fcee6"); //添加参数[post必加]huc.setDoOutput(true);//获取输出流OutputStream os=huc.getOutputStream();PrintWriter pw=new PrintWriter(os);//请求参数pw.print("version=1.0");//刷新pw.flush();//得到输入流InputStream is=huc.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(is));final String str=br.readLine();runOnUiThread(new Runnable() {@Overridepublic void run() {//在ui界面显示数据Toast.makeText(MainActivity.this, "responst"+str, Toast.LENGTH_SHORT).show();}}); } catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}同时,在进行网络连接时,必须要记得申请网络权限
<uses-permission android:name="android.permission.INTERNET"/>
0 0
- android学习之网络链接1
- Android学习之链接mysql数据库
- android学习之网络接口
- android 检查网络链接,判断网络链接
- android 判断网络链接
- Android 网络链接判断
- Android网络链接状态
- android开发之网络学习-Socket学习
- 学习网络的一些链接
- 网络笔记之有用链接
- 网络爬虫之链接网页
- Android之检查网络链接情况以及打开网络设置页面
- 判断android手机网络链接
- Android 手机 链接 网络打印机
- Android判断网络链接状态
- android-网络编程之HttpClient学习整理
- android学习之网络图片查看器
- 学习Android之SimpleAdapter显示网络图片
- 如何在asp.net程序集中添加winform的选择框(确定,取消)
- linux字符驱动之定时器去抖动按键驱动
- 使用map 解“英文版 A+B”题目
- 论坛被刷所导致的黑帽seo分析
- iOS捕获异常,常用的异常处理方法
- android学习之网络链接1
- hive --Windowing and Analytics Functions
- jsp页面 链接中文文件名 找不到页面
- Linux 标准目录结构
- 系统常用命令章节 2016/4/07)hwclock修改硬件时间,系统时间,touch,mkdir命令
- 阿里云初始化mysql数据库安装5.5版本
- 这是 Linux 之父的办公室(组图)
- JDK 1.5新特性之静态导入
- CSS