- 博客(22)
- 资源 (14)
- 收藏
- 关注
原创 Android 异步查询框架AsyncQueryHandler的使用
AsyncQueryHandler简介:异步的查询操作帮助类,可以处理增删改(ContentProvider提供的数据)使用场景:在一般的应用中可以使用ContentProvider去操作数据库。这在数据量很小的时候是没有问题的,但是如果数据量大了,可能导致UI线程发生ANR异常(超过5秒)。当然你也可以写个Handler去做这些操作,只是你每次使用Co
2012-08-27 16:54:20 15952 1
原创 Android 各版本历史主要变动(Version1.5-->4.0)全面整理
Android1.5 (Cupcake) 基于Linux Kernel 2.6.27 2009年4月30日,官方1.5版本(Cupcake)的Android发布。[14][15]主要的更新如下: 拍摄/播放影片,并支持上传到Youtube 支持立体声蓝牙耳机,同时改善自动配对性能 最新的采用WebKit技术的浏览器,支持复制/贴上
2012-08-25 22:32:13 7228
原创 Android 应用程序异常信息捕获发送至服务器
对于已经上线的项目,为了避免有没有考虑到的bug发生,方便维护以及为了有更好的用户体验,不能再发生异常的时候弹出系统默认的提示框. 而是应该由自己程序本身捕获,先保存到本地,当下次打开软件时上传到服务器. 这样也可以为我们收集到BUG的第一手资料(主动收集), 更快地定位到异常位置并修复,这样既节省了时间,也提高了工作的效率.还有本身这种收集异常信息的做法也是借鉴于windows中杀毒软件
2012-08-24 11:58:20 6654 2
原创 Android 高仿【优酷】圆盘旋转菜单的实现
目前,用户对安卓应用程序的UI设计要求越来越高,因此,掌握一些新颖的设计很有必要.比如菜单,传统的菜单已经不能满足用户的需求. 其中优酷中圆盘旋转菜单的实现就比较优秀,这里我提供下我的思路及实现,仅供参考.该菜单共分里外三层导航菜单.可以依次从外向里关闭三层菜单,也可以反向打开,并且伴有圆盘旋转的动画效果首先,看下效果:以下是具体的代码及
2012-08-22 08:16:28 17492 13
原创 android 获取imei(国际移动设备身份码)号码详解及其应用场景
IMEI简介:IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。IMEI俗称“串号”,存储在手机的EEPROM(
2012-08-20 22:29:50 13885 1
原创 Android 进程生命周期(Process Lifecycle)
Android的5个进程等级(Process Levels)1) Foreground Process正处于Activity Resume() 状态正处于与bound服务交互的状态正处于服务在前台运行的状态 , (startForeground() 被调用)Service生命周期函数正在被执行 ( onCreate() , onStart() , onDestroy
2012-08-17 21:49:56 3292
原创 优化Dalvik虚拟机的堆内存分配
一. 优化Dalvik虚拟机的堆内存分配对于Android平台来说,其托管层使用的Dalvik Java VM从目前的表现来看还有很多地方可以优化处理,比如我们在开发一些大型游戏或耗资源的应用中可能考虑手动干涉GC处理,使用 dalvik.system.VMRuntime类提供的setTargetHeapUtilization方法可以增强程序堆内存的处理效率。当然具体原理我们可以参考开
2012-08-17 11:46:07 9638 4
原创 Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
一. 修改本机蓝牙设备的可见性二. 扫描周围可用的蓝牙设备Eg:一. 清单文件AdroidManifest.xml:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.se7en" android:versionCode="1"
2012-08-14 16:44:52 10318 1
原创 Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
一. 什么是蓝牙(Bluetooth)?1.1 BuleTooth是目前使用最广泛的无线通信协议1.2 主要针对短距离设备通讯(10m)1.3 常用于连接耳机,鼠标和移动通讯设备等.二. 与蓝牙相关的API2.1 BluetoothAdapter:代表了本地的蓝牙适配器2.2 BluetoothDevice代表了一个远程的Bluetoo
2012-08-14 16:41:51 15880 12
原创 Android Launcher开发(六)通过分析Laucher源码整理添加快捷方式的思路
在实际开发中,实际上有很多功能或者设计我们都可以借鉴一下安卓源码, 在我写的这个Laucher系列里,就关于分析Laucher源码来开发桌面快捷方式的思路我大概整理了一下. 希望大家看了之后再遇到类似的情况不是上来直接借用别人的代码,而是能够借助别人的代码或者系统源码分析原理,这样才能真正学到东西. 最关键的是,开发中我们往往会遇到一些特定的问题,这些是别人的代码无法帮你直接解决的. 只要我们懂得
2012-08-12 23:36:28 8864 4
原创 Android Launcher开发(四)Launcher概述及简单添加和删除应用程序的快捷方式
1.. Launcher是什么? 1.1 Launcher是系统启动后加载的第一个应用程序 1.2 Launcher是其他应用程序的入口2.Launcher的构成: 3. 主体四大组件的区别:ShortCut: 应用程序的快捷方式Appwidget:桌面小部件,图形不规则LiveFolder: 文件夹以ContentProvi
2012-08-12 21:00:25 22241 3
原创 Android Launcher开发(五)添加应用程序桌面快捷方常见问题及解决方案
最近做到的应用做刚好需要添加快捷方式的功能, 在参考了源代码和网上一些其他资料后做了出来. 在做的时候遇到两个问题,一. 程序卸载后桌面快捷方式仍然存在: 关于此问题, 网上的资料和实际中很多应用程序的老版本或者当前版本仍存在. 参考源代码后,我找出了解决方案: 创建shortcut时需要设置 Extre_ShortCut_Intent 的action.和category,使创
2012-08-12 20:41:14 20979 7
原创 Android Launcher开发(三)动态壁纸(LiveWallPaper)气泡流动效果
最近在研究Laucher应用,今天写了一下四组件中的壁纸(WallPaper),关于静态壁纸的实现,比较简单,在此就不再描述. 参考了系统源代码之后,我自己做了一个简单的动态壁纸:气泡流动效果. 图案比较简单,但基本原理可在此例子上加以扩展,比如3D动画效果,复杂的触摸改变动画事件,有兴趣的朋友可以试一试.大概效果如下,最开始得时候,会从四个角落的方向浮出四个气泡,然后以一定的路线移动
2012-08-12 20:06:24 23602 7
原创 Android 多线程系统概述及与Linux系统的关系
线程系统的分类1.1 操作系统内核实现了线程模型(核心型线程)- Windows - 线程与进程的多对多模型线程效率比较高Window Thread结构如下图所示:1.2 操作系统核外实现的线程(用户进程)- Linux 部分 Unix 线程与进程的一对一,一对多模型,线程的调度者在核外
2012-08-09 23:00:17 4248
原创 Android Launcher开发(二)AppWidget(桌面小部件)解析
先简单说说Widget的原理。Widget是在桌面上的一块显示信息的东西,也通过单击Widget跳转到一个程序里面。而系统自带的程序,典型的Widget是music,这个Android内置的音乐播放小程序。这个是典型的Widget+app应用。就是一个程序既可以通过Widget启动,也可以通过App启动。Widget就是一个AppWidgetProvider+一个UI界面显示(预先绑定了好多Int
2012-08-08 21:29:51 10207
原创 Android Launcher开发(一)LiveFolder(实时文件夹) 完全解析
实时文件夹概述:实时文件夹是在SDK1.5中引入的,支持开发人员在设备的默认打开屏幕(我们将其称为设备的主页)上公开 ContentProvider,如联系人信息、笔记和媒体。将ContentProvider(比如Android的 contactsContentProvider)在主页上公开为活动文件夹之后,在联系人数据库中添加、删除或修改联系人时,此实时文件夹能够刷新自身所包含的内容。
2012-08-08 21:17:49 8436 1
原创 治愈中带来的深刻寓意:音乐短片《origins》
很治愈同时也很富有深刻寓意的一部音乐短片:《origins》。有这么一刻,我们如短片中的小机器人一样,就想坐上列车逃向世界的另一个方向。内心的空虚将自己困在迷茫的漩涡中,感受不到四周真实。脸上经常流露出一丝失落的表情,因为现实与想象中的大不一样,找不到生命的意义,直到独自一人走在夕阳下的列车轨道上,让我知道,我还爱着这个世界。因为我的生命里,还有这样瑰丽的光景。播放地址http://w
2012-08-06 23:00:09 2154 1
原创 Android 性能测试之TraceView的使用
Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。在SDK路径\tools目录下.1.在开始使用TraceView你要注意: 你的设备和模拟器必须设置SD card 和 你的程序拥有对SD card 具有读写操作的权限()2.在你的程序中使用TraceView
2012-08-06 21:38:28 3403
原创 Android实现倒计时之使用CountDownTimer
CountDownTimer这个类,从名字上面大家就可以看出来,记录下载时间。将后台线程的创建和Handler队列封装成为了一个方便的类调用。 查看了一下官方文档,这个类及其简单,只有四个方法,上面都涉及到了onTick,onFinsh、cancel和start。其中前面两个是抽象方法,所以要重写一下。 下面是官方给的一个小例子:1. new Countdown
2012-08-05 23:02:40 6961 1
原创 Android 之ExpandableListView几个特殊的属性
1. 设置ExpandableListView 默认是展开的:先实例化 exListView然后 exListView.setAdapter(exlvAdapter); //遍历所有group,将所有项设置成默认展开 int groupCount = exListView.getCount(); for (int i=0; i exLis
2012-08-03 20:26:35 40373 7
原创 Android手机休眠后时间不准确的解决方案
上一篇讲到了计时的几种方法,在虚拟机中不会出现问题,但是在真机测试中,会遇到这样一种情况: 在手机进行休眠状态后,原来的睡60秒时间,大约变成了睡7分钟左右才再执行.这一直让我很不解,也没有发现代码上有什么问题.后来发现别人也遇到了类似的问题. 发现常见的应用中,如游戏,播放器以及控制灯光显示中,都会有这种情况,后来通过找了一个资料才知道如果要定时执行的话,要用AlarmManag
2012-08-03 13:51:36 19635 6
原创 Android实现计时与倒计时(限时抢购)的几种方法
在购物网站的促销活动中一般都有倒计时限制购物时间或者折扣的时间,这些都是如何实现的呢?在一个安卓客户端项目中恰好遇到了类似的问题,一开始使用的是Timer与 TimerTask, 虽然此方法通用,但后来考虑在安卓中是否有更佳的方案,于是乎共找到以下五种实现方案,另外还有一种使用CountDownTimer进行计时的方面,我会在单独的文章中进行介绍效果如图:方法一
2012-08-01 00:27:58 32101 25
android-support-multidex.jar
2014-11-10
Android IOS风格侧边栏效果
2013-12-24
Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果
2013-10-29
GoogleIO2013 Android快速联网框架Volley
2013-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人