学习目标
1.概念
button按钮产生点击事件,事件监听器监听和处理事件
2.实例1:按钮的事件监听
事件的处理的方式有好多种。
1.常见的基于回调的事件处理
2.实例:
可以自己重写一些控件,然后采用自己的方式去重写对应的方法。从而设置成自己的回调的事件处理函数。可以在activity中进行编写,但是设置的时候需要知道是哪个控件在起什么样的zuo'yong
1.引入的原因
1.布局文件
2.activity文件
自定义了一个类ImageDownTask,用于执行异步的方法。执行一些比较耗时的工作。
传入execute用于执行耗时长的。
/*
* 异步的方式下载网页中的图片的信息
* */
public class getImg extends AppCompatActivity {ImageView img;ProgressBar pro;private String url="https://img2.baidu.com/it/u=355673106,1614830790&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_get_img);img=findViewById(R.id.img);pro=findViewById(R.id.pro);//实例化异步的任务ImageDownTask task=new ImageDownTask();//执行异步任务。调用这个方法才能去执行对应的耗时的工作task.execute(url);}//执行异步任务的类
/*
*String 表示传递的参数类型,也就是我们的要请求的url的地址的信息
*Void 表示后台任务完成的进度值的类型
* Bitmap是要返回的结果的信息,可以自己进行指定
* */class ImageDownTask extends AsyncTask{/*doInBackground方法执行的都是一些比较耗时的工作的,一般是请求相关的网络资源的信息* params传入的参数的数组集合信息* */@Overrideprotected Bitmap doInBackground(String... params) {//要返回的结果的图片的信息Bitmap bitmap=null;//获取URL地址信息String url=params[0];//网路连接对象URLConnection conn=null;InputStream is;//获取输入流的信息try {//获取连接对象的信息conn=new URL(url).openConnection();//获取输入流的信息is=conn.getInputStream();//将输入流放到输入缓冲区中BufferedInputStream buffer=new BufferedInputStream(is);//解析输入流的信息bitmap= BitmapFactory.decodeStream(buffer);//关闭流信息buffer.close();is.close();}catch (Exception e){System.out.println(e);}//返回给后面的调用的方法return bitmap;}//显示等待进度条的信息@Overrideprotected void onPreExecute() {pro.setVisibility(View.VISIBLE);}//下载完毕,隐藏进度条的信息/** onPostExecute 在doInBackground方法执行完毕之后进行执行,自动会自动进行调用的。* 接收返回值的,主要的作用就是负责更新UI线程等的信息* */@Overrideprotected void onPostExecute(Bitmap bitmap) {pro.setVisibility(View.GONE);//设置要显示的图片的信息img.setImageBitmap(bitmap);}}
}
3.效果图
很短的加载。几乎看不出来。
下一篇:要数字化的局限