博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓开发--AsyncTask
阅读量:4603 次
发布时间:2019-06-09

本文共 3837 字,大约阅读时间需要 12 分钟。

package com.cnn.asynctask;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {	private Button btnButton;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                btnButton=(Button) findViewById(R.id.button1);        btnButton.setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				// TODO 自动生成的方法存根				Intent intent = new Intent(MainActivity.this, ImageTest.class);				startActivity(intent);			}		});    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}

  

package com.cnn.asynctask;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.opengl.Visibility;import android.os.AsyncTask;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.ProgressBar;public class ImageTest extends Activity {	private ImageView imageView;	private ProgressBar bar;	private String urlString="http://pic2.ooopic.com/01/03/51/25b1OOOPIC19.jpg";	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO 自动生成的方法存根		super.onCreate(savedInstanceState);		setContentView(R.layout.image);				imageView=(ImageView) findViewById(R.id.image);		bar=(ProgressBar) findViewById(R.id.bar);				new ImageAsync().execute(urlString);	}		class ImageAsync extends AsyncTask
{ @Override protected Bitmap doInBackground(String... params) { // TODO 自动生成的方法存根 //获取传递进来的参数 String urlString=params[0]; Bitmap bitmap=null; URLConnection connection; InputStream inputStream; try { connection=new URL(urlString).openConnection(); inputStream=connection.getInputStream(); BufferedInputStream bisBufferedInputStream= new BufferedInputStream(inputStream); //通过decodeStream方法解析输入流 转化为bitmap bitmap=BitmapFactory.decodeStream(bisBufferedInputStream); inputStream.close(); bisBufferedInputStream.close(); } catch (MalformedURLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } //bitmap作为返回值返回给后面调用的方法 return bitmap; } @Override protected void onPreExecute() { // TODO 自动生成的方法存根 super.onPreExecute(); bar.setVisibility(View.VISIBLE); } @Override protected void onPostExecute(Bitmap result) { // TODO 自动生成的方法存根 super.onPostExecute(result); bar.setVisibility(View.GONE); imageView.setImageBitmap(result); } }}

  

  

  

  

转载于:https://www.cnblogs.com/zxcnn/p/5071574.html

你可能感兴趣的文章
C/C++ 知识点---sizeof使用规则及陷阱分析(网摘)
查看>>
java小程序 示例
查看>>
前端开发在线小工具
查看>>
有关cookies使用方法
查看>>
Hadoop 使用Combiner提高Map/Reduce程序效率
查看>>
前言 转录组
查看>>
局域网内访问机器时出现“未授予在次计算机上的请求登陆类型”
查看>>
Bogart BogartAutoCode.vb
查看>>
GIT
查看>>
关于OPENSSL的EVP函数的使用
查看>>
部署Node.js项目(CentOS)
查看>>
linux设备模型之spi子系统
查看>>
编程题
查看>>
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况...
查看>>
tf Dataset API
查看>>
Intent
查看>>
JavaScript 测试和捕捉
查看>>
高级软件工程第二次作业——个人项目实战:数独
查看>>
Kafka主要配置
查看>>
PHP开发经验总结
查看>>