- 博客(19)
- 资源 (25)
- 收藏
- 关注
原创 PopupWindow显示在某个控件上方
一、自定义PopupWindowpublic class PopupWindowView extends PopupWindow{ private int popupWidth; private int popupHeight; private ListView listView; private View parentView; public Po
2016-06-29 23:27:29 25268 4
原创 Android调用系统下载器DownloadManager
一、DownloadManager简单介绍DownloadManager是系统开放给第三方应用使用的类,包含两个静态内部类DownloadManager.Query和DownloadManager.Request。DownloadManager.Request用来请求一个下载,DownloadManager.Query用来查询下载信息,这两个类的具体功能会在后面穿插介绍。DownloadMan
2016-06-29 18:54:26 5843
转载 Android OkHttp文件上传与下载的进度监听扩展
相信大家对OkHttp也是相当的熟悉了,毕竟是Square的东西,对于其种种优点,这里也不再叙说。优秀是优秀,但是毕竟优秀的东西给我们封装了太多,那么问题来了,我们使用OkHttp作为我们的网络层,简单地进行GET/POST请求是毫无问题。近日看了产品的设计稿,毛估估会有文件的上传与下载的需求,如果使用OkHttp作为网络层进行封装,你会惊讶的发现,简直封装的太“完美”了。如果现在有这么一个需求,
2016-06-29 14:11:00 1010 1
原创 Android调用第三方百度APP进行导航
首先注意的是手机端必须要装有百度地图APP,可以到百度官网。工具类:public class BaiduIntentUtil { /** * 启动BaiduApp进行导航 * Version 1.0 * CreateTime 2016/6/27,11:23 * UpdateTime 2016/6/27,11:23
2016-06-29 13:50:16 4250
原创 Android调用第三方高德APP进行导航
首先注意的是手机端必须要装有高德地图APP,可以到高德官网下载:http://www.autonavi.com/封装工具类如下:/** * Description * TODO * Author * Date 2016/6/27 11:18 * Copyright Copyright (c)2016 Shenzhen Tentinet Technology Co., Ltd
2016-06-29 09:57:51 18090 2
原创 阿拉伯数字转换为汉字数字
public class NumberFormatUtil { static String[] units = {"","十","百","千","万","十万","百万","千万","亿","十亿","百亿","千亿","万亿" }; static char[] numArray = {'零','一','二','三','四','五','六','七','八','九'};
2016-06-28 11:37:57 4725 1
原创 SQLite添加新的字段
通过alter添加新的字段SQL语句"ALTER TABLE 'DiHKChatMessage' ADD 'phoneNum' varchar";但是如果这个字段已经存在的话,运行程序直接会崩溃,那怎么解决? 我们可以在添加字段之前,对数据库进行判断看是否已经存在该字段了,方法如下:/** * 方法1:检查某表列是否存在 * @param db * @p
2016-06-24 14:49:49 20215 1
原创 获取网络类型
相关类型列表:1、NETWORK_TYPE_1xRTT: 常量值:7 网络类型:1xRTT2、NETWORK_TYPE_CDMA : 常量值:4 网络类型: CDMA (电信2g)3、NETWORK_TYPE_EDGE: 常量值:2 网络类型:EDGE(移动2g)4、NETWORK_TYPE_EHRPD: 常量值:14 网络类型:eHRPD5、NETWORK_TYPE_EVDO_0
2016-06-24 10:26:51 791
原创 IllegalStateException
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState: E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform thi
2016-06-24 00:31:53 584
原创 butterknife7.0.1打包混淆
Butter Knife 动态的生成和使用class,这意味着静态的分析工具像ProGuard可能会认为这是无用的。为了阻止他们被移除,明确的标明他们将要被保持。为了阻止ProGuard 重命名class,在该class中使用了@Bind来注解一个成员变量,因此需要使用keepclasseswithmembernames 。-keep class butterknife.** { *; }
2016-06-23 10:52:35 1832
原创 Android Butterknife Zelezny
首先提下ButterKnifey已经更新到版本7.0.1了,现在注解已经不叫@InjectView了,而叫@Bind,感觉更贴合语义。同时注册的方式也从ButterKnife.inject(this);变成了ButterKnife.bind(this);关于7.0.1的ButterKnife的各种用法和功能,可以参考ButterKnife的github上的主
2016-06-23 10:48:15 462
转载 ButterKnife 8.0.1
自己在开发新的项目时,比较喜欢使用新版本的开发框架。今天在引入Butter Knife依赖时,发现它版本升级到了8.0.1。果断下载之。然而在使用中出现了一些问题:@Bind() 标签没有了运行项目时View会提示NullPointerException空指针的问题此次Bug的出现,结束了一个@Bind标签走天下的局面。以前只是粗略的阅读过官方文档,这次打算深入的阅读一下看看会
2016-06-23 10:41:37 447
原创 Android SQLite分页查询的三种方法
闲话不多说,直入话题,SQLite分页查询有三种方法,它们都是基于SQLite SQL查询来的,首先我们看下SQLite分页查询的SQL语句,有助于我们理解:123456#查询第一行起的5行数据,可以有两种语句:#第一种语句:select* fromT_user limi
2016-06-22 15:18:47 28321
转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message
作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被g
2016-06-18 11:07:10 444
原创 判断是为魅族系统(Flyme OS)
方法一:原理:魅族系统(Flyme)5.1可以通过是否有hasSmartBar进行判断。/** * 判断是否为魅族系统 (注意:此方法对于最新的Flyme(基于Android 5.1)无效.) * Version 1.0 * CreateTime 2016/6/8,17:06 * UpdateTime 2016/6/8,17:06 * CreateAuthor * UpdateAut
2016-06-18 10:18:24 5412
原创 Activity与Service通信之AIDL远程服务
一、原理http://note.youdao.com/yws/public/redirect/share?id=dbfce2a37b24ddc0ffff4722221e0e65&type=false其实简单来说,AIDL可以实现应用程序之间进行通信。二、使用Android studio创建AIDL 如何创建可以查看《Android Studio 创建AIDL》,这里就不再累述了。其中:AI...
2016-06-01 16:45:55 620
原创 Activity与Service通信之自定义接口
一、实现原理: 自定义一个接口,该接口中有一个获取当前下载进度的空方法。Server端用一个类继承自Binder并实现该接口,覆写了其中获取当前下载进度的方法。Client端通过ServiceConnection获取到该类的对象,从而能够使用该获取当前下载进度的方法,最终实现实时交互。二、实现步骤:1、自定一个接口:public interface ICoun
2016-06-01 16:42:58 743
原创 Activity与Service通信之EventBus
一、导包:compile 'org.simple:androideventbus:1.0.5'二、在Activity和Service分别注册EventBus//注册EventBuseventBus = EventBus.getDefault();eventBus.register(this);在onDestroy()注销EventBus@Overrideprotec
2016-06-01 16:40:38 7840 3
原创 Activity与Service通信之信使(Messenger)
一、通信原理 Messenger翻译过来指的是信使,它引用了一个Handler对象,别人可以通过Messenger向它发送消息(使用mMessenger.send(Message msg)方法)。该类允许跨进程间基于Message通信,在服务端使用Handler创建一个 Messenger,客户端只要获得这个服务端的Messenger对象就可以与服务端通信了。
2016-06-01 16:34:44 976
tomcat插件
2017-11-30
decompiler
2017-10-31
ksoap2-android-assembly
2017-09-21
AndroidAnnotations-3.2
2017-08-08
android深入理解卷2
2017-07-03
Android 6.0 运行时权限管理
2016-07-06
AutoCompleteTextView自定义Item的布局
2016-03-31
自定义标签
2016-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人