摘要: 概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类。AsyncTask的内部实现是一个线程池,所有提交的异步任务都会在这个线程池中的工作线程内执行,当工作线程需要跟UI线程交互时,工作线程会通过向在UI线程创建的Handler传递消息的方式,调用相关的回调函数,从而实现UI界面的更新。AsyncTask抽象出后台线程运行的五个状态,分别是:1、准备运行,2、正在后台运行,3、进度更新,4、完成后台任务,5、取消任务,对于这五个阶段,AsyncTask提供了五个回调函数:1、准备运行:onPreExecute(),该回调函数在任务被执 阅读全文
posted @ 2014-03-10 23:31 欢醉 阅读(4891) 评论(0) 推荐(0) 编辑
摘要: 我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种: px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。 sp(scaled pixels—best for text size)——主要用于字体显示best for textsize。由此,根据 google 的建议,T 阅读全文
posted @ 2014-03-10 23:30 欢醉 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: http://www.92coding.com/blog/android资料http://www.cnblogs.com/aimeng/archive/2011/12/05/2277042.htmlandroid论坛http://www.apkbus.com/ 阅读全文
posted @ 2014-03-10 23:30 欢醉 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查。我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电;二是流量贵如金那。我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互。本文就给大家讲解在Android中如何调用远程服务器端提供的WebService。既然是调用WebService,我们首先的搭建WebService服务器。为了便于操作,我们就使用网上免费的WebSer 阅读全文
posted @ 2014-03-10 23:29 欢醉 阅读(4533) 评论(0) 推荐(1) 编辑
摘要: 之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的。那么如何实现service动态更新UI界面呢?案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。注册BroadcastReceiver在主程序activity中注册一个BroadcastReceiver,用于接收Service发布的广播。1 @Override2 protected void onStart()3 {// 重写onStart方法4 dataReceiver = new DataRe. 阅读全文
posted @ 2014-03-10 23:28 欢醉 阅读(16805) 评论(0) 推荐(0) 编辑
摘要: 本文将讨论Android应用程序的线程模型以及如何使用线程来处理耗时较长的操作,而不是在主线程中执行,保证用户界面(UI)的流畅运行。本文还将阐述一些用户界面(UI)中与线程交互的API。UI用户界面线程当应用程序启动时,系统会为应用程序创建一个主线程(main)或者叫UI线程,它负责分发事件到不同的组件,包括绘画事件。完成你的应用程序与Android UI组件交互。例如,当您触摸屏幕上的一个按钮时,UI线程会把触摸事件分发到组件上,更改状态并加入事件队列,UI线程会分发请求和通知到各个组件,完成相应的动作。单线程模型的性能是非常差的,除非你的应用程序相当的简单,特别是当所有的操作都在主线程中 阅读全文
posted @ 2014-03-10 23:28 欢醉 阅读(2171) 评论(0) 推荐(0) 编辑
摘要: 本文给大家演示异步加载图片的分析过程。让大家了解异步加载图片的好处,以及如何更新UI。首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个ImageView。 1 2 7 12 17 22 27 32 37 42 我们将演示的过程是异步从服务器上下载5张不同图片,依次放入这5个ImageView。上下2个TextView 是为了方便我们看是否阻塞了UI的显示。当然 AndroidManifest.xml 文件中要配置好网络访问权限。1 1)Handler+Runnable模... 阅读全文
posted @ 2014-03-10 23:28 欢醉 阅读(3599) 评论(0) 推荐(0) 编辑
摘要: android.permission.ACCESS_CHECKIN_PROPERTIESAllows read/write access to the "properties" table in the checkin database, to change values that get uploaded允许读写访问 "properties"表在checkin数据库中,改值可以修改上传android.permission.ACCESS_COARSE_LOCATIONAllows an application to access coarse (e.g. 阅读全文
posted @ 2014-03-10 23:27 欢醉 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。LayoutInflater 是一个抽象类,在文档中 阅读全文
posted @ 2014-03-10 23:27 欢醉 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同。总结网上的建议和自己的体会,可以参考以下几种解决方式:1 改变整个文件类型的编码格式 1) eclipse->window->preferences->General->Content Types 2) 找到要修改的文件的类型(JAVA,JSP等等),在下面有个Default encoding,在输入框中输入GBK 3) 点击Update 4) 点击OK 5) 重启eclipse2 改变整个Ecli 阅读全文
posted @ 2014-03-10 23:26 欢醉 阅读(2386) 评论(0) 推荐(0) 编辑
摘要: 1.建立WCF项目,默认会建立一个.svc文件,不过这里我们不用它,因为这是以普通方式访问WCF服务的文件,我们要建立一个“启用了AJAX的WCF服务”的.svc文件。(当然你也可以使用默认的这个svc文件,不过需要修改web.config的地方要多一些)2.修改建立好的.svc文件标记,增加Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"属性,如3.修改web.config,如下 注意一些节点、、4.WCF服务如下WCF契约... 阅读全文
posted @ 2014-03-10 23:26 欢醉 阅读(352) 评论(0) 推荐(0) 编辑
摘要: AVD路径设置 前面提到,不管用Eclipse还是从命令行创建Android Emulator时,相应的文件是被放置到 “C:\Documents and Settings\Administrator\.android“ 下面。如果想改变AVD的路径设置,也有2个办法解决办法一: 新添加一个环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将".android”文件夹(AVD信息)所放置的位置解决办法二: 修改配置文件中的路径,比如我的AVD名称是MyAVD, 打开 C:\Documents and Settings\Administrator\. 阅读全文
posted @ 2014-03-10 23:25 欢醉 阅读(5284) 评论(0) 推荐(0) 编辑
摘要: 只需要配置一下hosts文件,在文件的末尾添加下面一句:74.125.237.1 dl-ssl.google.comwindows系统中hosts文件的位置为:C:\Windows\System32\drivers\etc ,找到该文件并已文本形式打开,添加上面一句话,保存之后关闭,重启Eclipse打开Android SDK Manager,ok!Ubuntu系统hosts文件的位置为:/etc/hosts,可以通过命令: sudo gedit /etc/hosts对该文件进行编辑 阅读全文
posted @ 2014-03-10 23:25 欢醉 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 【问题原因】:工程中classpath中指向的包路径错误【解决办法】:右键项目名称 BuildPath ---> Configure Build Paht...中,然后上面有几个选项卡找到 Libraries中出现红色叉号的包为路径错误的包。到classpath中修改相应包的当前路径。然后回到eclipse中F5刷新工程。下面两段为我解决此问题时在网上找的参考资料,可参阅:你用myeclipse新建 web工程,在工程目录下会生成一个 .classpath 配置文件, 里面是你工程里面引用的jar的配置。这个.classpath 对你的web工程没有什么影响 其实是给 myeclipse 阅读全文
posted @ 2014-03-10 23:24 欢醉 阅读(1789) 评论(0) 推荐(0) 编辑
摘要: 在存储文件时,为了保证有充足的存储空间大小,通常需要知道系统内部或者sdcard的剩余存储空间大小,这里就需要用到StatFs类。1. 判断 SDCard 是否存在,并且是否具有可读写权限 [java] view plaincopyprint?/** * 外部存储是否可用 (存在且具有读写权限) * @return */ staticpublicboolean isExternalStorageAvailable() { return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); } ... 阅读全文
posted @ 2014-03-10 23:24 欢醉 阅读(14467) 评论(1) 推荐(0) 编辑