界面布局@H_301_1@LinerLayout线性布局,@H_301_1@ImageView控件,@H_301_1@EditText控件 @H_301_1@hint属性提示信息,@H_301_1@Button控件。
Android:layout_weight=””属性,权重,只有控件的宽度和高度为@H_301_1@0的时候才代表权重,否则它代表渲染的优先级,值越大优先级越低,默认是@H_301_1@0,先渲染其他控件
singleLine属性 单行
业务逻辑,获取@H_301_1@EditText的值放到@H_301_1@ImageView里,实质上是@H_301_1@http的@H_301_1@get请求
获取@H_301_1@EditText对象,通过@H_301_1@findViewById()
获取值,通过调用@H_301_1@EditText对象的@H_301_1@getText()方法,调用@H_301_1@toString()方法,调用@H_301_1@trim()方法
调用@H_301_1@TextUtils类的@H_301_1@isEmpty()方法,判断是否为空,为空就@H_301_1@Toast一下
发送@H_301_1@get请求
获取@H_301_1@Url对象,通过@H_301_1@new Url(path),参数:@H_301_1@path是@H_301_1@String的路径,这里需要捕获异常
获取@H_301_1@HttpUrlConnection对象,通过调用@H_301_1@Url对象的@H_301_1@openConnection()方法,返回@H_301_1@UrlConnection对象,然后强制类型转换一下
调用@H_301_1@HttpUrlConnection对象的@H_301_1@setRequestMethod(method)方法,设置请求方法,@H_301_1@method是@H_301_1@GET
调用@H_301_1@HttpUrlConnection对象的@H_301_1@setConnectTimeout(millis),设置超时时间,@H_301_1@millis是毫秒
调用@H_301_1@HttpUrlConnection对象的@H_301_1@setRequestProperty(field,newValue)方法,设置请求参数,比如请求头,@H_301_1@User-Agent等
调用@H_301_1@HttpUrlConnection对象的@H_301_1@getResponseCode()方法,获取服务器的响应码,@H_301_1@200 ok
调用@H_301_1@HttpUrlConnection对象的@H_301_1@getInputStream()方法,获取输入流,返回@H_301_1@InputStream对象
调用@H_301_1@BitmapFactory类的@H_301_1@decodeStream(is)方法得到@H_301_1@Bitmap对象,参数:@H_301_1@is是@H_301_1@InputStream对象
调用@H_301_1@ImageView对象的@H_301_1@setImageBitmap(bitmap)方法设置图片,参数:@H_301_1@Bitmap对象
所有访问网络的都需要加权限@H_301_1@android.permission.INTERNET
此时直接部署,会报一个错误@H_301_1@NetworkOnMainThreadException,不允许在主线程上进行网络操作,下面的代码只在低版本时有效
package com.tsh.internetpic; import java.io.InputStream; java.net.HttpURLConnection; java.net.URL; android.app.Activity; android.graphics.Bitmap; android.graphics.BitmapFactory; android.os.Bundle; android.text.TextUtils; android.view.View; android.widget.EditText; android.widget.ImageView; android.widget.Toast; public class MainActivity extends Activity { private EditText et_path; ImageView iv_pic; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_path=(EditText) findViewById(R.id.et_path); iv_pic=(ImageView) findViewById(R.id.iv_pic); } getInternetImg(View v){ String path=et_path.getText().toString().trim(); if(TextUtils.isEmpty(path)){ Toast.makeText(this,"图片路径不能为空",0).show(); }else{ try { URL url=new URL(path); HttpURLConnection conn=(HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); conn.setRequestProperty("User-Agent",""); int code=conn.getResponseCode(); if(code==200){ InputStream is=conn.getInputStream(); Bitmap bp=BitmapFactory.decodeStream(is); iv_pic.setImageBitmap(bp); }{ Toast.makeText().show(); } } catch (Exception e) { e.printStackTrace(); } } } }