android
文章平均质量分 91
wzgiceman
热爱生活,热爱技术,如有移动需求需求请加微信:805858226
展开
-
捋一捋Android的转场动画
捋一捋Android的转场动画由于录制的gif过大,导致CSDN部分gif无法显示,可以传送到GitHub查看本篇博客背景随着 Material Design设计概念的提出,使得很多的开发过程中对动画和UI的优化越来越重要,其中一个重要的动画 就是Material Deisgn : Material Motion “Motion provides meaning. Ob原创 2016-08-01 10:18:49 · 12039 阅读 · 2 评论 -
杂记-Android Studio 2.2 新功能
AS 2.2 新功能 Android产品经理Jamal Eason在开发者博客文章中总结了本次更新的内容,主要集中在速度、智能和Android平台支持三个方面大概的尝试了下2.2的新功能,有些功能还是很吊的,所以分享给大家编辑器布局组件板:提供了你可以拖拽到布局编辑器中的控件列表组件树:显示了布局的层次图。在这里点击会看到组件在编辑视图中被选中。工具栏:提供了改变布局的按钮和编辑布局的属原创 2016-09-27 17:07:24 · 9376 阅读 · 3 评论 -
自动化代码检查优化Lint
Lint除了测试 Android 的应用程序是否满足功能要求外,确定你的代码没有结构问题也相当重要。代码架构不完善会影响 Android 应用程序的可靠性和运行效率,同时也会使代码更难维护。比如, 如果你的 XML资源包含未使用的命名文件,这不仅占用了空间,还会招致不必要的处理工作。其他的结构问题,如使用过时代码,或者使用了不被目标 API 版本支持的 API 调用,这都 可能会导致代码无法正确运行原创 2016-09-22 10:07:57 · 11847 阅读 · 0 评论 -
仿IOS -appstore之下载进度按钮
仿IOS -appstore之下载进度按钮原创 2016-07-20 14:59:31 · 21081 阅读 · 1 评论 -
Android-你还在用downloadmanager更新下载-out了!!!
轻松搞定下载MyDownloadManager序言: 软件更新想必大家都用过,很多是用友盟的下载,但是也有自己公司服务器下载的处理方式,本文主要讲解的是自己下载的处理方法 想必大家就会说,这还用自己做呀,系统自带的一行代码不就解决了-------DownloadManager,如果你还在用这个下载,那你就年轻了,不是说这个方法不好,而是在中国这样的大环境下**原创 2016-07-09 16:12:05 · 18638 阅读 · 1 评论 -
Android-启动模式task-lunchmodle-intent flag 总结
总结:同一task内的activity可以是来自不同进程的activity栈内的activity不会重新排序,只能push或者popstandard模式允许多实例,可以在不同的tasksingleTask的activity只会存在一个实例singleTask的activity如果设置了独立的taskAffinity属性值,启动时就会在新的task中,否则会在已有task中singleTas原创 2016-06-20 15:36:08 · 49202 阅读 · 0 评论 -
Android常用开发工具类
Android常用开发工具类应用工具类原创 2016-07-23 17:21:10 · 9598 阅读 · 1 评论 -
Android-你所不知道的context
Context都没弄明白,还怎么做Android开发?Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建原创 2016-05-24 10:20:33 · 51107 阅读 · 0 评论 -
Andriod-学习资源博客总结
CSDN 鸿洋:http://blog.csdn.net/lmj623565791 爱哥:http://blog.csdn.net/aigestudio 老罗:http://blog.csdn.net/luoshengyang 小巫:http://blog.csdn.net/wwj_748 Mr.Simple:http:原创 2016-06-08 16:10:32 · 7722 阅读 · 2 评论 -
Android-AndroidFlux-异步请求和网络
AndroidFlux-异步请求和网络在移动开发中,异步网络操作必不可少,本篇着重介绍在Flux模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态。另外,网络操作仅仅是异步操作的一种,最后扩展ActionCreator的语义来处理更多的业务逻辑。如何做网络操作如图所示,在FluxApp中,网络操作是在ActionCreator转载 2016-01-30 13:04:53 · 8774 阅读 · 0 评论 -
Android-umeng 微博分享和回调问题
微博分享和回调问题前言: 最近公司需要用到分享的功能,微博分享是其中的一个模块,一开始打算用微博自带的api做,但是分享的渠道很多,最后放弃了,改用了umeng分享去做,下面总结下分享中微博出现的各种奇葩的问题问题-正对as开发的同学们借鉴 问题1:.so包无法自动导入解决办法:在build.gradle下添加一下代码原创 2016-06-01 10:54:22 · 9175 阅读 · 0 评论 -
Android-主Activity不一样的单利模式
Android-主Activity不一样的单利模式背景目前有一部分android APP需要这样一种场景,即应用需要保留一个应用首页主Activity,其它子Activity永远在主Activity之上,跳转到子Activity之后,不管以哪种方式跳转,最终都可以返回到主Activity,这种场景有点类似主桌面的概念。这种场景如果纯fragment来实现,需要管理fra原创 2016-06-13 11:29:50 · 12839 阅读 · 0 评论 -
Android-实时将下载图片加入相册中
实时将下载图片加入相册中Adnroid中保存图片的方法可能有如下两种:第一种是自己写方法,如下代码:123456789101112131415161718public st原创 2016-04-29 11:02:13 · 12576 阅读 · 0 评论 -
用黑客思维做测试——神器 Xposed 框架介绍
Xposed 框架Xposed 框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。基本原理Zygote 进程是 Android 的核心,所有的应用程序进程以及系统服务进程都是由Zygote进程 fork 出来的。Xposed Framework 深入到了 Android 核原创 2016-01-29 14:24:42 · 18384 阅读 · 0 评论 -
Android-Tint变色
Tint变色作用tint是Android系统上用于颜色修改的一个功能,让Android也能有iOS那么方便的图片色调转换,目的是为了减小apk 的大小,比如我们开发中需要用到的点击状态:一般需要两张图,一张常态一张点击态的图(这里指的是带图片的不能 用点9代替的图片),通过tint我们可以用一张图做出多种背景状态效果:原图图片资源我们这里只用了这一张图片资源开始我们的实现过程定义方法首先我们原创 2016-08-03 11:02:50 · 9022 阅读 · 0 评论 -
Android-ProductFavorl 多变种多渠道打包
ProductFavorl 多变种多渠道打包运行场景同一款软件,因为定制和其他原因,需要打包多个版本,每个版本都有各自的特色和区别(整体显示大致一样),而且能同时安装到一个手机(具有不同的包名) ;技术点不是很难,但是确实很实用,作者就遇到过这样的需求,想当初eclipse开发的时候,定制了10多个版本,svn都乱套了,同事接手瞬间懵逼,一旦修改需求 …..都是泪!运行技术AndroidStud原创 2016-10-13 17:30:29 · 12218 阅读 · 0 评论 -
移动Android开发-规范文档
Android规范文档本手册以开发者为中心视角分为 Java 语言规范, Android 资源文件命名与使用,Android 基本组件,UI 与布局,进程、线程与消息通信, 文件与数据库,Bitmap、Drawable 与动画,安全,其他等九大部分,根据约束力强弱, 规约依次分为强制、推荐、参考三大类:【强制】必须遵守,违反本约定或将会引起严重的后果;【推荐】尽量遵守,长期遵守有助于系...原创 2018-09-10 17:40:22 · 6854 阅读 · 0 评论 -
RxJava+Retrofit+OkHttp深入浅出-终极封装六特殊篇(变种String替换Gson自由扩展)
Rxjava+ReTrofit+okHttp深入浅出-终极封装特殊篇(变种String替换Gson自由扩展)背景在之前的封装1-5中我们都是通过传统的GsonConverterFactory自动解析,这样做确实很方便,用户能直接获取返回的对象,不用关心具体的转换,但是:这随之而来有很多的缺陷(虽然官网推荐这样使用);比如:无法使用其他第三发转换框架;泛型无法中间传递,封装无法统一处理缓存结果;回调信原创 2016-11-01 13:55:08 · 13227 阅读 · 35 评论 -
Retrofit 源码剖析-深入
背景前一章节,先系统的讲解了关于Retrofit实现当中的主要技术动态代理,本篇详细结合动态代理在Retrofit中的应用,扩展到结合RxJava来使用 Retrofit源码解析-动态代理思路要深入研究一款开源项目最好的入口就是它所暴露出来的外部使用接口,按照这个思路,所以需要大体先了解Retrofit的基本使用,这里就不阐述这些基础的知识,可以查看以前的博客 RxRetrofit-专栏原创 2017-01-19 16:00:28 · 6280 阅读 · 4 评论 -
Android 编译时注解-提升-butterknife
背景在前面的文章中,讲解了注解和编译时注解等一些列相关的内容,为了更加全面和真是的了解Android 编译时注解在实战项目中的使用,本文采取实现主流框架butterknife注入view去全面认识编译时注解。 注解专栏-博客效果先来张图压压惊,实现效果butterknife的view绑定使用仿照butterknife实现了@BindView注解,通过WzgJector.bind方法绑定当前Ma原创 2017-01-17 10:26:51 · 79620 阅读 · 2 评论 -
Android-框架使用之-懒惰开发-如何提升开发效率
给创业码农的话--如何提升开发效率WeMobileDev编者的话:simsun在2013年从手Q转岗到微信,在此非常感谢他对微信做出的贡献。在我看来,sim是一个活生生的全栈工程师,从硬件、后台到iOS、Android样样精通。同时sim非常崇尚开源,以开放的心态去做事,是一个节操满满的新时代码农。尽管他为了个人家庭与事业离开了微信这个大家庭,但在这里我再次祝福原创 2016-01-31 10:08:17 · 13674 阅读 · 0 评论 -
Dagger2-渐入二(提升)
dagger2-渐入二(提升)背景在前一篇 Daager2-初认识一中我们认识了简单的dagger2的使用和依赖注入的优点,这章继续深入的研究和学习dagger2的使用,后续会结合mvp主流框架给大家一步步讲解如何运用dagger2封装大项目的开发框架!Component提供依赖上一节我们讲解了moudel的依赖方法,其实Component也可以提供依赖实现如下:实现1.创建一个新的数据对象,提供C原创 2016-11-04 14:07:47 · 2718 阅读 · 0 评论 -
RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
RxJava+Retrofit+OkHttp封装三(文件上传带进度)背景在实际运用中上传是一个必不可少的功能,所以我们在封装二的基础上加入上传的功能,同时需要附带上传进度!效果实现1.定义service接口注意:Multipart是指定大文件上传过程中的标示,一般上传图片的过程中我们需要附带信息,所以我们需要用到@part指定传递的数值,MultipartBody.Part是指定传递的文件;原创 2016-10-24 11:54:17 · 20174 阅读 · 22 评论 -
Daager2-初认识一
Daager2-初认识一背景:有什么能比那把黄油刀(butterknife)更加犀利的名字唯有dagger了, 最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不仅仅来自它的本意“匕首”同时也暗示了它的原理 Dagger2 是一个Android依赖注入框架,由谷歌开发,因为主流是Dagger2所以接下来我们直原创 2016-11-03 11:26:56 · 3451 阅读 · 3 评论 -
Dagger2-深入三(mvp结合使用)
Dagger-深入三(mvp结合使用)背景mvp话说也出来很久了,初入学习Dagger的时候,就感觉和mvp结合能更加有效的解决presenter注入的的问题,避免更多的代码复写!而且大概看了下网络上的资源,一般多是分开讲解dagger和mvp技术,结合使用的很少,所以决定写出来和大家一起学习!何为MVPMVP,全称 Model-View-Presenter,要说MVP那就不得不说一说它的前辈MVC原创 2016-11-04 16:06:41 · 5727 阅读 · 2 评论 -
Android-注解详解
Android-注解详解背景上一章,我们研究了 Java注解 的用法;紧跟着这章研究一下Android相关的注解的使用,比如我们熟悉的ButterKnife就是使用注解的方式实现对其使用,掌握注解的使用方法极大的方便了我们的开发效率环境使用Android注解前需要导入相关的包 compile 'com.android.support:support-annotations:latest.integr原创 2016-12-06 11:34:32 · 12592 阅读 · 1 评论 -
RxBus-实现EventBus之Sticky
RxBus-实现EventBus之Sticky背景前期由于工作中需要将EventBus转RxBus,所以按照EventBus的用法封装了一套自己的RxBus,基本满足了使用,项目发出后有不少兄弟告诉我没有EventBus的Sticky功能,所以得闲完善这个功能,同样是按照EventBus3.0注解的方式去实现和调用 原RxBus基本功能实现原理:EventBus完全一样的RxBus效果stic原创 2016-12-20 10:36:42 · 3864 阅读 · 0 评论 -
Fragment-踩坑
Fragment-踩坑背景Fragment已经成为Android开发界面设计中不可或缺的一部分,同时也发挥着越来越重要的角色,虽然Fragment已经能出色的项目开发,但是在使用过程中也暴露了越来越多的问题,虽然google也一直在及时的修复,但是还是有很多坑,所以决定记录Fragment使用过程中的使用问题,避免小伙伴们重复踩坑。在了解踩坑之前,我们需要先了解Fragment的使用要点和使用方法F原创 2017-01-06 13:55:05 · 2894 阅读 · 0 评论 -
RxJava+Retrofit+OkHttp深入浅出-终极封装五(数据持久化)
Rxjava+ReTrofit+okHttp深入浅出-终极封装五(数据持久化)背景数据持久化在现在移动app开发中已经越来越被大家认可,提高了用户体验和软件的稳定性,但是由于retrofit持久化的局限性,所以需要自己动手改造一个适合自己的数据持久化方案!封装效果 第一次请求是网络加载,之后只要在设置的保险时间以内都是通过缓存拉取数据,提高加载速度!下面我们分两节讲解,一节讲述自带的retrofi原创 2016-11-01 10:17:50 · 12099 阅读 · 13 评论 -
Android-动态权限-解决方案
Android权限动态解决方案Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案.Android系原创 2016-02-02 11:45:37 · 6627 阅读 · 0 评论 -
Android 中如何计算 App 的启动时间?
Android 中如何计算 App 的启动时间?之前有人在知乎提问:“怎么计算apk的启动时间?” :利用python或者直接用adb命令怎么计算apk的启动时间呢?就是计算从点击图标到apk完全启动所花费的时间。比如,对游戏来说就是点击游戏图标到进入到登录界面的这段时间。已知的两种方法貌似可以获取,但是感觉结果不准确:一种是,adb shell am start原创 2016-01-29 14:38:18 · 5598 阅读 · 1 评论 -
Android-自定义组件-最全下拉刷新分析-推荐
安卓下拉刷新开源库对比 目录对比的开源库列表及简介拓展性易用性触屏事件分发性能分析总结附录-知识点参考RepoRepoOwnerStar(2015.12.5)versionSnap shotAndroid-PullToRefresh(作者已停止维护)chrisbanes6014latest原创 2016-01-31 09:55:19 · 10186 阅读 · 0 评论 -
Android-内存优化-Overdraw-多度绘制
Android性能优化之如何避免Overdraw什么是Overdraw?Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对原创 2016-01-31 09:48:14 · 8314 阅读 · 0 评论 -
Android-动画提升-基于游戏引擎libGDX-动画开发
Android FrameWork 基于libGDX实现高性能动画特效(粒子特效/烟花效果篇)导语 libGDX选择libGDX结识libGDX选择libGDX插曲:libGDX学习性能核心知识点主角来了libGDX引入到APP中实现特效引入libGDX到application Framework中遇到的问题1. Androi转载 2016-01-30 19:32:37 · 12281 阅读 · 1 评论 -
Android-MemoryFile介绍
Tricking Android MemoryFile之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下What is itMemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制Ashmem匿名共享内存,简单来说,A原创 2016-01-30 13:08:07 · 17159 阅读 · 3 评论 -
Android-各种Span的用法
前言在android.text.style包下,有一些Span类,可以提供我们完成一些在TextView中的特殊内容。(比如:部分内容颜色、字体、大小不同等等,更有部分字体可点击。)还有一个SpannableStringBuilder,可以帮助我们设置Span。底下也有全部的源代码。SpannableStringBuilderSpannableStrin转载 2016-01-30 12:58:10 · 10677 阅读 · 0 评论 -
Android-夜间模式最佳实践
Android夜间模式最佳实践Android程序员如何优雅地实现夜间模式?在Android应用普遍支持夜间模式的今天,本文作者马俊同学,分析了业界主流的方案, 同时也通过自己的研究,发现了一个维护成本相对较小的方案,让我们一起看看。由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验。目前越来越多的应转载 2016-01-30 12:55:02 · 7140 阅读 · 0 评论 -
Android-APK瘦身实践
[个人总结]APK瘦身实践因为推广的需要,公司需要把APK的大小再“减小”一下,4M以内!当达到4M以内之后,公司建议说,能否再压压?2M如何?瘦身前因为平时就考虑到大小的限制,所以很多工作已经做过了,如下列举现在的状态:7.3M(Debug版本)和6.5M(Release版本)开启minifyEnabled开启shrinkResources已经转载 2016-01-29 16:30:53 · 9251 阅读 · 0 评论 -
Android测试-脚本测试-Monkey 的用法
Monkey用法Monkey 是一个命令行工具,可以运行在 Android 模拟器里或真实设备中。它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个 Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法基本语法:原创 2016-01-29 15:13:29 · 19568 阅读 · 0 评论 -
Android Studio你不知道的调试技巧
Android Studio你不知道的调试技巧写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点;可是你听说过日志断点吗,Method Breakpoint, Exception Breakpoint 呢?还有高大上的 F原创 2016-01-29 14:21:55 · 35309 阅读 · 1 评论