/**以下内容主要来源于android-sdk-windows/docs**/
进程和线程
android的UI是非线程安全的,所以不能在工作线程中访问UI对象,两个简单的原则:
1.不要阻塞UI线程
2.不要在除UI线程外的线程中直接访问UI对象
在工作线程中访问UI对象的方法:
例子:
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
final Bitmap bitmap = loadImageFromNetwork("http://example.com/image.png");
mImageView.post(new Runnable() {
public void run() {
mImageView.setImageBitmap(bitmap);
}
});
}
}).start();
}
推荐的方法是使用
AsyncTask
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
protected Bitmap doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}
/** The system calls this to perform work in the UI thread and delivers
* the result from doInBackground() */
protected void onPostExecute(Bitmap result) {
mImageView.setImageBitmap(result);
}
}
//在工作线程中调用
new DownloadImageTask().execute("http://example.com/image.png");
在services和content provider中的方法通常要线程安全
分享到:
相关推荐
这篇“Android基础教程PPT”旨在引导初学者了解如何使用Eclipse环境进行Android应用开发。首先,我们从创建或导入Android工程开始。 要开启一个新的Android工程,你需要在Eclipse中选择[File]->[New]->[Project],...
android基础教程,里边包括新版Android开发教程&笔记1--基础入门,Android开发教程&笔记2--基础入门二,Android开发教程&笔记3--环境搭建与解析,Android开发教程&笔记4--Dalvik ADB Android开发教程+笔记5--模拟器...
在Android基础的学习中,"Android基础-02"这一主题主要涵盖了Android开发的基本概念和核心组件,这些都是构建Android应用程序的基础。下面将详细讲解这些知识点。 首先,Android是一种基于Linux内核的操作系统,...
Android复习题题库 ...这个文件中涵盖了Java基础、Java面向对象编程、Java异常处理、Android基础、Java数学运算、Java逻辑运算和Android数据存储等多个知识点,为Android开发提供了广泛的知识支持。
**Android基础教程4** 在Android开发的学习过程中,基础教程4主要涵盖了Android开发的多个关键方面,包括用户界面设计、文件存取、数据库编程、应用程序管理、权限控制以及资源管理等核心概念。以下是对这些主题的...
《Android基础教程 第三版》是一本针对初学者和进阶开发者的重要参考资料,全面覆盖了Android应用开发的基础知识。此版本的PDF版本以其高质量的文本和包含源码的特点,为学习者提供了便捷的学习途径。书中的内容围绕...
Android基础与应用开发教程 Android基础与应用开发教程
Android读写XML(上)——package说明.doc Android读写XML(下)——创建XML文档.doc Android读写XML(中)——SAX.doc Android高手进阶教程之----Android Handler的使用!...Android基础教程之----五大布局对象.doc
在介绍Android的基础知识时,首先需要了解其系统架构。Android采用了分层的设计,从上到下依次分为应用程序层、应用程序框架层、Android运行时和库、Linux内核四个层次。各个层次承担着不同的功能,保证了整个系统的...
这些资料主要涵盖的是Android开发的基础教程,源自2015年12月28日传智播客官网上金老师的课程。在这个系列中,学员可以通过day07到day11的源码学习Android应用程序开发的基本概念和技术。让我们逐一探讨这些知识点。...
《Android基础教程 第3版 修订版》是学习Android开发的重要参考资料,针对初学者和有一定经验的开发者都具有很高的参考价值。本教程深入浅出地介绍了Android开发的基础知识,包括环境搭建、应用结构、UI设计、数据...
以下是一些主要的Android基础控件及其使用方法的详细说明: 1. **按钮(Button)** - `Button`控件用于实现点击事件,用户可以触发某种操作。可以通过`setOnClickListener`设置监听器,如: ```java Button button...
**Android基础教程** Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。这个基础教程旨在帮助初学者理解Android开发的基本概念和技术。教程可能涵盖了以下几个核心主题: 1....
Android基础开发与实践
Andro,Android基础教程Android基础教程Android基础教程id基础教程
Android 基础笔记 Android 基础笔记是 Android 开发的入门知识点总结,涵盖了 Android 开发的基础知识点,从 Android 发展史到自定义 ContentProvider 的实现。 一、Android 发展史 Android 的发展史可以追溯到 ...
Android基础入门教程,网上教程,打包成chm,看得时候方便一些 教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识。
1. **环境搭建**:介绍如何安装Android Studio,设置开发环境,包括JDK、Android SDK、AVD Manager等,以及如何创建第一个“Hello, World”项目。 2. **Android应用程序结构**:解释Android应用的基本组成,如...
《Android基础教程(第三版)》是一本深受开发者欢迎的指南,它涵盖了Android开发的核心概念和技术,旨在帮助初学者和有经验的开发者更好地理解和实践Android应用开发。这本书的配套源码提供了丰富的实例,使得读者...
以下是对标题和描述中提到的Android基础知识的详细解析: 1. **Handler**:Handler是Android中的消息处理机制,用于在主线程中处理来自其他线程的消息。它通常与Looper和Message配合使用,实现异步消息传递,避免...