摘要: 源码及安装文件下载方式一:GPSInfoService.zip手机定位权限说明:需要在清单文件中声明以下权限。<!-- 声明手机粗略定位授权 --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><!-- 声明手机精细定位授权 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><!-- 声明手机模拟定 阅读全文
posted @ 2013-01-27 01:39 sunzn 阅读(2659) 评论(0) 推荐(2) 编辑
摘要: 源码及安装文件下载方式:MyToast.zip实现效果图如下:自定义 Toast 实现核心代码:package cn.sunzn.mytoast;import android.content.Context;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class MyToast { public static void showToast(Context context, String content) { Toast toast = new T... 阅读全文
posted @ 2013-01-27 01:31 sunzn 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 源码及安装文件下载方式一:GetAppSignature.zip说明:应用程序的签名被封装在 packageInfo 中,所以我们要获得应用程序的签名就需要获得 PackageManager 来获得包含有签名信息的 packageInfo,再通过 packageInfo 获得 Signature 数组,循环遍历将签名进行拼接。代码运行效果:package cn.sunzn.getappsignature;import android.app.Activity;import android.content.pm.PackageInfo;import android.content.pm.Pack 阅读全文
posted @ 2013-01-27 01:21 sunzn 阅读(22167) 评论(0) 推荐(0) 编辑
摘要: 在Android模 拟器下运行体积较大的工程的时候,往往会由于ADB的连接超时而导致测试失败,这时我们可以用通过Eclipse下【Windows】→ 【Preferences】→【Android】→【DDMS】选项下的ADBconnectiontimeout(ms)来设置超时时间,时 间值越大,允许的超时时间范围也就越大。效果图如下: 阅读全文
posted @ 2013-01-27 01:17 sunzn 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: 通知的发送一般是在手机接收到信息或是手机在后台的一项操作完成时用于提示用户的一条信息,通知的实现分为以下三步:创建通知管理器(NotificationManager)创建通知(Notification)并填充构成通知的数据使用通知管理器发送通知通知发送的效果图如下,第一张图的左上角的三角形为收到通知时的提示图标,第二张图为下拉通知进行查看时的效果: package cn.sunzn.notify;import android.R.drawable;import android.app.Activity;import android.app.Notification;import android 阅读全文
posted @ 2013-01-27 01:11 sunzn 阅读(4633) 评论(0) 推荐(1) 编辑
摘要: PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,PopupWindow 弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有偏移两种;按照参照对象的不同又可以分为两种:相对某个控件(Anchor 锚点)的位置和在父容器内部的相对位置。PopupWindow 的实现效果如下:PopupWindow 的实现代码如下:创建 PopupWindowLayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);View conte 阅读全文
posted @ 2013-01-27 01:03 sunzn 阅读(18345) 评论(2) 推荐(0) 编辑
摘要: 1. ListView item 中加入 Checkbox 后 onListItemClick 事件无法触发。原因:Checkbox 获取焦点的优先级高于 ListItem,于是屏蔽了 ListItem 的点击事件。解决方案:设置 CheckBox 的属性 android:clickable="false" android:focusable="false"<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content& 阅读全文
posted @ 2013-01-27 00:54 sunzn 阅读(644) 评论(0) 推荐(0) 编辑
摘要: Linux 系统下所有的信息都是以文件的形式存在的,所以应用程序的流量信息也会被保存在操作系统的文件中。Android 2.2 版本以前的系统的流量信息都存放在 proc/net/dev(或者 proc/self/net/dev)文件下,读取文件然后对其进行解析就行了。读取某一个应用的流量,则读取proc/uid_stat/uid /tcp_rcv 文件进行解析(注:模拟器下不存在这个目录)。如需查看某个应用的流量信息,可以通过以下命令来实现: adb devices 列出所有设备 adb -s 设备名称 shell ... 阅读全文
posted @ 2013-01-27 00:44 sunzn 阅读(18674) 评论(0) 推荐(2) 编辑
摘要: 在实际开发中从美工手中获取的控件或布局长度有时为 px 值,这时就需要我们将 px 值转换为对应的 dp 或者 dip 值,如下的转换工具类提供了将 px 值转换为 dp 值的方法。package cn.sunzn.utils;import android.content.Context;public class CommonUtil { /** * 根据手机分辨率从 dp 转为 px * * @param context * @param dpValue * @return */ public static int dip2px(... 阅读全文
posted @ 2013-01-27 00:35 sunzn 阅读(614) 评论(0) 推荐(0) 编辑
摘要: Drawable Animation 可以让我们按顺序加载一系列的资源来创建一个动画。动画的创建和传统意义上电影胶卷的播放一样,是通过加载不同的图片,然后按顺序进行播放来实现的。在代 码的实现上 AnimationDrawable 类是基于 Drawable animations 来实现的。虽然我们可以通过 AnimationDrawable 类的 API 在代码中定义一个动画的所有帧,但通过一个包含所有帧的 XMl 文件来完成一个动画会更加的简单。这个 XML 文件应该被创建在 Android 项目的 /res/drawable/ 目录下,这样动画内的每一帧就会按照顺序和固定的时间间隔来播放 阅读全文
posted @ 2013-01-27 00:22 sunzn 阅读(8702) 评论(0) 推荐(0) 编辑
摘要: SQLite 因其小巧轻便被安卓系统广泛采用,当然在操作小数据量时,差异并不明显;但当 SQLite 在操作略大一点的数据时就显得力不存心了,这时的 CRUD 操作对移动存储设备的性能有着极大的要求,另外用户体验的良好性也对 SQLite 的性能优化提出了要求。那么,当我们在操作大数据量时如何对 SQLite 进行优化呢?正确的操作是:开启事务。下面我们通过采用不同的方式向数据库中插入 10000 条数据来进行比较以体现开启事务对 SQLite 性能提升方面所做出的贡献。首先看一张截图来进行一个感性的认识:源码及安装文件下载方式一:SQLiteDataBase.zip从上图中我们会很清晰的看到 阅读全文
posted @ 2013-01-27 00:17 sunzn 阅读(9868) 评论(0) 推荐(2) 编辑