01 2013 档案
摘要:源码及安装文件下载方式一:GPSInfoService.zip手机定位权限说明:需要在清单文件中声明以下权限。<!-- 声明手机粗略定位授权 --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><!-- 声明手机精细定位授权 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><!-- 声明手机模拟定
阅读全文
摘要:源码及安装文件下载方式: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...
阅读全文
摘要:源码及安装文件下载方式一: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
阅读全文
摘要:在Android模 拟器下运行体积较大的工程的时候,往往会由于ADB的连接超时而导致测试失败,这时我们可以用通过Eclipse下【Windows】→ 【Preferences】→【Android】→【DDMS】选项下的ADBconnectiontimeout(ms)来设置超时时间,时 间值越大,允许的超时时间范围也就越大。效果图如下:
阅读全文
摘要:通知的发送一般是在手机接收到信息或是手机在后台的一项操作完成时用于提示用户的一条信息,通知的实现分为以下三步:创建通知管理器(NotificationManager)创建通知(Notification)并填充构成通知的数据使用通知管理器发送通知通知发送的效果图如下,第一张图的左上角的三角形为收到通知时的提示图标,第二张图为下拉通知进行查看时的效果: package cn.sunzn.notify;import android.R.drawable;import android.app.Activity;import android.app.Notification;import android
阅读全文
摘要:PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,PopupWindow 弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有偏移两种;按照参照对象的不同又可以分为两种:相对某个控件(Anchor 锚点)的位置和在父容器内部的相对位置。PopupWindow 的实现效果如下:PopupWindow 的实现代码如下:创建 PopupWindowLayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);View conte
阅读全文
摘要: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&
阅读全文
摘要:Linux 系统下所有的信息都是以文件的形式存在的,所以应用程序的流量信息也会被保存在操作系统的文件中。Android 2.2 版本以前的系统的流量信息都存放在 proc/net/dev(或者 proc/self/net/dev)文件下,读取文件然后对其进行解析就行了。读取某一个应用的流量,则读取proc/uid_stat/uid /tcp_rcv 文件进行解析(注:模拟器下不存在这个目录)。如需查看某个应用的流量信息,可以通过以下命令来实现: adb devices 列出所有设备 adb -s 设备名称 shell ...
阅读全文
摘要:在实际开发中从美工手中获取的控件或布局长度有时为 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(...
阅读全文
摘要:Drawable Animation 可以让我们按顺序加载一系列的资源来创建一个动画。动画的创建和传统意义上电影胶卷的播放一样,是通过加载不同的图片,然后按顺序进行播放来实现的。在代 码的实现上 AnimationDrawable 类是基于 Drawable animations 来实现的。虽然我们可以通过 AnimationDrawable 类的 API 在代码中定义一个动画的所有帧,但通过一个包含所有帧的 XMl 文件来完成一个动画会更加的简单。这个 XML 文件应该被创建在 Android 项目的 /res/drawable/ 目录下,这样动画内的每一帧就会按照顺序和固定的时间间隔来播放
阅读全文
摘要:SQLite 因其小巧轻便被安卓系统广泛采用,当然在操作小数据量时,差异并不明显;但当 SQLite 在操作略大一点的数据时就显得力不存心了,这时的 CRUD 操作对移动存储设备的性能有着极大的要求,另外用户体验的良好性也对 SQLite 的性能优化提出了要求。那么,当我们在操作大数据量时如何对 SQLite 进行优化呢?正确的操作是:开启事务。下面我们通过采用不同的方式向数据库中插入 10000 条数据来进行比较以体现开启事务对 SQLite 性能提升方面所做出的贡献。首先看一张截图来进行一个感性的认识:源码及安装文件下载方式一:SQLiteDataBase.zip从上图中我们会很清晰的看到
阅读全文
摘要:Android 中用户要退出应用程序,看到大部分退出应用程序的做法是:弹出一个对话框,用户点了确定后退出。个人觉得这用户体验有点不好,手指还要往屏幕中间移动再点 击。用户按了一次后退键,这可能用户是误按了后退键,并不想直接退出程序,给用户提示”再按一次后退键退出应用程序“,如果用户真想退出,直接再按...
阅读全文
摘要:在 Android 软件设计与实现中我们通常都会使用到 ListView 这个控件,系统有一些预置的 Adapter 可以使用,例如 SimpleAdapter 和 ArrayAdapter,但是总是会有一些情况我们需要通过自定义 ListView 来实现一些效果,那么在这个时候,我们通常会碰到自定义 ListView 无法选中整个 ListViewItem 的情况,也就是无法响应 ListView 的 onItemClickListener 中的 onItemClick() 方法,究竟是为什么呢?我之前也在网上查过不少的资料,但是没有发现什么有价值的文章,有一些是建议在 Adapter 的
阅读全文
摘要:配置系统变量编 辑系统变量的 Path 名值对,将 SDK 的下的 tools 目录和 platform-tools 目录的绝对路径加入变量值的末尾。形如(D:\Android-SDK\android-sdk\tools;D:\Android-SDK \android-sdk\platform-tools)。配置用户变量新建用户变量名值对,AVD 设备文件是保存在一个叫 .android 的目录下,该目录默认在用户的文档根目录下,如 C:/Users/Administrator/Documents,添加【变量名为:ANDROID_SDK_HOME,变量值为:指定目录的绝对路径】即可改变 .an
阅读全文
摘要:有时候开发过程中需要手机真机去联网实现测试或者下载对应的 APP,有些朋友或许还喜欢将电脑设置为手机的 WIFI 热点躺在床上上网,总之,我们有这样的需求,同样也有这样的解决方案。在实现电脑设置为手机的 WIFI 热点的时候,你的具备以下几个前提:操作系统为 Windows7电脑装有无线网卡具备了以上 2 个条件就可以在电脑上进行配置了,配置过程如下:在命令行下输入:netsh wlan set hostednetwork mode=allow ssid=sunzn key=s0987612345 mode:是否启用虚拟 WiFi 网卡,改为 disallow 则为禁用 ssid:无线网名..
阅读全文
摘要:NotificationManager 在执行 notify(int id, Notification notification) 方法时,有 2 个细节要注意,因为这两个细节可以实现类似墨迹天气在接收到消息推送后发出的常驻通知,这样的通知一直在状态栏显示而不会消失,当接收到新的消息推送后,发出的新...
阅读全文
摘要:1. 使用 shape 绘制线条<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <!-- 显示一条虚线,破折线的宽度为 dashWith,破折线之间的空隙的宽度为 dashGap,当 dashGap=0dp 时,为实线 --> <stroke android:dashGa
阅读全文
摘要:小米2 手机虽然在【设置】→【全部设置】→【开发者选项】中为开发人员提供了【USB 调试】的模式,但我相信很多开发者和我一样,在电脑上安装好驱动,在手机上开启【USB 调试】后去 Eclipse 的 Devices 选项卡下查看设备信息或者在命令行下执行:adb devices 查看设备信息的时候,...
阅读全文
摘要:在安卓操作系统下对于 TextView 字体的支持非常有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,如果在没有指定字体的情况下,系统缺省会使用 "Sans" 作为文本显示的字体。但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的。为此,谷歌又提供了另外一种字体的支持方式:字库。在 Android 2.2 版本中,安卓对字库的支持是比较有限的,从 Android 2.3.3
阅读全文