URLConnection是个抽象类,它有两个直接子类分别是HttpURLConnection和JarURLConnection。另外一个重要的类是URL,通常URL可以通过传给构造器一个String类型的参数来生成一个指向特定地址的URL实例。

JDK自带的请求方式,包名: java.net.HttpURLConnection;

HttpURLConnection请求的类别: 
分为二类,GET与POST请求。二者的区别在于: 
     1: get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, 
     2: post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。

效果图:

 public class MainActivity extends Activity implements OnClickListener {
public static String urls = "http://bajie.zhangwoo.cn/app.php?platform=android&appkey=5a379b5eed8aaae531df5f60b12100cfb6dff2c1"; private TextView mTextView;
private ImageView imagegvoew;
String resultStr = "";
String resultStr1 = ""; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
} private void initView() {
findViewById(R.id.btn1).setOnClickListener(this);
findViewById(R.id.btn2).setOnClickListener(this);
findViewById(R.id.btn3).setOnClickListener(this);
mTextView = (TextView) findViewById(R.id.Text);
imagegvoew = (ImageView) findViewById(R.id.imagegvoew); } @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
Thread visitBaiduThread = new Thread(new VisitWebRunnable());
visitBaiduThread.start();
try {
visitBaiduThread.join();
if (!resultStr.equals("")) {
mTextView.setText(resultStr);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case R.id.btn2: Thread visitBaiduThreads = new Thread(new VisitWebRunnables());
visitBaiduThreads.start();
try {
visitBaiduThreads.join();
if (!resultStr1.equals("")) {
mTextView.setText(resultStr1);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case R.id.btn3:
new Thread(new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
new DownImgAsyncTask()
.execute("http://avatar.csdn.net/8/6/0/2_dickyqie.jpg");
}
}).start(); break;
default:
break;
} } class DownImgAsyncTask extends AsyncTask<String, Void, Bitmap> { @Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute(); } @Override
protected Bitmap doInBackground(String... params) {
// TODO Auto-generated method stub
Bitmap b = Util.getImageBitmap(params[0]);
return b;
} @Override
protected void onPostExecute(Bitmap result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (result != null) {
imagegvoew.setImageBitmap(result);
}
} } class VisitWebRunnable implements Runnable { @Override
public void run() {
// TODO Auto-generated method stub
String data = Util.get(urls);
resultStr = data;
} } class VisitWebRunnables implements Runnable { @Override
public void run() {
// TODO Auto-generated method stub
Map<String, String> params = new HashMap<String, String>();
params.put("q", "test");
params.put("showapi_appid", "11548");
params.put("showapi_timestamp", "20160511151954");
params.put("showapi_sign", "bb1d15ab7ce646ec87cc89d684ca4bcb");
String data = Util.post("https://route.showapi.com/32-9", params);
resultStr1 = data;
} }
}
  • 注意:使用时常出现出现NetworkOnMainThreadException错误,Android.os.NetworkOnMainThreadException错误提示的原因
  • 原因:不允许在主线程中进行网络访问
  • 解决:将网络访问的操作单独放到一个线程中

记得加网络权限

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

源码点击下载: https://github.com/DickyQie/android-network-request

android--------HttpURLConnection的get,post和图片加载的更多相关文章

  1. 【Android】安卓中常用的图片加载方法

    一.通过相机选图片: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  2. android 自定义控件之NetWorkImageView 处理listview等控件中的图片加载乱序问题

    0.调用: BaseAdapter中设置方法 holder.iv.loadImage(url); adapter_xxx.xml 中 控件需要用 xxx.NetWorkImageView 1 NetW ...

  3. Android图片加载与缓存开源框架:Android Glide

    <Android图片加载与缓存开源框架:Android Glide> Android Glide是一个开源的图片加载和缓存处理的第三方框架.和Android的Picasso库类似,个人感觉 ...

  4. Android之Fresco(facebook的强大Android图片加载的框架)

    Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络.本地存储和本地资源中加载图片.其中的Drawees可以显示占位符,直到图片加载完成.而当图片从屏幕 ...

  5. Android常用的图片加载库

     Android常用的图片加载库 前言:图片加载涉及到图片的缓存.图片的处理.图片的显示等.四种常用的图片加载框架,分别是Fresco.ImageLoader. Picasso. Glide. Uni ...

  6. Android图片加载神器之Fresco,基于各种使用场景的讲解

    Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库. 优点:相对于其他开源的第三方图片加载库,Fresco拥有更好的内存管理 ...

  7. Android图片加载神器之Fresco, 基于各种使用场景的讲解

    Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库. 优点:相对于其他开源的第三方图片加载库,Fresco拥有更好的内存管理 ...

  8. Volley框架之网络请求和图片加载

    Volley是 Google 推出的 Android 异步网络请求框架和图片加载框架. Volley的特性 (1).封装了的异步的请求API.Volley 中大多是基于接口的设计,可配置性强.(2). ...

  9. android--------volley之网络请求和图片加载

    Volley是 Google 推出的 Android 异步网络请求框架和图片加载框架. Volley的特性 封装了的异步的请求API.Volley 中大多是基于接口的设计,可配置性强. 一个优雅和稳健 ...

  10. 图片加载之Picasso使用

    简介 Picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能. 主要有以下一些特性: 在Adapter中回收和取消已经不在视野范围图片资源的加载,防止可能出现的 ...

随机推荐

  1. Python 读写文件中w与wt, r与rt的区别

    w和wt是一们的,r和rt是一样的,t是默认参数,可以省略的,help(open)就能看到open的参数的详细说明. w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是 ...

  2. Python: 合并拼接字符串join()| format() | +

    将几个小字符串合并成为一个大的字符串 1如果合并的是一个序列,最快的方式是使用join()方法 >>> parts = ['Is', 'Chicago', 'Not', 'Chica ...

  3. redis安装及注意事项

    在linux中使用wget时,若报-bash: wget: command not found,则表明没有安装wget,需要安装,安装命令如下: yum -y install wget 安装完成即可以 ...

  4. Linux服务器---本地yum

    本地yum 本地yum可以实现各种包的快速安装,避免漫长的下载过程 1.找一个centos的安装包,将其挂载的系统中 [root@localhost ~]# mount –t iso9660 –loo ...

  5. 用rewrite把旧域名直接跳转到新域名的nginx配置

    用rewrite把旧域名直接跳转到新域名的nginx配置 把下面代码保存到daziran.com.conf 放在nginx配置目录下 /etc/nginx/conf.d/ #把旧域名zdz8207直接 ...

  6. TED #10# A rite of passage for late life

    Bob Stein: A rite of passage for late life Collection I grew up white, secular and middle class in 1 ...

  7. .xz文件解压及linux常见压缩

    最近下载mysql8.0的压缩包,发现压缩包的格式为xz tar czvf 或 tar xzvf 的压缩格式很好解压,使用tar命令即可,z是针对 gzip,j是针对 bzip2. 但xz的压缩文件就 ...

  8. 04: Form 验证用户数据 & 生成html

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  9. Starting MySQL...The server quit without updating PID file [失败]local/mysql/data/localhost.localdomain.pid报错

    在添加命令自动补全的时候mysql启动失败 这是原配 # For advice on how to change settings please see # http://dev.mysql.com/ ...

  10. phpMyAdmin本地文件包含漏洞

    4 phpMyAdmin本地文件包含漏洞 4.1 摘要 4.1.1 漏洞简介 phpMyAdmin是一个web端通用MySQL管理工具,上述版本在/libraries/gis/pma_gis_fact ...