- 浏览: 155462 次
- 性别:
- 来自: 北京
最新评论
文章列表
导语:在开发Android应用的过程中,我们需要时刻注意保障应用的稳定性和界面响应性,因为不稳定或者响应速度慢的应用将会给用户带来非常差的交互体验。在越来越讲究用户体验的大环境下,用户也许会因为应用的一次Force Close(简称FC)或者延迟严重的动画效果而卸载你的应用。由于现在的应用大多需要异步连接网络,本系列文章就以构建网络应用为例,从稳定性和响应性两个角度分析多线程网络任务的性能优化方法。
概述:为了不阻塞UI线程(亦称主线程),提高应用的响应性,我们经常会使用新开线程的方式,异步处理那些导致阻塞的任务。
AsyncTask是Android为我们提供的方便编写异步任务的 ...
package com.isomobile.toollib;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.os.Process;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.BlockingQueue;
import ja ...
String phoneInfo = "Product: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
phoneInfo += ", VERSION_CODES.BASE: " + android.os.Build.VERSION_ ...
关于服务器端向Android客户端的推送,主要有三种方式:轮询,应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太 ...
Android的官方开发者博客发了一份幻灯片,介绍了一些Android UI设计的小贴士,Roger在这里以看图说话的形式发出来,有兴趣的读者就继续往下翻吧。整个PPT共分5个部分,Part I 翻译的是前两个部分。
作为开发者, ...
一、 说明:
本示例是在上一个示例(Android应用自身升级)的基础上完成的。环境配置也同上一个demo一样。只是增加了一些功能用来检测Android系统中所有需要升级的应用程序,并从服务器上下载更新。
二、 功能需求说明:
a) 检测出Android系统中所有已安装的应用(区别与Android系统自带的应用),并获得每个应用的信息。
b) 根据上一步获得的系统中已安装的应用信息,通过http连接tomcat7服务器,检测每个应用的代码版本并与当前应用的代码版本进行比较,然后将需要更新的应用显示 ...
在应用程序中,我们经常需要控制EditText的输入法打开与关闭,手指touch之后,自动打开了输入法,可是怎么控制关闭输入法,除了输入法自己的关闭按钮之外,还有以下的方法。
一、打开输入法窗口:
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// 接受软键盘输入的编辑文本或其它视图
imm.showSoftInput(submitBt,InputMethodManager.SHOW_F ...
Android框架包含了对多种摄像头和摄像特性的支持,应用程序可以进行图片和视频的捕获。本文讨论了一种快速、简便的捕获图像和视频的方法,并简述了一种更高级的可为用户创建自定义摄像功能的方法。
需要考虑的问题
在让应用程序使用Android设备的摄像头之前,应该考虑一些期望如何使用此硬件的问题。
1、设置窗口格局为半透明
getWindow().setFormat(PixelFormat.TRANSLUCENT);
2、Android中在非UI线程里更新View的不合办法:
* Activity.runOnUiThread( Runnable )
* View.post( Runnable )
* View.postDelayed( Runnable, long )
* Hanlder
3、全屏显示窗口
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParam ...
* #*#4636#*# *
显示手机信息、电池信息、电池记录、应用统计数据、WiFi信息
* #*#7780#*# *
重设为原厂设定,不会删除预设法度,及SD卡档案。
*2767*3855#
重设为原厂设定,会删除SD卡所有档案。
* #*#34971539#*# *
显 ...
http://www.ideasandroid.com/
http://www.oschina.net/code/list
http://www.cnbeta.com/
http://www.byywee.com/List.aspx?classid=10071
http://stackoverflow.com/
http://code.google.com/p/danbooru-gallery-android/
http://www.android123.com.cn/
http://android.tgbus.com/Android/tutorial/Index.shtml
http://la ...
方法:
/**
* 读取数据 获取网络图片
* @param path 网络图片路径
* @return
* @throws Exception
*/
public static byte[] getImage(String path) throws Exception
{
URL url=new URL(path);
HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setConnectTimeout( ...
Fragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment 想象成一个activity的模块化区域, 有它自己的生命周期, ...
在Android 3.0中提供了一个新概念Loaders,通过LoaderManager类可以很轻松的异步加载数据从Fragment或Activity中,Loaders提供了回调机制通知最终的运行结果,有点类似AsyncTask类,但由于Loader对于并发可以用过Loader管理器统一管理,所以更适合批量处理多个异步任务的处理(当然内部仍然是多线程)。下面和大家看下honeycomb中的新特性吧,对于解决多重异步I/O加快Android平板应用的运行是十分有效的。
一、LoaderManager
LoaderManager类位于android.app.LoaderManag ...
Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似,下面介绍下Android Fragment的作用和用法。Fragment用来描述一些行为或一部分用户界面在一个Activity中,你可以合并多个fragment在一个单独的activity中建立多个UI面板,同时重用fragment在多个activity中.你可以认为fragment作为一个activity中的一节模块 ,fragment有自己的生命周期,接收自己的输入事件,你可以添加或移除从运行中的activity.
一个fragment必须总是嵌入在 ...