安卓实战
文章平均质量分 81
三精-大精wing
Android程序员,喜欢瞎瘠薄扯淡
展开
-
安卓小项目实战之--定时提醒备忘录
写在前面: 安卓的学习也有半年多了,期间也曾写过博客,但大多都是一些琐碎的笔记,基本没用任何参考价值,这几天闲来无事,便想做个小项目来玩玩,巩固一下基本知识,并且完整的记录下来整个开发的过程,以作留念。/————————我是华丽的分割线—————————-/ 本次项目选择了可定时提示的备忘录。原理是利用系统每分钟发送一条时间改变的广播,通过接受这条广播来判断是否为用户设置的时原创 2015-05-18 23:30:06 · 7135 阅读 · 8 评论 -
爽翻天!告别Java。一起来使用kotlin开发完整客户端
必须写在前面:从Java转向Kotlin,只需要几天时间!本篇是kotlin开发Android系列教程的最后一篇。前面几篇介绍了kotlin的基本语法、与java的不同之处等。在本篇文章中,将使用到前面的知识点,从零开发一款Gank.io 干活集中营App(感谢Gank提供的Api)。 该App完全使用了Kotlin语言开发,基于MVP模式,并使用如下主流开源框架:KotlinDagg原创 2016-11-28 08:39:27 · 15033 阅读 · 10 评论 -
基本特效:饿了么丝滑无缝过度搜索栏的实现
新年好,首先给大家发个红包。[意念红包]请闭上眼睛通过念力领取。这都2017年了,是时候来一波基础特效教程了!如果我不偷懒的话,或许可以成为一个系列都基础教程哦。当然如果成为了一个系列,这个系列就像标题说的一样,是基础特效。所以内容会比较简单,如果你是老司机的话,可以直接飘过了(顺便带我上车!)。本次项目地址:https://github.com/githubwing/WingUE这次依然拿饿了么开原创 2017-01-01 22:42:37 · 4870 阅读 · 4 评论 -
这交互炸了(四) :一分钟让你拥有微信拖拽透明返回PhotoView
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发《交互炸了》或许是一系列高端特效教程, 文中会介绍一些比较炫酷的特效,以及实现的思路。特效实现本身也许不会有太大的难度。难点在于实现的思路。一旦思路被打开,特效将很简单实现。DragPhotoView项目地址https://github.com/githubwing/DragPhotoView大家好,本期是交互炸了第四期~ 本期带原创 2016-12-24 15:47:41 · 4603 阅读 · 9 评论 -
这交互炸了(三):闪屏页是像云一样消失的
《交互炸了》或许是一系列高端特效教程, 文中会介绍一些比较炫酷的特效,以及实现的思路。特效实现本身也许不会有太大的难度。难点在于实现的思路。一旦思路被打开,特效将很简单实现。效果项目地址: https://github.com/githubwing/WowSplash本期是第三期,第二期做的比较草率,好像并不太符合“交互炸了”这一主题,所以以后我会保证质量,而不是为了跟进数量凑数。这次给大家分享的效原创 2016-12-20 09:06:45 · 4640 阅读 · 8 评论 -
插件化技术:宿主访问插件资源
本文同步自wing的地方酒馆最近在搞插件化,16年很火的东西,我又拖了1年才来研究,哈哈哈,正确下一个热门技术能提前一些吧。今天想跟大家讨论一下我在研究插件化过程中,遇到的一个容易混淆的点,那就是资源访问。首先感谢下在插件化道路上的老司机,无私的奉献资料。看过很多插件化的文章,都提到了一大痛点是资源访问的问题。解决方法很通用,都是通过反射使用 AssetManager 的 addAssetPath原创 2017-02-07 12:40:07 · 2789 阅读 · 0 评论 -
插件化之插件Service 新的Hook方法
本文同步自wing的地方酒馆给大家分享一个新的Hook插件Service的方法,与Activity替换类似,可以先在AndroidManifest.xml预留一个service,然后通过intent启动,并且将真正的Service的classname传递过去。可是Service没有涉及到Instrumentation更没有Instrumentation.newService()方法,怎么办呢? 且听原创 2017-02-28 10:07:42 · 3294 阅读 · 6 评论 -
Android逆向从未如此简单
哈,又标题党了。。不过我一定竭尽所能,写一篇最亲民的入门文章。 本文仅供学习交流之用,切勿用于非法用途,读者若运用所学知识,进行非法任何商业目的或者非法牟利,一切责任由操作者自行承担,与本人无关。希望读者仅仅从了解原理,保护自身APP尽量减少危害出发来阅读本文。本文发布自wing的地方酒馆,转载请注明出处。本文以一个最简单的例子,来教给大家Android逆向入门的一些知识。所以首先我们需要准备原创 2017-03-20 09:28:42 · 10977 阅读 · 3 评论 -
Xposed也要热更新
好久没写博客了。这次玩一点不一样的。吐槽&起因相信熟悉Xposed的小伙伴们都知道,每次写完Xposed都要重启啊!有木有!反射错了,写错了名字,改一个log,都要重启啊有木有!重启浪费时间啊有木有!一个字母导致一次重启!要命啊有木有!所以就花时间想了想有木有不重启就立即生效的办法呢。Xposed每次都需要重启才能生效,这里我并不知道具体原因,但是大题可以猜测为烧入系统的代码,所以如果代码有变动,必原创 2017-04-19 12:50:39 · 3841 阅读 · 0 评论 -
Android AOP 实践笔记
本文同步自wing的地方酒馆 最近博客更新越来越慢了,有两方面原因: 1.没啥好写的。 2.应该沉下心好好沉淀自己,积累一些东西,博客写的太频繁有”刷博客“之嫌,还容易浮躁。 浮躁是大忌 ,所以还是沉下心好好学吧。网上已经有了很多类似的文章,这里再写一次是为了自己当做笔记,主要是对APT,AspectJ、Javassist的简单实用进行记录,方便以后翻阅。AOP是什么这里原创 2017-05-13 11:08:49 · 4339 阅读 · 0 评论 -
Kotlin都转正成Android官方语言了,你还不试一下?
想想Android Studio 和Eclipse ,我觉得你还是有必要入手Kotlin了。 站好队很重要。以前的一篇总体概括老文,大家可以看看~爽翻天!告别Java。一起来使用kotlin开发完整客户端另外,欢迎参考我的kotlin项目~https://github.com/githubwing/GankClient-Kotlin附上之前写的教程~让你的代码量减少三倍!使用kotlin开发Andr原创 2017-05-18 08:55:12 · 3101 阅读 · 1 评论 -
记一次View.getContext()遇到的大坑
本文同步自wing的地方酒馆 有的时候不能盲目自信,不然会踩到大坑啊,哎。。还是因为太菜了。事情的经过是这样子滴: 有一个特殊条件,需要把View的context强转为Activity。大概是这样子的:imageView.context as Activity这个时候我是比较确信这个view的context一定是Activity的,所以没有加以下判断。if (imageView.context i原创 2017-06-05 16:58:06 · 4810 阅读 · 2 评论 -
Mac 下打包APK的血泪坑(巨坑,巨巨坑,史前巨坑)
本文同步自wing的地方酒馆又是好久没写博客,这回依然是一个坑把我炸出来了。。前因后果经过起因是这样子的。公司Jenkins是部署在mac上的,更新完一个功能自动打包下来的apk开启以后,总会蹦。 报错 classNotFound. 奇怪的是,自己用ubuntu打包的apk就不会报错。真是奇了大怪了,一开始以为是Jenkins的锅,然后调来调去还是不行,就以为是gradle的锅,各种换版本还是不行。原创 2017-06-30 17:40:58 · 2599 阅读 · 1 评论 -
(Android机)不要随意安装Xposed插件,不然可能遭受财产损失
本文同步自 wing的地方酒馆Xposed框架是个好东西,有各式各样的插件提供给大家把玩,比如改个通知栏颜色啊,抢个红包啊,防个撤回啊啥的。非常实用。不过这些功能的背后,带来的可能是一系列安全隐患,因为Xposed拿到了最高权限,可以hook一切,所以免不了具有双刃剑的兴致。插件作者为了方便大家,开发出了各式各样的插件,这时候往往就会有不法分子趁机而入,来想方设法非法谋取利益。假如他以某个热点功能为原创 2017-07-31 10:51:44 · 7760 阅读 · 0 评论 -
为什么“15。。。”会导致微信ANR?
本文目的在于学习研究Android技术,若有侵犯,联系作者将及时删除。本文同步自wing的地方酒馆首先,微信发生ANR以后,会生成traces.txt文件。通过adb 导出adb pull /data/anr/traces.txt ~/ 其中有这么一段:native: #05 pc 0043a419 /data/dalvik-cache/arm/system@[email protected]原创 2017-09-25 17:31:47 · 14186 阅读 · 19 评论 -
xposed也要热更新-改
本文同步自wing的地方酒馆前言去年很早的时候,就写过一篇关于xposed热更新的demo,其实这次的东西早就想写了,但是一直没(lan)时(de)间(xie),所以拖到现在才开始写。这次我把Xposed热更新写成了一个库,只需要简单两步,即可完成对xposed不重启更改代码的操作。库的链接如下:https://github.com/githubwing/HotXposed...原创 2018-03-31 18:22:55 · 1433 阅读 · 1 评论 -
UETool大战饿了么!
本文同步自wing的地方酒馆 本文仅供学习研究用,如有侵犯,联系作者立即删除。饿了么最近新推出一款开源库叫做UETool,用来帮助设计师,程序员,测试人员来在APP上修改View的各项参数。可谓是十分好用。BUT他只能给自己的项目添加依赖。这样就局限了他的实力。如果可以把它集成到其他App就好了。那么,今天的目标就是: 把UETool注入到饿了么APK内部。先...原创 2018-05-23 11:56:06 · 2693 阅读 · 0 评论 -
这交互炸了:饿了么是怎么让Image变成详情页的
晚上叫外卖,打开饿了么,发现推了一个版本,更新以后,点开了个鸡腿,哇,交互炫炸了。不过还是有槽点。我是无意中才发现可以左右滑动的。这。。。你不告诉我,我怎么知道左右可以滑。https://github.com/githubwing/ZoomHeader直接上图啊:挺有意思的,对吧? 所以我就想模仿一下。下面是我做出来的效果:额。。不过图片不是长条的哈。大概意思一样就行了。接下来将和大家分享这个效果是原创 2016-12-07 08:53:02 · 6899 阅读 · 11 评论 -
这交互炸了(二):爱范儿是如何让详情页缩小为横向列表的
写在前面: 写这段话的时候,已经是夜里3点了。别问我为什么这么拼,一切为了与你分享干货!!!! 不要太感动,擦擦眼泪继续往下看。本开源库链接 ExpandableViewpager一直想写《交互炸了》第二篇,但是好像没什么好的交互。就在昨晚11点,小马同学提出 爱范儿 里面的交互挺炸的。我一下,果然很赞。于是连夜写代码,封装成库,再撸文章。只为在周一早7:00能献给爱技术的你。。《交互炸了》或许是原创 2016-12-12 07:32:38 · 3833 阅读 · 3 评论 -
让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数
本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程本文同步自博主的私人博客wing的地方酒馆上一节说到,kotlin可以省去getter,setter,和findviewbyid,可以看到已经能去除掉不少代码了。本篇再带给大家一篇秘笈,叫做函数扩展。函数扩展是什么东东捏,一般来说,我们扩展一个类,需要去继承来实现,不过这样又要写N多原创 2016-10-13 23:12:10 · 5886 阅读 · 6 评论 -
android 开源图表库MPChart最简单使用方法示例教程Demo--折线图 柱状图
MPChart是android上一款强大的图表开源库,他可以轻松的绘制折线图 柱状图 饼状图等等..由于项目需要用到,于是去百度了一番,发现先有的demo基本上没有讲解,新手看起来会很复杂。于是想写一篇最简单的使用方法。老规矩,先上效果图可以看出来我用MPChart绘制了一个折线图,支持手势缩放 很简单好用!废话不多说,直接开始今天的内容:一、需原创 2015-12-29 18:03:42 · 13331 阅读 · 21 评论 -
Android 自定义View -- 简约的折线图
接上篇 Android 圆形百分比(进度条) 自定义view昨天分手了,不开心,来练练自定义view麻痹自己,毕竟菜鸟只能靠不断练习提高。#程序员不应该有女朋友#我们要实现的是一种只有来看趋势,不需要看具体数值,比较简约的折线图。比如下图这样的:这个时候,一些比较优秀的第三方图表库如:MPChart 就显得比较臃肿了。所以我们需要自定义一个折线图。老规矩,先来看最终的实现效原创 2015-12-30 15:25:40 · 9845 阅读 · 12 评论 -
让你的动画不再生硬 Android插值器Interpolator使用秘籍
有木有厌烦生硬的动画效果,想不想让你的动画变得圆滑且欢迎收看本期的走进科学。。。 停,停,别打了,(。﹏。*) 我错了…… 我们要达到的效果: 先来回顾一下普通动画的用法吧。 * 缩放动画 ScaleAnimation sa = new ScaleAnimation(0.1f,1f,0.1f,1f); sa.setDuration(1000);原创 2016-02-15 10:20:12 · 4318 阅读 · 6 评论 -
Android APP新的“优雅”退出方式--EventBus大显身手
最近在研究eventBus。。很多小伙伴不知道他有什么用。。前篇介绍了EventBus的基本使用这里简单举一个例子,就是退出APP转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50629216相信大家都用过自定义的ActivityManager去管理Activity,退出应用的时候就遍历finish。今天就给大家分享一种“优雅”的方式,原创 2016-02-03 14:13:31 · 2781 阅读 · 1 评论 -
Android进程通信之一:两种序列化方式
2月下旬辞职了,去海南度假到现在,领略了一把三亚风情也算任性和然而这样任性带来的后果就是。。不行了我必须吐槽一句。。没毕业的找工作就这么难嘛!投了57家一家面试机会都没有,好歹给个面试机会啊!!本宝宝不开心!!不知道其他没有毕业的童鞋是不是也是这种遭遇呢,难道真的是寒冬。。 其实还是自己能力不够。。不过别灰心,只要自己足够努力,迟早会有工作的(标标居然建议我先去端盘子????妈蛋)。牢骚完毕,为了更原创 2016-03-04 11:33:13 · 2135 阅读 · 5 评论 -
从浏览器直接转跳到APP具体页面---(魔窗)MagicWindow使用教程
想要实现在网页里一键调到你APP的指定页面吗,好比打开 JD的一个商品的网页,从网页调到APP这个商品的页面。APP服务化, 使用魔窗SDK可以轻松实现!老规矩:效果图奉上 1.注册魔窗账号,创建APP注册地址:www.magicwindow.cn创建你的app 2.嵌入sdk这里只介绍Android Studio的嵌入方法 转载请注明出处:http://blog.csdn.net/wingi原创 2016-07-29 15:49:35 · 8434 阅读 · 3 评论 -
手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
0.0 Android开发现在的变化用一个词来形容就是 :翻天覆地 越来越多的项目使用了MVP + Rxjava+Retrofit +Dagger2 + DataBinding等等东西。。 但是这些东西对于木有用过的同学们开起来还是比较头疼的。 转载请标明出处:http://blog.csdn.net/wingichoy/article/details/51981756 网上有很多介绍他们的原创 2016-07-21 14:35:00 · 20489 阅读 · 15 评论 -
MVPHelper更新日志 --- 新增常规分包模式
MVPHelper是一款可以自动生成MVP接口以及实现类的android studio插件,彻底解放双手!MVPHelper更新版本啦。 由于之前只支持contract模式,不是很符合大众口味 所以特地增加常规分包模式!常规分包的使用方式:只需要在Presenter类内 使用MVPHelper 便是常规模式。Contract分包模式之前做过介绍,由于MVP模式接口类过于多,导致项目臃肿,所以可以原创 2016-08-08 09:06:58 · 3992 阅读 · 0 评论 -
Android开发规范
Android开发规范为了规范开发,减小重构成本,总结编码规范如下,分享给大家,提供个参考命名规范关于MVP对于MVP模式,由于需要实现众多的接口,导致代码臃肿,故决定采取Contract模式,即将接口统一放置在同一类中。e.g.特别注意:为了减少开发成本,请特别注意Contract内部类的命名,如确定此方案,则务必不要命名为NewsModel等形式public interface NewsCo原创 2016-08-09 21:38:44 · 843 阅读 · 1 评论 -
CoordinatorLayout 自定义Behavior并不难,由简到难手把手带你撸三款!
先来看看最终的效果~~本文同步至博主的私人博客wing的地方酒馆嗯。。一个是头像上移的 另一个是模仿UC浏览器的。(PД`q。)你不是说!有三款的吗,怎么只有两款!!!!不要急嘛。。。 说了从简到难,第一款是介绍概念的啦。关于CoordinatorLayout,以及系统预留ScrollBehavior使用网上以及有很多文章,这里就不阐述了,如果你还不了解,你可以查看[译]掌握Coordinator原创 2016-08-24 11:23:02 · 4667 阅读 · 13 评论 -
TextView + Spanned实现图文混排以及图片点击交互
最近要实现图文混排的需求,webview过大,所以想到了用SpannableStringBuilder来实现。 不过参考了大量国内文章,大多数是教你如何实现图文混排,并没有提及图片点击交互的。有翻阅了一些国外文章,说的也不是很详细,于是花费时间鼓捣了一下,最终实现了TextView图文混排,加点击交互的效果,在这里给大家分享下以免后来者在此处浪费过多时间。主要用到的有Spanned Click原创 2016-09-28 09:37:57 · 2356 阅读 · 1 评论 -
Android仅2步实现 滚粗 汉堡导航栏效果~ 全新底部导航交互(滑动隐藏)
本文同步自wing的地方酒馆 布吉岛大家有木有看这一篇文章,再见,汉堡菜单,我们有了新的 Android 交互设计方案本库下载地址:https://github.com/githubwing/ByeBurgerNavigationView里面介绍的新得交互是这样的: 总之总结一下就是: 滚动时隐藏: 我们希望在用户的屏幕上显示尽可能多的内容。因此,我们决定在向下滚动的时候隐藏导航栏,从原创 2016-11-04 15:13:19 · 3543 阅读 · 0 评论 -
5秒让你的View变3D,ThreeDLayout使用和实现
在很久很久以前,写了一篇自定义3d view的博客。但是只是讲了如何实现,实现起来还是比较耗时,所以本着平易近人的心态,把他封装成了一个ViewGroup,只需要在你的view或者布局外面包裹一层ThreeDLayout 即可实现3D效果。本文同步自博主的私人博客wing的地方酒馆ThreeDLayout的项目地址:https://github.com/githubwing/ThreeDLay原创 2016-10-17 08:30:18 · 4306 阅读 · 6 评论 -
炫酷:一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现
其实上周五的时候已经发过一篇文章。基本实现了底部导航栏隐藏的效果。但是使用起来可能不是很实用。因为之前我实现的方式是继承了系统的导航栏,并且提供了响应的隐藏显示方法。这样就变相等于强制使用这个view,体验不是很好。所以抽时间把他优化了一下。因为改动比较大,所以重新写一下他的使用方法,当然作为改动补偿,我会在后半篇文章写出他的实现方式。本文同步自wing的地方酒馆现在,ByeBuger可以轻易地将任原创 2016-11-06 23:46:28 · 3344 阅读 · 7 评论 -
让你的代码减少三倍!使用kotlin开发Android(五) 监听器
本文同步自 博主的私人博客wing的地方酒馆在前面的博客中,有一个栗子,是点击按钮转跳的监听器。 button.setOnClickListener { val user = User("name") user.id = "100" SecondActivity.startActivity(this,user) }可以看到,不用再new一个OnClickL原创 2016-11-01 18:07:05 · 6681 阅读 · 2 评论 -
让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
上一篇我们介绍了缩短五倍的java bean,不知道你在看的时候有没有一种疑问捏?本文同步自博主的私人博客wing的地方酒馆再来回顾一下原创 2016-11-01 18:28:40 · 4909 阅读 · 0 评论 -
让你的代码量减少3倍!使用kotlin开发Android(三) 缩短五倍的Java Bean
回顾一下哈,没想到你已经坚持不懈看到第三篇了,不错哈~坚持就是胜利。 本文同步自博主的私人博客wing的地方酒馆在上一篇文章中,我们介绍了扩展函数,这里对上一篇进行一点小小的补充。还记得textview是如何setText()的吗textView.text = "hello kotlin"不知道你有没有想过,这个.text是如何实现的呢。 哈哈,其实你们大概已经猜到了。就是通过扩展函数实现的pub原创 2016-10-19 23:43:32 · 7537 阅读 · 4 评论 -
为什么豌豆荚可以在应用安装完成界面打广告?
本文同步自wing的地方酒馆2018年过去了,好像今年没写什么文章,主要是过了写文章的年纪,不过有遇到奇闻轶事或者好玩的,还是会记录下来给大家,一起乐呵乐呵。跟Iphone X没有太大的缘分,再屏幕又挂了之后,果断搞了一台迈凯伦定制版Android机,正当嗨时,发现使用豌豆荚安装应用完毕的时候,会弹出推荐相关应用的广告,如下图:在厌烦的背后,也让我有了好奇心,这是怎么做到的? 为什么安装完...原创 2018-12-29 20:01:38 · 1497 阅读 · 2 评论