关闭
当前搜索:

[置顶] Tinker热更新与AndResGuard资源混淆的结合

Tinker的配置   目前公司项目中使用Tinker作为热更新方案,由于Bugly的热更新是基于Tinker,并且提供了补丁的自动下载、合成、应用的功能以及补丁管理后台,所以集成了Bugly的热更新修复,关于Bugly热更新的集成,可以参考我之前发布的一篇文章:   Android热更新初探,Bugly热更新的集成和使用(让你的应用轻松具备热更新能力)   Tinker的配置划分在t...
阅读(124) 评论(0)

[置顶] APP瘦身大法--AndResGuard的使用

什么是AndResGuard  AndResGuard是一个缩小APK大小的工具,它的原理类似Java Proguard,但是只针对资源。它会将原本冗长的资源路径变短,例如将res/drawable/wechat变为r/d/a。为什么要使用AndResGuard  在以往的开发中,我们通常只混淆了代码,资源文件却暴露在他人面前,res文件夹下所有文件名的可读性过强,如图:我们可以看到res文件夹下的...
阅读(185) 评论(0)

[置顶] Android热更新初探,Bugly热更新的集成和使用(让你的应用轻松具备热更新能力)

介绍  在介绍Bugly之前,需要先向大家简单介绍下一些热更新的相关内容。当前市面的热补丁方案有很多,其中比较出名的有阿里的AndFix、美团的Robust以及QZone的超级补丁方案。但它们都存在无法解决的问题,这也是Tinker面世的原因。Tinker目前已运行在微信的数亿Android设备上,相对于其它热更新方案,Tinker相对比较优秀。什么是Tinker  Tinker是微信官方的Andr...
阅读(1126) 评论(1)

[置顶] 精仿今日头条

转载请注明出处:http://blog.csdn.net/Chay_Chan/article/details/75319452 由来篇 当初的梦想   一直都想尝试开发自己还没接触过的某类APP,以前刚入门的时候,就有一个梦想:开发社交类、地图类、新闻类、支付、电商类、直播类、游戏类这些APP。社交类的大二的时候已经开发过一款即时通讯的APP,用的是网易云信的SDK;地图、支付、电商...
阅读(4025) 评论(30)

[置顶] BottomBarLayout——方便快捷地实现底部导航栏

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请注明出处:http://blog.csdn.net/chay_chan/article/details/73715607 轻量级的底部导航栏   目前市场上的App,几乎都有底部页签导航栏,所以我们在开发的时候经常需要用到这个,虽然github上有不少已经封装好的底部导航栏的工具,例如bottombar,alphaIn...
阅读(1630) 评论(0)

[置顶] 数据传输加密——非对称加密算法RSA+对称算法AES(适用于java,android和Web)

数据传输加密  在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私信息时,开发者自然会想到对其进行加密,即使传输过程中被“有心人”截取,也不会将信息泄露。对于加密算法,相信不少开发者也有所耳闻,比如MD5加密,Base64加密,DES加密,AES加密,RSA加密等等。在这里我主要向大家介绍一下我在开发过程中使用到的加密算法,RSA加密算法+AES加密算法。简单地介绍一下这两种算法吧...
阅读(28295) 评论(50)

[置顶] Android7.0适配

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布转载请注明出处:http://blog.csdn.net/chay_chan/article/details/57083383关于Android7.0的适配  最近在软件的维护和更新过程中,了解到一些关于Android7.0的适配,在这里和大家分享一下,据我所知,需要对Notification、拍照、图片的裁剪进行适配一、Notifi...
阅读(31610) 评论(36)

仿微信打开红包旋转动画

介绍  公司的项目中包含IM模块,其中包含红包功能,在做打开红包的时候,觉得打开的按钮若不旋转感觉太过单调,没有乐趣,所以参考微信的红包,打开的时候,“开”字旋转起来。这里主要用的是帧动画,先上效果图:旋转动画的实现  一开始做的时候使用的是AnimationDrawable,定义animation-list,,尽管可以实现如上的结果,但是发现动画并没有特别流畅,有些卡顿,最后在github上找到了...
阅读(371) 评论(0)

开始写博客的第一年--2017年终总结

结束校园生活,开始工作  今年是我开始工作的第一年,前半个学期实习阶段,开发了三个上线的应用,之前在学校的时候,做过不少练手的项目,有时心血来潮,还做了一些自己认为有趣的项目,但是这些项目都没有上线,没有发布到应用市场。在实习阶段开发的项目,运用了在校时学到的知识,自己的编程能力,也有所提高。七月份的时候,我离开了学校,结束了校园生活,同时也寻求新的工作。  之所以更换工作,其中的一个原因是公司主要...
阅读(239) 评论(0)

拼音工具类PinyinUtils

介绍  最近在做好友列表的时候,仿照微信的好友列表,A-Z索引,需要用到好友名字的拼音,之前已经有封装好拼音的工具类,但是最近发现对于一些多音字,姓氏的处理没有做到位,比如姓氏单(shan),由于对于多音字没有做一些处理,仅仅只是取多音字列表的第一个,所以取到的拼音是dan,所以利用空闲的时间对这个拼音的工具类进行了处理。常见姓氏拼音SimpleArrayMap...
阅读(161) 评论(0)

仿微信通知栏

先上效果图 点击通知栏后跳转并传值app下载体验点击下载通知栏图片通知栏的小图标建议使用纯白色,在通知栏显示的时候就是白色,拉下来的时候就会变成灰色的 在图片文件夹中放置不同尺寸的图标24 × 24 (mdpi) 36 × 36 (hdpi) 48 × 48 (xhdpi) 72 × 72 (xxhdpi) 96 × 96 (xxxhdpi)封装好的通知工具类调用弹出通知栏的方法...
阅读(500) 评论(0)

Kotlin入门篇(六),list和map的使用

list的定义和使用fun main(args: Array) { var nameList:MutableList = ArrayList() nameList.add("小明"); nameList.add("小红"); nameList.add("小刚"); for((index,name) in nameList.wit...
阅读(417) 评论(0)

Kotlin入门篇(五),Loop和Range,Kotlin中区间的定义和遍历

Loop和RangeKotlin循环的使用和区间的定义和Java有很大的不同,如:fun main(args: Array) { var nums = 1..100 //[1,100] for (num in nums) { println(num) //打印1-100 } } 其中 1 .. 100 定义了一个整数类型的数组,包含1-1...
阅读(657) 评论(0)

Kotlin入门篇(四),如何使用when语句

when语句的使用Kotlin中when语句的使用,类似与Java中switch使用,如下,演示下when语句的使用://传入颜值分数获取颜值描述 fun faceScoreDescn(score:Int):String{ var descn:String; when(score){ 10 -> descn = "令人惊艳的帅(美)" 9 -> des...
阅读(547) 评论(0)

Kotlin入门篇(三),Kotlin中字符串的对比

字符串比较var str1 = "chaychan" var str2 = "chaychan" println(str1 == str2) 比较两个字符串,如果两个字符串的内容一致,在Java中使用 str1 == str2 时,是比较两个字符串的地址值,很清楚两个字符串的地址不一样,返回false,但是在kotlin中,则不是如此,比较的只是字符串的内容,上述代码返回的是true。字符串的equ...
阅读(1861) 评论(0)

Kotlin入门篇(二),如何声明函数和处理空值

函数的声明函数的形式为: fun 函数名(参数名:参数类型):返回值类型{ //函数体 } 如Kotlin的主函数fun main(args:Array):Unit{ //函数体 } 其中返回值类型Unit代码无返回值,可以省略不写,所以主函数可以写成:fun main(args:Array){ //函数体 } 有返回值函数示例:计算两个...
阅读(622) 评论(0)

Kotlin入门篇(一),基本数据类型介绍、变量和常量的声明

Kotlin的数据类型数字类型数据类型 取值范围Byte (8位) -128 ~ 127Short (16位) -32768 ~ 32767Int (32位) -2147483648 ~ 2147483647Lon...
阅读(404) 评论(0)

Android中如何使用代码打开各种类型的文件

介绍本篇用于介绍Android中如何打开各种类型的文件,如:音乐文件(mp3、wav、ogg等)、视频文件(3gp、mp4等)、图片文件(jpg、png、gif等)、安装包(apk)、文档(txt、doc、ppt、pdf、xls等),已经封装成工具类OpenFileUtils,末尾有源码地址。注意打开音乐、视频、图片、文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声...
阅读(322) 评论(0)

ShareSDKUtils,封装的分享工具类,使用默认的GUI或者自定义分享某个平台

介绍ShareSDKUtils是基于ShareSDK提供的API进行封装的工具类,方便于我们开发时分享的调用,支持使用默认的GUI,也支持自定义界面,点击事件中调用分享到某一个ShareSDK支持的第三方平台,使用ShareSDKUtils需要依赖ShareSDK提供的开发包。使用的方式为:如ShareSDKUtils.getInstance(Context context).useDefaultG...
阅读(172) 评论(0)

Android获取本机各种类型文件列表(音乐、视频、图片、文档等)

介绍本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址。提示获取音乐、视频、图片、文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限即可;如果是6.0或以上,则需要动态申请权限。FileManager的使用FileManager是封装好的用于获取本机各类文件的工具类,使用方式如:FileManager.getInst...
阅读(2676) 评论(0)

TimeUtils,有关时间处理的工具类

介绍一些关于时间处理的方法,在日常开发中时常用到,已经封装好,末尾有源码下载。...
阅读(236) 评论(0)

使用Kotlin开发第一个程序,Hello Kotlin!

介绍本文主要是教如何在Eclipse上安装Kotlin插件并创建Kotlin项目,输出我们学习新语言一定会学习的熟悉的一句英文“Hello World!”,之所以使用Eclipse是因为不想用太过智能的开发工具,要把基本功学扎实,所以这里选择了Eclipse作为开发工具。Eclipse64位免安装压缩包的下载地址,如果你还没有下载Eclipse或者Eclipse版本太低的,那么请下载最新的Eclip...
阅读(917) 评论(0)

内存溢出、内存泄露和性能优化总结

内存溢出内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个Integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最...
阅读(202) 评论(0)

MaterialDesign学习篇(八),掌握RecyclerView和SwipeRefreshLayout

RecyclerView介绍RecyclerView是Android5.0添加的一个用于取代ListView的控件,它的灵活性比ListView和GridView更加优秀,ListView和GridView能够做到的,它都可以做到,可以说是ListView和GridView的升级版,但是它的使用又和ListView与GridView有些不同,下面将会对此进行介绍。如何使用RecyclerView先看...
阅读(404) 评论(0)
39条 共2页1 2 下一页 尾页
    个人资料
    • 访问:200587次
    • 积分:1330
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:0篇
    • 译文:0篇
    • 评论:165条
    支持和鼓励
    如果觉得我的文章帮助到你的话,请我喝杯红牛提提神吧!

    扶我起来,我还可以再写一篇博客^o^