Android
文章平均质量分 60
云上
敏捷开发实践者;
专注移动产品开发。
展开
-
【总结备用】Android监听网络状态实现(BroadcastReceiver + Service)
Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化。Android的网络状态监听可以用BroadcastReceiver来接收网络状态改变的广播,具体实现如下:/** * ConnectionChangeReceiver * * @author benny Yang on 2011-12-23 * */public class原创 2011-12-23 21:53:43 · 19599 阅读 · 6 评论 -
习惯测试:只需三步,勾住用户
过去25年里真正伟大的消费者科技公司都有一个相同之处:他们能创造习惯。这点就把改变世界的公司和平庸的公司给区别了开来。每天都有大部分的用户在使用苹果, Facebook, Amazon, Google, 微软和Twitter的产品,他们的产品是如此成功,我们许多人都很难想象没有他们的日子会是什么样子。创造习惯,说起来比做起来容易多了。尽管我曾专门写过行为工程学和未来互联网世界里习惯的重要性转载 2012-04-12 13:48:53 · 733 阅读 · 0 评论 -
【术语解析】H264和MPEG4的关系
·mpeg-4的初衷是将dvd质量的图像码流从每秒6兆降低到1.5兆,将高清电视的码流从每秒几十兆降低到6~8兆。要实现这样的编码压缩水平,就要用到一种叫avc(advanced video codec)的技术。国际电联(itu)将这项技术命名为h.264标准,mpeg 把这项技术放到mpeg-4标准里的第10章(part 10)。这就是mpeg-4和h.264的关系。 ·h.264/avc转载 2012-04-07 19:44:03 · 1672 阅读 · 0 评论 -
给Android应用开发者的十个建议
随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。 尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设转载 2012-04-09 01:17:52 · 569 阅读 · 0 评论 -
【Error大杂烩】Cannot recover key
Android开发中,用数字证书签名打包时第一步: 输入keystore密码 通过第二步:输入alias密码 不通过时 便会报这个错。 java.security.UnrecoverableKeyException: Cannot recover key This exception may result from the fact that you had provide原创 2012-04-02 13:44:54 · 19695 阅读 · 4 评论 -
【总结备用】Android 获取手机内存信息
【声明:转载请注明出处,谢谢合作!问题联络请发邮件到 bennyyang2008@hotmail.com】在Android开发中,有时我们需要获取实时的系统信息,方便分析应用的资源占用,内存优化。以获取CPU使用情况为例,总结如下:一. 通过查看/proc/meminfo文件,获取内存相关信息。1. 命令行方式1) 命令行运行 【原创 2012-03-16 13:41:18 · 1318 阅读 · 0 评论 -
【总结备用】Android 常用权限一览
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取粗略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.原创 2011-12-19 14:26:38 · 1127 阅读 · 0 评论 -
【总结备用】android 圆角渐变背景xml文件
xml文件源码: android:angle="270.0" android:centerY="0.5" android:centerColor="#FF3d3d3d"> android:bottom="0dp" />原创 2011-03-02 23:31:00 · 1515 阅读 · 0 评论 -
Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { public void run() { myView.invalidate(); } }).sta转载 2012-03-16 14:00:30 · 667 阅读 · 0 评论 -
【总结备用】关于ListView适配器Adapter的性能优化
Adapter的作用是ListView界面与数据之间的交互接口。我们经常遇到ListView里面添加数据量大时内存溢出的问题。 以下通过改写getView方法实现优化显示。一定程度上解决数据量大的问题,使Adapter的性能得到很大的优化和提升。 public View getView(int position, View convertView, ViewGroup原创 2011-08-10 17:51:54 · 792 阅读 · 0 评论 -
【总结备用】Android 获取正在运行的任务和服务
void DisplayTasks() { ActivityManager activityManager; try { activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); arylistTask = new Ar原创 2011-07-14 18:52:50 · 1258 阅读 · 0 评论 -
修改Android Media Scanner的扫描路径
对Android稍有熟悉的人都知道,Android Media Scanner只对SD卡上的媒体文件进行扫描。其扫描的策略,请参考《Android Media Scanner Process》。假如我们的硬件平台上面没有提供SD卡槽,难道Android就不能进行对媒体文件播放了吗?当然不是的,否则Android系统将不会成为一个完善的Framework。本文结合本人的经验介绍一下,怎样修改多媒转载 2012-03-14 17:05:55 · 1149 阅读 · 0 评论 -
the currently page contains invalid path"之解决方法
在导入工程时报错,出现如下现象:1. 点击工程右键->Properties->Android,提示【the currently page contains invalid path】2. 点击工程右键->Properties->Java Build Path,提示【Unable to get system library for the project】 调查后发现环境变原创 2012-01-03 02:07:38 · 1738 阅读 · 2 评论 -
Android2.2缩略图类ThumbnailUtils简述
android.media.ThumbnailUtils提供了三个对外的静态接口,使用此类进行缩略图大小调整非常方便,省去了自己缩放。而且非常节省内存资源。1. public static Bitmap createVideoThumbnail (String filePath, int kind)Create a video thumbnail for a video. May re原创 2012-01-17 21:42:52 · 1096 阅读 · 0 评论 -
用户体验导向的Android应用开发
文 / 陈彧堃本文指出“流畅的环境”、“友好的体验”和“节省电量”是保证Android应用拥有良好用户体验的三要素。Android开发目前是移动开发中的“当红炸子鸡”,大量Java程序员涌向Android,同时会习惯性地将桌面和Web端的开发/设计经验带到移动设备上。这样的好处是充分利用了移动开发和桌面/Web服务的共性,比如广泛使用的列表、本地数据库等常用组件;坏处是移动和桌转载 2012-04-12 13:27:31 · 1287 阅读 · 0 评论 -
应用更新实现(下载及自动安装)
/** * download the new apk file * * @param newApkUrl * @return */ public File downLoadFile(String newApkUrl) { final String fileName = "update.apk"; File tmpFile = new File("原创 2012-05-20 00:51:31 · 1102 阅读 · 0 评论 -
Android的Bluetooth Profile与UUID
在Android中,常用的几种Bluetooth Profile分别为:SPP (Serial Port Profile)、A2DP (Advanced Audio Distribution Profile)、AVRCP (Audio/Video Remote Control Profile)、HID (Human Interface Device Profile)、HFP (Hands-Free转载 2013-09-11 14:18:59 · 3758 阅读 · 0 评论 -
上百个Android开源项目分享
Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/developAndroid电池监控 Android Battery Dog http://sourceforge.net/projects转载 2013-01-16 00:50:52 · 2010 阅读 · 1 评论 -
Android进阶篇(Advanced Training)
原文地址:http://developer.android.com/training/advanced.htmlAdvanced Training contains a variety of classes that teach you best practices in Android development. These classes simplify the steps翻译 2012-08-27 18:40:04 · 1311 阅读 · 1 评论 -
【总结备用】Android Activity切换动画汇总
1. 淡入淡出效果overridePendingTransition(R.anim.fade, R.anim.hold);2. 放大淡出效果overridePendingTransition(R.anim.my_scale_action,R.anim.my_alpha_action);3. 转动淡出效果overridePendingTransition(R.anim.scale原创 2012-08-26 18:59:04 · 1245 阅读 · 0 评论 -
10大优秀的移动Web应用程序开发框架推荐
在最近几年里,移动互联网高速发展、市场潜力巨大。继计算机、互联网之后,移动互联网正掀起第三次信息技术革命的浪潮,新技术、新应用不断涌现。今天这篇文章向大家推荐10大优秀的移动Web开发框架,帮助开发者更加高效的开发移动Web应用。Sencha Touch Framework Sencha Touch 是世界上第一个基于 HTML5 的移动 Web 开发框架,支持最新的 HTML5转载 2012-07-25 17:53:17 · 1270 阅读 · 0 评论 -
分享七个非常有用的Android开发工具和工具包
过去的2010年是Android全面爆发的一年,出众的扩展性使其成为了众多玩家的购机首选,市场占有率节节攀高。本文与大家分享七个非常有用的Android开发工具和工具包,希望对从事Android开发的朋友有所帮助。1. Android Honeycomb Stencils & Sketchsheets谷歌发布了专用于平板电脑的Android 3.0 Honeycomb系统,转载 2012-07-25 17:51:37 · 1272 阅读 · 0 评论 -
Android调用WebService
WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台、不同语言、不同技术整合到一块。在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到And转载 2012-07-25 17:38:43 · 2108 阅读 · 0 评论 -
【总结备用】Android应用开发之(Location in Android-定位)
如何在Android上开发LBS(“基于位置的服务”),那么首先要明白如何获得位置。传统意义上的位置,就是指门牌号一类的描述,虽然可以被人理解,但是无法被计算机理解。为了让计算机能够理解“位置”,地理学上的位置,即经纬度被引入进来。获取经纬度信息,一般都会想到GPS(Global Positioning System)。这个前身为美国军方卫星定位系统,在推出之后迅速发展成为最大的民用定转载 2012-07-16 14:34:00 · 3092 阅读 · 0 评论 -
【总结备用】 Android中通过GPS或NetWork获取当前位置的经纬度
今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能。要实现该功能要用到Android Framework 中的 LocationManager 类。下面我就直接贴上主要的代码说明如何实现通过GPS或NetWork来获取实时位置的经纬度。private double latitude=0.0;private double longitude =0.转载 2012-07-16 14:05:59 · 1371 阅读 · 0 评论 -
Android优秀开源项目收集
1、Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。地址:http://code.google.com/p/apps-for-android/2、Remote转载 2012-07-03 13:04:22 · 1071 阅读 · 0 评论 -
Android推送通知指南
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就转载 2012-07-11 11:14:52 · 1013 阅读 · 0 评论 -
Android NDK的C/C++代码中利用JNI回调实现字符编码转换
在NDK下做网络传输时,遇到一个编码转换的问题,就是对方传过来的文件名是中文GBK编码,需要转成UTF8来处理。平常在C/C++环境下编程时,系统都会提供字符编码转换的API。如Windows下有MultiByteToWideChar之类的函数,Linux下有iconv库,纯C下用wcstombs、mbstowcs也可以做。然而我在我机上的Android NDK目录下,并没有找到iconv转载 2012-07-09 17:29:58 · 1700 阅读 · 0 评论 -
【Error大杂烩】Conversion to dalvik format failed with error 1 的解决方法
Android低版本工程放到高版本环境中(如2.2)可能会此错误,SOURCE没有报错,但是工程为红色。解决方法如下:1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。 (该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)2。 如果修改android sdk版本,则需要以下几个步骤: 1)修改SD原创 2012-06-17 18:14:42 · 717 阅读 · 0 评论 -
判断SIM卡属于哪个移动运营商
第一种方法:获取手机的IMSI码,并判断是中国移动\中国联通\中国电信TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 获取SIM卡的IMSI码 * SIM卡唯一标识:IMSI 国际移动用户识别码(IMSI:Inter转载 2011-12-20 11:28:00 · 2549 阅读 · 0 评论 -
android 包管理系统分析
包管理脚本 /system/bin/pm 解析:pm的使用方法可以参考 Pm.java (frameworks/base/cmds/pm/src/com/android/commands/pm)文件中的static void showUsage()函数:private static void showUsage() { System.err.println("usage: pm [list|path|install|uninstall]"); System.err.println转载 2011-02-10 11:40:00 · 1067 阅读 · 0 评论 -
Android开发工具总结
<br />1. android apk tool<br />一款用于重建apk的工具。可以解压各种apk包,查看完整的资源等,目前不支持查看源代码。<br /><br />网址:http://code.google.com/p/android-apktool/<br /><br /><br />2. unyaffs<br />可以解压yaffs格式的img文件。<br /><br />网址:http://code.google.com/p/unyaffs/<br /><br /><br />3. unya转载 2011-02-10 11:56:00 · 549 阅读 · 0 评论 -
Android高手必看的十个建议
<br /> <br /> 1、Q:如何成为高手?<br /> A:成为一名真正的Android高手必须掌握和遵循的一些准则:<br /> 1)学会懒惰<br /> aDon't Reinvent the Wheel(不要重复发明轮子)。<br /> bInventing the Wheel(发明轮子)。<br /> cDon't Reinvent the Wheel(不要重复发明轮子)。<br /> “轮子理论”,也即“不要重复发明轮子”,这是西方国家的一句谚语,原话是:Don't Re转载 2011-01-20 18:02:00 · 645 阅读 · 0 评论 -
几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
一、综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服转载 2011-01-18 01:04:00 · 748 阅读 · 0 评论 -
Android--完美退出应用
假如有两个Activity, ActivityA和ActivityB, A跳转到B,如果要在B退出整个应用程序,常见的做法有2种:1. System.exit() ;2. Android.os.Process.killProcess(android.os. Process.myPid()) ;问题是,如果A跳转到B时,A已经finish掉了,那以上做法没有问题,可以正常退出应用程序。 如果A跳转到B时,A没有finish掉,那么在B就不能正常退出程序。完整解决方案:不管A是否fini原创 2011-01-18 01:25:00 · 1317 阅读 · 0 评论 -
Android 将图片转化为缩略图再加载
<br /> stream = new FileInputStream(new File(path+"test.jpg"));<br /> BitmapFactory.Options opts = new BitmapFactory.Options();<br /> opts.inSampleSize = 8;<br /> Bitmap bitmap = BitmapFactory.decodeStream(stream , null, opts);<br /> iv.setImageBi原创 2010-11-18 23:29:00 · 978 阅读 · 0 评论 -
Drawable、Bitmap、byte[]之间的转换
<br /><br />1、Drawable → Bitmap 的简单方法 <br />((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap(); <br /><br /><br />2、Drawable → Bitmap <br />Java代码 <br />public static Bitmap drawableToBitmap(Drawable drawable) { <br /> <br />原创 2011-01-14 09:29:00 · 648 阅读 · 0 评论 -
Android TextView(EditView)文字底部或者中间 加横线
<br /> promotionLinkText = (TextView) this .findViewById(R.id. text_promotion_link );<br /> 中间加横线<br /> promotionLinkText .getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG );<br /> 底部加横线:<br /> promotionLinkText .getPaint().setFlags(Paint. UNDERLI原创 2010-11-18 23:30:00 · 881 阅读 · 0 评论 -
解决android http请求带中文参数乱码问题
<br />java.net.URLEncoder.encode(some.get("我是中文"));原创 2010-11-18 23:27:00 · 1345 阅读 · 0 评论 -
Android简单数据存储类SharedPreferences详解及实例
SharedPreferences是Android中存储简单数据的一个工具类。可以想象它是一个小小的cookie,它通过用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名 /shared_prefs/)自己定义的xml文件中。 一、简介 它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容。 二、重要方法 public abstract boolea转载 2010-11-06 02:12:00 · 967 阅读 · 0 评论