- 博客(46)
- 资源 (11)
- 收藏
- 关注
原创 Android网络请求发展简史和RxJava+Retrofit+OkHttp实践
Android开发网络使用小结概述Android 作为与IOS并驾齐驱的一个智能手机平台,在将近十年的时间内有了长足的发展,而这两大平台之所以能PK掉当年盛极一时的诺基亚及其使用的塞班系统,基于网络的丰富的功能功不可没。做了几年Android开发后,今天把Android的网络使用小结一下。Android 网络请求推荐使用和发展历史2.2之前:HttpClient2.3之后:HttpURLConn
2017-02-26 10:57:08
1587
原创 Android Activity 全局管理 终极解决方案
Android Activity 全局管理 终极解决方案管理Activity的好处在Android 开发中 Activity 的管理 对于一个App是至关重要的,管理所有Activity 不仅能实现在应用推出时关闭所有activity,还能实现获取当前Activity上一个Activity、寻找某个类型的Activity、结束某个Activity,以及Activity之间的跳转等多种交互操作。传统的
2016-07-29 20:40:32
11824
1
原创 Android 图片加载工具类 Universal-Image-Loader 的封装和使用示例
Universal-Image-Loader 的封装和使用示例重点单例写法=>枚举通用性考虑性能考虑Universal-Image-Loader 已经实现的特殊效果圆角图片 (RoundedBitmapDisplayer(int cornerRadiusPixels))圆形图片 (CircleBitmapDisplayer())圆环图片 ( CircleBitmapDisplayer(Integer
2016-07-17 18:36:50
2819
原创 Android BaseAdapter的极简封装
Android BaseAdapter的极简封装目的:减少Adapter基础逻辑重复书写优化Adapter结构 使得代码更清晰将通用逻辑封装 集中优化处理 减少不必要环节出错方式:泛型传参 使用抽象类 父类封装通用逻辑 子类只需实现抽象方法 而不必关注 Adapter 内部具体处理逻辑不废话,直接看代码:父类 抽象类SuperBaseAdapter.java:/** * Bas
2016-07-05 23:59:05
958
原创 Nexus 去除叹号 解决显示叹号不显示网络问题 不需root
Nexus5去除叹号问题 手机不需要root如题Nexus5刷5.x版本系统后 会遇到不显示H 、E、 G、 LTE 等标识 而显示叹号的问题其实 只是G在国内被qiang导致的 去除原理很简单 电脑连接手机 打开开发者模式 连接授权后打开电脑命令行1、输入adb shell回车现在显示类似这种界面:shell@hammerhead:/ $2
2016-06-17 23:27:25
3669
原创 Android中 完美实现 计时 倒计时 时间间隔处理等功能实现 by CountDownTimer
今天实现一个 呼叫计时的功能,需要用一个延时处理的方法,搜了一下各种方案 比如TimerTask thread handler.post等等,发现 有的能实现功能但比较麻烦 比如TimerTask,有比较简单的 但时间又不准确,幸而在一个评论里看到了一种简单完美方便的姐姐方案,goole 在Android 提供的CountDownTimer 类,简直完美,再也不需要造蹩脚的轮子了。直接上代码:
2016-05-31 12:12:59
7635
原创 Android 反编译工具下载
三个工具的官方下载地址如下:Apktool:http://ibotpeaches.github.io/Apktool/install/ 最新版本2.0.1 dex2jar: https://github.com/pxb1988/dex2jar 最新版本2.1JD-GUI: http://jd.benow.ca/ 最新版本1.4.0
2016-01-16 23:00:08
897
原创 关于 Android 5.0 无法安装应用问题
遇到一个Android5.0 手机上无法同时安装应用正式版签名版 和测试版(与正式版包名不同)。搜了一下,发现原来是Android 5.0的新特性,将debug版也用与正式版一样的签名进行签名就可以在手机上同时装正式版和测试版了(两个版本包名不同 使用相同打包签名)。参考github上的一篇译文:Android5.0的一些变化:https://github.com/NashLege
2015-11-11 16:31:33
2383
原创 android studio 版本控制 .gitignore 文件配置 &&移除已上传到git的不需版本控制的文件
关于Android studio 使用版本控制 时哪些目录和文件 不需要版本控制的配置如下:外部gitignore 文件可如下配置:.gradle/build/captures/.DS_Store# Local configuration file (sdk path, etc)local.properties# Intellij project files*.iml
2015-10-29 23:15:22
3994
原创 JavaScript学习全栈教程-分享
最近开始学习JavaScript,同事给推荐了个在线学习博客,感觉不错 分享出来:小白的零基础JavaScript全栈教程,具体内容点击链接自己看吧!
2015-08-16 10:52:45
1034
原创 爱加密加密Android apk 使用步骤
今天尝试使用了下爱加密 很简单,下面把使用步骤介绍一下,有兴趣可以试一下:步骤:1、注册爱加密账户2、打包正式签名apk(调试签名APK未尝试,应该也可以)3、上传apk到爱加密 加密(需要几分钟时间)4、云端加密成功,下载加密后的APK5、安装爱加密签名工具(爱加密加密完成的apk包需要使用该工具进行重新签名) 签名keystore
2015-07-30 14:43:05
4182
1
原创 常用设计模式
单例模式:单态模式 保证一个类仅有一个实例,只提供一个访问它的全局访问点。 适用性 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 参与者 S
2015-07-29 06:53:26
652
原创 Eclipse中自动添加注释(作者,时间)
Eclipse中自动添加注释(作者,时间)方法一:Eclipse中设置在创建新类时自动生成注释 windows-->preference Java-->Code Style-->Code Templates code-->new Java files 编辑它 ${filecomment} ${package_declaration} /**
2015-07-25 10:35:02
1064
原创 排序算法总结&&java代码实现
冒泡排序:算法思想:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。时间复杂度:若文件的初始状态是正序的,
2015-07-23 17:52:46
664
原创 算法问题收集
一行java代码判断一个数 是否为2的整次幂?intvalue =1024;就是这一行:System.out.println((value & value - 1)==0 ? true:false);算法思想:2的整数次幂的数为value:那value 满足这样一个特征:value转换为二进制,最高位为1低位全为0 ;而(value-1)也转
2015-07-23 12:56:24
539
转载 EventBus使用
EventBus使用简介EventBus是一款针对Android优化的发布/订阅事件总线。EventBus的功能类似于观察者模式,它在Android里的主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。优点是开销小,代码更优雅。下面的图片是对EventBus的调用过程的一个描述:Even
2015-07-21 21:39:45
848
转载 Mac 下 Andriod Studio 常用快捷键
Mac 下 Andriod Studio 常用快捷键在Mac系统下,Android Studio 的快捷键方式有多种(如eclipse、Mac osx default等等),因此选择适合自己习惯的快捷键模式要比直接去记忆Android studio快捷键更重要。本篇里的所有快捷键都是在Mac系统下的Mac OSX 10.5+ 模式(调节方式:Android Studio ->
2015-07-21 21:32:57
1182
转载 ANR完全解析
ANR完全解析1.什么是ANR在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。2.AN
2015-07-21 21:16:09
1289
原创 Android 项目代码重构思想总结
代码重构的根本思想是模块化、灵活性、高内聚、低耦合。项目重构完之后,理想的状态是:项目主工程中,所放的资源、工具类是继承于基础lib工程,但只与该项目相关的,所有与程序业务逻辑程序界面风格等无关的基础资源和工具类都在Lib工程中,而不是和程序业务逻辑相关的资源和工具类混淆在一起。减少重复性劳动、减少对美工切图的依赖、将基础资源真正抽取出来,主工程只关注业务逻辑。
2015-07-20 11:20:33
4828
转载 炫酷的AndroidUI库集合
这是一个github库,别人整理的,我只能说相当的震撼,图太多,我就不复制了,自己点击去吧:https://github.com/wasabeef/awesome-android-ui
2015-07-19 10:31:10
753
原创 解决MyEclipse jdk 8 报错问题
解决MyEclipse jdk 8 报错问题 由于mac jdk 升级到了最新的jdk 8 将之前的项目导入MyEclipse时提示 以下错误,后从网上搜索发现时jdk8 不兼容引起的,看网上好多说需要更改macJDK环境变量配置,后自己尝试发现,不需要重设JDK 环境变量为jdk6 只需安装JDK6 并 吧jdk6 路径 添加到MyEclipse 的java 运行环境
2015-07-18 16:26:11
7866
原创 解决eclipse svn 返回历史版本(update to version)异常
在eclipse下 使用svn update to version时报了以下这个异常:svn: E210004: Number is larger than maximum后来发现问题是由于 svn 服务端的版版本较高 而client 端 (eclipse svn 插件版本较低)导致我的mac svn 服务端升级到了最新的1.8.13 而eclipse 插件版本为 1.7.9
2015-07-17 08:14:02
5493
转载 浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
2015-05-06 17:46:47
575
转载 Android 添加微信分享三种实现方案
Android 添加微信分享三种方案使用android的intent实现应用程序之间的通信,将信息通过intent传递给微信。这种方式的局限性在于a.只能发送图片,而不是文字或者图片+文字。b.设备必须安装微信才能实现分享。优势是不用任何第三方sdk,包体积小。不用等待官方审核,随时添加实现代码:1>.分享到朋友圈private void shareToTime
2015-04-29 14:34:39
4045
原创 Android|Java 开发常用工具类整理
如题 该文章展示的是我开发过程中使用的部分常用工具类方法,不定期更新。欢迎各位大牛批评指教,如有发现错误,欢迎留言指教,如有更好的实现方式,也欢迎留言交流学习,谢谢。一、手机号 座机号、邮箱格式匹配工具类二 、Android Toast 工具类 三、Android 剪切粘贴工具类四、Android dp、px 转换工具类未完待续,持续更新中。。。
2015-04-29 13:29:30
1569
转载 Android中Bitmap的剪切与拉伸
Android中Bitmap的剪切与拉伸最近做的项目中经常会遇到图像的剪切与拉伸,当中也遇到了不少麻烦,现在在此总结下。1. Bitmap的剪切通常是用到了Bitmap类的createBitmap方法的几个重载方法:public static Bitmap createBitmap (Bitmap source, int x, int y, int width,
2015-04-29 12:20:23
7686
转载 Android 解决程序启动时的黑屏问题
Android 解决程序启动时的黑屏问题关于黑屏默认的情况下,程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据、向服务器发送请求获取数据等等。去除方法:1、在style里面添加一个style: truetrue@null 2、将主题设置到启动activity的主题里面a
2015-04-22 11:20:41
1330
转载 解决链接ClickableSpan中点击后与ListView中item的长按冲突的问题
项目中碰到一个问题,情景是这样的:有一个ListView,每个item中有一个TextView,这个TextView实现了LongClick事件,这个TextView中又添加了ClickableSpan,实现了方法onClick。我的需求是点击ClickableSpan,则响应ClickableSpan事件;长按ClickableSpan效果跟长按TextView应该一样,都响应T
2015-04-02 21:38:41
1641
原创 软件版本比较之——Java算法实现软件版本比较
最近遇到一个开发中的小问题,软件版本比较:例如2.12.3和2.2.1这两个版本号,哪个更新。其实,客户端版本检测更新,检测后台是否有更新版本可更新,Java中最简单的一种方法便是获取当前客户端版本号,与服务端提供的最新版本号做equals对比即可。假设当前客户端版本号为localVersion 后台提供最新客户端版本号为onlineVersion通过if (localVersion.
2015-03-25 00:39:30
4382
原创 Java动态 遍历List 时删除List特征元素 异常问题 及解决方式总结
首先,这是一个极其简单的问题,大牛可忽略,新手可能会遇到,Java中遍历某个List 时删除该List元素 会抛出异常。这一个简单的问题再高手严重不值一提,但新手可能会比较困惑,用哪种方式可以安全有效的实现遍历list删除某些特征元素?方式:方法1、普通for循环 遍历List,删List除自身 特征条目;方法2、高级for循环 遍历List,删除List自身 特定条目
2015-03-12 23:47:55
2610
原创 WebView 基本应用示例——Android 使用WebView在应用内部打开web页面
最近用到WebView 在应用内部加载URL 展示web页面 ,顺便贴出一个简单的示例。对于一般应用,仅用来展示web页面的话,不需要复杂的处理逻辑,但新手在做的过程或许会遇到这样的问题:(大牛可忽略了)1、调用webView.loadUrl() 方法,依然会调用系统浏览器;2、按返回键 直接退出界面,而不是返回打开web网页的上一级。其实,如果只简单展示网页的话,只需一下1、
2015-02-09 16:55:36
9975
原创 Android刷机 概念整理
安卓手机刷机方法大致可分为四种:软刷、卡刷、线刷和厂刷。1.软刷:就是利用甜椒、精灵、大师等一键刷机软件进行傻瓜式刷机。2.卡刷:就是把刷机包直接放到SD卡上,然后直接在手机上直接进行刷机。卡刷时常用软件有:一键ROOT VISIONary(取得root)、固件管理大师(用于刷recovery)等(或有同样功能的软件)。3.线刷:就是通过计算机上的线刷软件把刷机包用数据线连接手
2014-12-18 22:54:13
944
转载 Socket 长连接与短连接,心跳
长连接与短连接所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。 比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭
2014-03-21 21:38:35
766
转载 Android进程与线程基本知识
本文介绍Android平台中进程与线程的基本知识。 很早的时候就想介绍一下Android中的进程和线程,但由于其他的事情一直给耽搁了,直到现在才能和大家一起分享下。 1.Android进程基本知识: 我们先来了解下Android中的进程基本知识。 当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有
2014-03-18 11:51:26
837
转载 深入理解Android消息处理系统——Looper、Handler、Thread
熟悉Windows编程的朋友可能知道Windows程序是消息驱动的,并且有全局的消息循环系统。而Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制。实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可
2014-03-17 19:14:01
935
转载 OSI七层网络模型与TCP/IP四层网络模型
OSI七层网络模型与TCP/IP四层网络模型1. OSI网络分层参考模型 网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理
2014-03-17 18:16:04
1161
原创 网络分层&&网络协议 总结
百度百科定义(简版)1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确
2014-03-17 18:06:15
1353
转载 Android中assets目录和res/raw目录的异同区别和使用场景
Android中assets目录和res/raw目录的异同和使用场景1作者:futurexiong更新于 07月05日访问(3670)评论(12)好久没写些什么了,一直比较忙,有近2个月没更新博客了。今天看到有人问Android中assets目录和raw目录的区别和使用情况。能提出这个问题的,应该都了解它们的共同点:
2014-03-14 11:04:24
1713
静默安装静默卸载详解SilentInstallDemo.rar
2014-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人