关闭

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

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

[置顶] 精仿今日头条

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

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

转载请注明出处:http://blog.csdn.net/chay_chan/article/details/73715607轻量级的底部导航栏  目前市场上的App,几乎都有底部页签导航栏,所以我们在开发的时候经常需要用到这个,虽然github上有不少已经封装好的底部导航栏的工具,例如bottombar,alphaIndicator(仿微信滑动渐变底部控件)等,但是这些控件由于功能太多,而且也没有...
阅读(1087) 评论(0)

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

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

[置顶] Android7.0适配

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

拼音工具类PinyinUtils

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

仿微信通知栏

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RecyclerView介绍RecyclerView是Android5.0添加的一个用于取代ListView的控件,它的灵活性比ListView和GridView更加优秀,ListView和GridView能够做到的,它都可以做到,可以说是ListView和GridView的升级版,但是它的使用又和ListView与GridView有些不同,下面将会对此进行介绍。如何使用RecyclerView先看...
阅读(258) 评论(0)

MaterialDesign学习篇(七),CardView卡片式布局的使用

什么是CardViewCardView顾名思义就是一个卡片型的View,它是在Android5.0引入的一个控件,作为一个容器使用,它本身继承于FrameLayout,可以说它的使用和FrameLayout差不多,也是用来包裹一些子View,只不过它可以添加圆角和阴影的效果,经常在ListView或RecyclerView的item布局中作为容器使用,使内容看起来更加突出和显眼。如何使用CardVi...
阅读(265) 评论(0)

MaterialDesign学习篇(六),调色板Palette的学习

什么是PalettePalette的意思是调色板,它的作用是从图像中提取出突出的颜色,这样我们可以将提取出来的颜色赋给状态栏、Toolbar、标题栏等,使得整个界面看起来色调统一,UI风格更加美观和融洽。看下效果:可以看到,下面的6个条块的颜色是从图片中提取出来的,Palette可以提取的颜色有: VibrantColor(有活力的颜色) LightVibrantColor(有活力的 亮色) Dar...
阅读(190) 评论(0)

MaterialDesign学习篇(五),使用SearchView的正确姿势

介绍大多APP都具有搜索功能,但是大部分都是在标题栏中放置搜索的图标或者是不可输入的EditText,当点击的时候,开启另外一个界面进行搜索,但是网易云音乐在搜索本地音乐的时候,点击搜索按钮,就会出现输入框,点击返回时,又会再次收起,以前认为需要自己根据状态做布局的改变,最后发现原来有一个很方便好用的控件,叫做SearchView,现在开始学习下如何使用SearchView。网易云音乐的效果如下:使...
阅读(523) 评论(0)

MaterialDesign学习篇(四),如何使用TabLayout

什么是TabLayout上图中,我们可以看到,该页面分成三个页签,每个页签对应不同的内容,如果让我们来实现布局的话,我们会很容易地想到布局为一个页签指示器+ViewPager,以前,相信各位大多使用的是GitHub上的开源框架PagerSlidingTabTrip来实现指示器的效果,而如今,Android中也有自带这种指示器的控件TabLayout,TabLayout存在于Android Desig...
阅读(169) 评论(0)
35条 共2页1 2 下一页 尾页
    个人资料
    • 访问:184970次
    • 积分:1165
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:0篇
    • 译文:0篇
    • 评论:149条
    最新评论
    支持和鼓励
    如果觉得我的文章帮助到你的话,请我喝杯红牛提提神吧!

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