安卓开发--AsyncTask】的更多相关文章

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 androi…
http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43)  在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则:  1. 不要阻塞UI线程  2. 确保只在UI线程中访问Android UI工具包        当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要…
在安卓开发中,我们经常要进行一些耗时操作,比如数据库操作,获取网络资源,读取内存文件等等,当我们在处理这些耗时操作的时候,如果我们直接在UI主线程进行,那么可能会导致阻塞UI主线程,使得UI界面卡顿,带来很不好的用户体验,因此安卓也给我们提供了2个异步操作的类,Handler和AsyncTask. 今天先讲AsyncTask,AsyncTask类是Andorid提供给我们的一个轻量级异步类,算是一个框架,它对线程之间的通讯进行了封装,并且提供了简易的编程操作,使得我们可以很轻松的实现后台线程和U…
这几天一直研究在安卓开发中图片应该如何处理,在网上翻了好多资料,这里做点小总结,如果朋友们有更好的解决方案,可以留言一起交流下. 内存缓存技术 在我们开发程序中要在界面上加载一张图片是件非常容易的事情,但如果是加载一堆图片呢?比如ListView,GridView这类的控件,随着屏幕滑动,图片加载也会越来越多,应用程序所可以使用的内存毕竟是有限的,如果一味的去加载图片,很容易导致OOM(Out Of Memory)内存溢出,导致程序崩溃. 这里我们一般的做法是将显示在屏幕之外的图片进行内存回收,…
在上一篇学习安卓开发[4] - 使用隐式Intent启动短信.联系人.相机应用中了解了在调用其它应用的功能时隐式Intent的使用,本次基于一个图片浏览APP的开发,记录使用AsyncTask在后台执行HTTP任务以获取图片URL,然后使用HandlerThread动态下载和显示图片 HTTP 请求数据 解析Json数据 AsyncTask 主线程与后台线程 后台线程的启动与结果返回 HandlerThread AsyncTask不适用于批量下载图片 ThreadHandler的启动和注销 创建…
接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些基本定义和使用方式 还是以一个下载图片为例,先看下实例效果: 好了,先来看下关于Handler的定义: 以上是官方对于Hanler类的描述,大致意思是说:Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息…
安卓中AsyncTask的基本使用 使用场景介绍 在安卓开发中,我们经常需要访问互联网资源,这些访问是都需要在后台线程中去完成的,因为安卓的UI线程不允许执行耗时任务.然而,后台线程是不可以修改安卓的UI的,所以我们一般使用Handler去修改UI,这需要我们自己去创建新的线程.其实安卓中已经给我们提供好了一个AsyncTask类,这个类就用用来处理耗时任务的,所以我们使用这个类也可以完成同样的操作. AsyncTask类介绍 AsyncTask是一个抽象类,我们需要继承这个类.这个类需要指定三…
首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传送门: http://www.eclipse.org/downloads/eclipse-packages/ 安装思路: 1.先安装ADT-23.0.6.zip-2通过Android SDK Manager添加新的软件包. 注意事项: 在添加Android SDK时候不要一次性勾选选择太多否则安装极…
刚接触安卓开发,试着写个小程序熟悉下,就写了天气预报的小程序,通过httpUrlConnection读流的方式来获取网络公共接口提供的天气XML信息.但在建立http连接时一直报java.io.EOFException,多次尝试无过,但正常的httpUrlConnection却能正常访问. 通过查询Baidu大神,比较多的说法是这是由于httpUrlConnection在某些版本的安卓平台所存在的bug问题,果断改之,通过引用httpClinet外部包来解决该问题,非常成功!代码如下: //外部…
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Studio 1.0,个人感觉使用起来还是不错的.之前下载过一些Android studio的早期版本,但是都因为"网络问题"而安装失败,无奈删除.而这一次,Android studio 1.0下载后,不需要再联网下载东西了,直接解压就可以使用.  一.Android Studio 1.0.1的下…
虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好"没有金刚钻不揽瓷器活",Android Studio就是想要开发安卓应用的"金刚钻".今天就聊聊Android Studio的安装配置.关于Android Studio来源,我就不多介绍了(这个大家可以看看百度百科:http://baike.baidu.com/link?url…
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程序.但是在eclipse中并不能直接开发android程序,需要我们安装一个ADT插件. 在ADT安装前,还有几个前提条件: 1.jdk已安装,并配置好环境变量.关于jdk的环境变量配置这里不做赘述. 2.eclipse已下载并解压.eclipse官网http://www.eclipse.org/d…
我们的UI基于1920x1080分辨率给的尺寸标注,但是在安卓开发中大家一般都使用dp.sp来标注界面尺寸,所以需要一个dp与sp的转换公式. 一开始参考的的这篇文章:关于Android开发中px.dip.dp.sp等单位的概念和转换关系(http://blog.csdn.net/watt520/article/details/9667079) 然后得到下面这两个公式: public static int dip2px(Context mContext, float dp) { float sc…
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手机才可以(IOS的没有试过) 二.使用Sqllite存储中文 SqlLite中,字段类型要设置为nvarchar,保存时,有两种方式 1)用Post时,对中文的字段要进行UTF8转换 先用一个string变量转换一下(不转换的话Win32编译没有问题,Android编译时出错) str_temp:=UTF8E…
最近在研究移动开发,广泛的阅读有关cordova,apicloud,android资料.发现安卓的开发还是很简单的.再发现greenrobot eventbus开源框架不仅可以简化安卓开发,有可以大幅度的提高安卓的维护性,性能也能有所提高.开发安卓的难度觉得比windows下的winform很简单. greenrobot eventbus的开源地址在https://github.com/greenrobot/EventBus,如果你熟悉android的开发,你一定觉得greenrobot eve…
什么是ViewPager? 关于ViewPager的介绍和使用,在之前我写过一篇相关的文章<安卓开发复习笔记——ViewPager组件(仿微信引导界面)>,不清楚的朋友可以看看,这里就不再重复. 什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个Activity中,我们可以合并多个Fragment在一个单独的activity中建立多个UI面板,或…
在上一篇文章<安卓开发笔记——重识Activity >中,我们了解了Activity生命周期的执行顺序和一些基本的数据保存操作,但如果只知道这些是对于我们的开发需求来说是远远不够的,今天我们继续探索Activity,来了解下关于Activity任务栈和Activity四种启动模式的区别. 为什么需要了解关于Activity的任务栈,其实最直接的体现就是提高用户交互友好性. 举个例子,当我们去浏览一个新闻客户端的时候,我们进入了新闻详情页,在这个页面有相隔两条的新闻标题,当我们去点击这个标题的时…
关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户"友好性",下面来看几个示例图:     再来看下我仿写的效果: 关于广告轮播Banner这个东西,GitHub上面应该有现成的开源组件,不过我没去找过,觉得实现起来不会太难,就自己去仿写了,下面我说下实现的思路: 1.首先看到这个可以滑动切换图片的界面,我们很自然就会想到ViewPager…
一.概述 ViewPager是android扩展包v4包(android.support.v4.view.ViewPager)中的类,这个类可以让用户左右切换当前的view. ViewPager特点: 1)ViewPager类直接继承了ViewGroup类,所以它是一个容器类,可以在其中添加其他的view类. 2)ViewPager类需要一个PagerAdapter适配器类(通常需要自定义适配器继承PagerAdapter类重写其中的方法)给它提供数据. 3)ViewPager经常和Fragme…
安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainActivity.java文件 package xqx; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.example.test.…
Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属性动画类 方法 描述 setDuration(long duration) 设置动画持续时间的方法 setEvaluator(TypeEvaluator value) 设置插值计算的类型 setInterpolator(TimeInterpolator value) 设置时间插值器的类型 addUp…
今天终于为我的Macbook Pro Retina搭建好了Android开发环境,几经折磨,差点放弃了: 总结如下:1.最好选择ADT Bundle,这里面已经集成好了Eclipse.ADT.Android SDK Tools,不用自己去设置了.我使用的版本是adt-bundle-mac-x86_64-20131030.zip,22.3.0百度盘下载地址:http://pan.baidu.com/s/1qWNRJ8g  共有470MB网上有今年的新版:adt-bundle-mac-x86_64-…
文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我特意将自己使用过的安卓开发小工具进行了汇总,希望与大家共同进步. 话不多说,实用工具大讲堂现在开始! Lint(清理资源.安全检查.layout优请输入代码化等) 一般在提测前清理一下冗余资源,查一下有没有用了一些高API Level才有的接口,查一下安全问题. Findbugs(检查java代码缺…
Eclipse+ADT+Android SDK 搭建安卓开发环境   要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); eclipse-jee-luna-SR2-win32(32位);ADT-23.0.4 下载地址 环境下载 最近刚开始接触Android(安卓)嵌入式开发,首要问题是搭建Andoid开发环境,由于本人用的是windows7的笔记本,也就只能到Windows中搭建Android 开发环境了! 就搭建环境都花了比较长的时间, 在各种版本之间折腾…
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好了命令行下 java -versoin直接就可以了. 2.下载Android JDK,下载的时候发现一个捆版ADT的安装包,下载下来一看,eclipse都不用再去下载了,这里面自带一个,各种配置都设置好了.可以直接helloworld了. 我是看网上的环境教程来操作,发现应该他们都是老的配置了,现在…
Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: http://releases.ubuntu.com/12.04/ : 3.       更新Ubuntu 源: ①     sudo cp /etc/apt/sources.list /etc/apt/source.list.bak ②     sudo gedit /etc/apt/sourc…
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们取图片的缩略图,取缩略图的方法我们可以使用 BitmapFactory的decodeFile方法,然后通过传递进去 BitmapFactory.Option类型的参数进行取缩略图,在Option中,属性值inSampleSize表示缩略图大小为原始图片大小的几 分之一,即如果这个值为2,则取出的缩略…
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题!   为什么要推广这个语言?   好吧,大伙.欢迎来到这里.我们今天的主…
Android新手在eclipse搭建安卓开发环境基本都会遇到Android SDK manager下载慢,ADT下载慢的问题,本文将带大家完整的安装一遍开发环境 工具:eclipse     SDK    ADT 第一步: 启动eclipse,依次点击菜单栏的 Help  ->Install new software,如下图,再点击 add,Name一栏随便起个名字,location中找到你的SD压缩文件的位置,点击 OK 全选Select All ,一定要不要勾选Contact all  u…
Handler相关说明: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释:安卓的UI线程(即OnCreate函数创建的线程)是线程非安全的.也就是说,在UI线程中,使用sleep这样的函数会导致整个线程延迟,但是我们在安卓开发中,往往会经常遇到一些延迟比较厉害的操作,(例如通过HTTP获取数据信息)如果放在主线程中,则会影响UI界面的渲染.但是如果另外新开一个线程,则由于UI线程只能在主线程中修改,而导致无法修改主线程的UI界面.这个时候Handler就出来解决这个问题.Han…