public class MainActivity extends AppCompatActivity { public static final String TAG ="MainActivity"; private ListView listview; private ImageView imageview; private TextView textview; Handler han=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int what = msg.what; Log.e(TAG,"-----------8--------------------"); if(what==1){ imageview.setImageBitmap((Bitmap) msg.obj); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //强传alt+回车 listview = (ListView) findViewById(R.id.listview); imageview = (ImageView) findViewById(R.id.imageview); textview = (TextView) findViewById(R.id.textview); imageview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"=============",Toast.LENGTH_SHORT).show(); new Thread( new Runnable() { @Override public void run() { Log.e(TAG,"-----------1---------------------"); String url="http://169.254.37.115:8080/test/2.png"; Log.e(TAG,"-----------2---------------------"); NetworkUtil networkUtil=new NetworkUtil(); Log.e(TAG,"-----------3---------------------"); Bitmap netImage=networkUtil.getNetImage(url); Log.e(TAG,"-----------4---------------------"); Message message=han.obtainMessage(); Log.e(TAG,"-----------6---------------------"); message.obj=netImage; Log.e(TAG,"-----------7---------------------"); message.what=1; han.sendMessage(message); } } ).start(); } }); new Thread() { @Override public void run() { super.run(); //联网是耗时操作,要放在子线程,ip地址用本机的 try { //定义一个url对象 URL url = new URL("http://169.254.37.115:8080/test/network.json"); //通过url打开连接; Log.e(TAG,"-----------8---------------------"); URLConnection urlConnection = url.openConnection(); //服务器返回的数据都是以流的形式; Log.e(TAG,"-----------9---------------------"); InputStream inputStream = urlConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String stringTemp = ""; Log.e(TAG,"-----------10---------------------"); while ((stringTemp = bufferedReader.readLine()) != null) { stringBuilder.append(stringTemp); } String result = stringBuilder.toString(); Log.e(TAG,"-----------11---------------------"+result); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }
//这个是弄获取图片的类
public class NetworkUtil { private int responseCode; public Bitmap getNetImage(String urlString) { URL url = null; try { url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { } return null; } }