自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

潇风寒月

if it can be done,in less than two minutes,do it now!

  • 博客(212)
  • 资源 (23)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android-skin-support 换肤原理全面解析

一.背景二.AppCompatActivity实现三.Android创建View全过程解析四.换肤原理详细解析1.上文预备知识与换肤的关系2.源码一,创建控件全过程3. 源码二,从皮肤包加载皮肤4.简单总结一下原理(本文精髓)一.背景 公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,,于是到Github上找了一个star数比较多的...

2018-07-27 20:32:36 4352 7

原创 从源码角度彻底搞懂String、StringBuffer、StringBuilder

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 从源码角度彻底分析三者底层实现.第一次写源码分析,小记一笔,由于本人才疏学浅,有很多地方可能存在误解和不足,还望大家在评论区批评指正.一、引言学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很虚,作为一名合格的程序员这是不允许的,不能一直当API Player,我们要去了解分析...

2018-04-20 15:38:54 1161 1

原创 理解Java中的HashMap

我的所有原创Android知识体系,已打包整理到GitHub.努力打造一系列适合初中高级工程师能够看得懂的优质文章,欢迎star~1. 存储结构1.1 JDK 1.7内部是以数组的形式存储了Entry对象,而每个Entry对象里面有key和value用来存值.它里面包含了key、value、next、hash四个字段,其中next字段是用来引用下一个Entry的(相同的hash值会被放入同一个链表中).数组中的每个位置都是一条单链表(也可以称之为桶),数组中的元素的表头.解决冲突的方式是拉链法,同一条

2020-09-27 12:38:03 1231 4

原创 反编译实战之修改执行逻辑、加日志和调试

文中相关工具下载链接:https://pan.baidu.com/s/1_bknFSnsYxLUNJ3WTulEFA 提取码:4qo8我的所有原创Android知识体系,已打包整理到GitHub.努力打造一系列适合初中高级工程师能够看得懂的优质文章,欢迎star~1. 反编译基操1.1 借鉴code一般来说,如果只是想借鉴一下友商的code,我们只需要拿到对方的apk,拖到jadx里面就行.jadx能查看apk的xml布局和java代码.jadx有时候会出现部分class反编译失败的情况,这时可.

2020-09-27 09:30:52 958 6

原创 理解Java中的CopyOnWriteArrayList

1. 原理CopyOnWriteArrayList有点像线程安全的ArrayList.其实它的原理简单概括起来就是读写分离.写操作是在一个复制的数组上进行的,读操作在原始数组中进行,读写是分离的.写操作的时候是加锁了的,写操作完成了之后将原来的数组指向新的数组.下面我们简单看下add和get方法是如何实现写读操作的./** * Appends the specified element to the end of this list. * * @param e element to be ap

2020-09-11 19:47:38 26

原创 理解Java中的String

1. String是如何实现的?里面是char数组实现的,最新的版本换成了byte数组(ASCII占1位,中文的话占2位).2. 字符串常量池Java堆内存中一个特殊的存储区域,当创建一个String对象时,假如此字符串值已经存在于常量池中,则不会创建一个新的对象,而是引用已经存在的对象.JDK 1.6及之前字符串常量池是存放在方法区的,JDK 1.7才开始放在堆中.3. 为什么设计成不可变的? final修饰提高String Pool的效率和安全性.多线程安全4. String,Stri

2020-09-11 19:38:52 27

原创 手把手教大家用Transform API和ASM实现一个防快速点击案例

0. 前言我的所有原创Android知识体系,已打包整理到GitHub.努力打造一系列适合初中高级工程师能够看得懂的优质文章,欢迎star~建议阅读本篇文章之前掌握以下相关知识点: Android打包流程+Gradle插件+Java字节码在Android Gradle Plugin中,有一个叫Transform API(从1.5.0版本才有的)的东西.利用这个Transform API咱可以在.class文件转换成dex文件之前,对.class文件进行处理.比如监控,埋点之类的.而对.class

2020-08-23 21:46:44 184

原创 Gradle 插件练习-动态移除权限

1. 开始之前Gradle DSL 文档Gradle基于Groovy,而Groovy基于Java,最后始终得运行在JVM之上.Gradle、build.gradle、settings.gradle之类的最终都会被搞成一个对象,然后才能执行.Gradle 对象: 每次执行gradle taskName时,Gradle都会默认构造出一个Gradle对象.在执行过程中,只有这么一个Gradle对象,一般很少去定制它.Project对象: 一个build.gradle就对应着一个Project对象.Se

2020-08-06 15:20:08 132

原创 Java字节码解读

文章目录1. 字节码2. 字节码结构2.1 魔数2.2 版本号2.3 常量池2.3.1 常量池容量计数器2.3.2 常量解读2.4 访问标志2.5 类索引,父类索引,接口索引2.5.1 类索引2.5.2 父类索引2.5.3 接口计数器2.5.4 接口索引集合2.6 字段表2.6.1 字段表计数器2.6.2 字段表 单个分析2.7 方法表2.7.1 方法表的结构2.7.2 方法表访问标志2.7.3 解读方法2.8 属性表2.8.1 属性类型2.8.2 属性表结构2.8.3 Code属性2.9 附加属性2.10

2020-08-04 00:09:51 263

原创 反编译基础知识
原力计划

!!! 严正声明本文相关反编译技术仅限于技术研究使用,不能用于非法目的,否则后果自负.1. apktool 逆向APK文件的工具官方网站apktool主要用于逆向apk文件,可以将资源解码,并在修改之后可以重新构建它们.它还可以用来重新构建apk.1.1 功能将资源解码成近乎原始的形式(包括resources.arsc, classes.dex, 9.png. 和 XMLs)将解码的资源重新打包成apk/jar组织和处理依赖于框架资源的APKSmali调试执行自动化任务安装教程1

2020-06-29 18:55:47 1767

原创 JNI NDK入门详解
原力计划

Android开发中,由于各种原因(跨平台,高性能,敏感数据处理等),这时候需要用到大家耳熟能详的JNI(Java Native Interface).本篇文章将带大家复习一下JNI中那些常用的知识点.所以本文中没有一些基本环境配置的讲解,如果需要的话,可以先阅读一下我之前写的:JNI初识 HelloWorldJNI Java与C的相互调用与基本操作本文相关demo: https://github.com/xfhy/AllInOne/blob/master/app/src/main/cpp/nat

2020-06-14 00:20:06 474

原创 第一行代码读书笔记 Kotlin Android
原力计划

郭神的Android第一行代码更新了,听到消息的我立马就下单了,拿到书就开始如饥似渴地翻阅着.写的特别棒,学到了很多东西,下面是一些我不太熟悉的东西.开源项目如下:天气应用 https://github.com/xfhy/SunnyWeather请求权限的库 https://github.com/xfhy/PermissionX1. 快速入门Kotlin语言优先使用valob...

2020-05-07 17:34:59 442

原创 一个Android菜鸟入门Flutter 笔记(二)

1. 网络编程与JSON解析默认的HttpClient请求网络get() async { //创建网络调用示例,设置通用请求行为(超时时间) var httpClient = HttpClient(); httpClient.idleTimeout = Duration(seconds: 5); //构造URI,设置user-agent为"Custom-UA" ...

2020-04-30 09:29:18 357

原创 一个Android菜鸟入门Flutter 笔记(一)

1. Dart 基础语法1.1 hello world先来看个hello world,入口依然是main方法.printInteger(int a) { print('Hello world, this is $a.'); }main() { var number = 2019; printInteger(number); }1.2 变量与类型定义变量使用var...

2020-04-30 09:26:03 451

原创 开源一个Flutter版WanAndroid客户端
原力计划

1. 前言项目地址: https://github.com/xfhy/WanAndroid-Flutter前段时间抽了点业余时间学了点Flutter入门,打算写个简单项目练练手.说实话,只有真正动手写东西才能真正切身感受到Flutter的魅力,刚开始学的时候写布局特别难受,各种嵌套,很烦. 后面多写一点儿之后感觉也还是勉强可以接受,各种Widget操作起来也还是容易.Flutter目前我...

2020-04-11 14:24:59 472 4

原创 2019年终总结

今年对我来说发生了很多大事,在技术上自认为也进步不少2019首先是完成了人生的其中2件大事年初的时候首先是阅读了Android Jetpack中三大块(Lifecycle,ViewModel,LiveData)的源码,积累成自己的知识.接着我把Android开发艺术探索又重新阅读了一遍,仔仔细细,细细品味.输出了几篇读书笔记水文.这书籍简直是Android界的圣经,越品越有味道,妙啊,刚...

2019-12-31 12:33:04 220

原创 Gradle系列(四) Gradle插件

1. 前言依赖apply plugin: 'com.android.application'就是依赖了安卓的应用程序插件.然后这个插件里面有android扩展,在官方文档里面有详细描述.但是,有时候不得不自己写一个插件,方便与业务开展.比如我觉得美团的热修复,在每个方法前面插逻辑的话,肯定得插桩,插桩就得自己写插件.方便快捷.Gradle+ASM可以插桩.有兴趣的可以去了解.demo地址: h...

2019-12-22 21:43:05 365

原创 Gradle系列(三) Gradle配置构建和渠道包

1. 前言Android开发,打包的时候可能会打内测包,外侧包,release包等,还有就是有时候还需要打不同渠道的包等.这时它们里面的包名,应用图标,应用名称,某些资源文件,某些java文件等可能不同,如果通过人工去手动改,改了之后再打包的话,那就太麻烦了.现在有了Gradle,它可以帮到我们.ps: 请先搞懂Android DSL的基本配置,比如compileSdkVersion是什么本文...

2019-12-12 21:27:54 211 2

原创 Gradle系列(二) Gradle执行顺序和task

0. 前情提示这是一个gradle系列,尽量从前往后阅读.已完成文章:Gradle系列(一) Groovy 基础1. 什么是gradle维基百科:Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的...

2019-12-01 15:37:43 370 2

原创 Gradle系列(一) Groovy 基础

文章目录1. 前言2. 什么是Groovy3. 简单使用Groovy4. 语法4.1 简单示范4.2 String4.3 闭包4.4 List4.5 Map4.6 IO4.7 类5. 总结1. 前言准备写一个新的系列,专注于Gradle,计划会有如下几篇文章Groovy 基础Gradle 执行顺序和taskGradle 差异化包Gradle 插件2. 什么是Groovy在学习G...

2019-11-30 21:24:36 296

原创 死磕Android_Glide主流程观赏

文章目录1. 前言2. 阅读前准备3. with()4. load()5. into()6. 总结1. 前言首先,LPL赛区S9再度夺冠,让我们恭喜FPX凤凰涅槃!好长好长一段时间没有写博客了,中间经历了很多很多事. 比较庆幸的是找到了一份满意的工作.现在工作空闲之余,又可以写写博客归纳总结了.图片加载可能是现在所有APP都必备的,当然有很多选择,可以自己写一个库用来展示网络图片.也可以用...

2019-11-20 23:10:45 569

原创 2019 Android开发工程师面经

文章目录1. Java基础1.1 什么是乐观锁?1.2 volatile关键字1.3 hashmap 原理,红黑树是什么?1.4 jvm内存分配1.5 String,StringBuffer,StringBuilder 区别2. 安卓基础2.1 安卓各版本大变化(Android 6.0到10.0有哪些大点变化),兼容适配2.2 热修复原理2.3 MVC,MVP,MVVM2.4 组件化的好处2.5 ...

2019-11-07 22:28:30 903 6

原创 死磕Android_Retrofit 原理解析

文章目录1. 基本使用2. 构建Retrofit3. 获取网络请求参数3.1 构建interface实例3.2 ServiceMethod 获取入参4. 请求网络5. 总结Retrofit,一个远近闻名的网络框架,它是由Square公司开源的.Square公司,是我们的老熟人了,很多框架都是他开源的,比如OkHttp,picasso,leakcanary等等.他们公司的很多开源库,几乎已经成为现...

2019-07-27 00:09:37 275

原创 死磕Android_OkHttp3 原理探究

1. 前言Okhttp3 俨然已成为Android的主流网络请求开源框架,它的设计非常巧妙,而且非常灵活,功能强大.它有如下默认特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个Socket连接连接池减少请求延时透明的GZIP压缩减少响应数据的大小缓存响应内容,避免一些完全重复的请求现在的Android项目基本上都是以OkHttp来进行高效的网络请求.当然,在使用的同时...

2019-07-22 22:42:52 934

原创 veridex 使用教程_扫描非法API调用

1. 限制非SDK接口背景从Android P开始,谷歌就开始限制开发者,禁止反射调用系统的一些方法,特别是谷歌给出的黑名单里面的方法.当然,这是为了提升开发者体验和增强APP稳定,更是为了安卓的生态发展.那些官方限制的都是一些非SDK接口,就是一些private的或者是hide的方法或字段,这些因为是没有公开的,可能会在某个版本就消失了.所以不应该访问这些SDK中未列出的方法或字段.2. ...

2019-06-28 22:27:06 1297 2

原创 死磕Android_ContentProvider 启动

先给出一个需要注意的点:ContentProvider的onCreate方法比Application的onCreate方法先执行. 下面会给出为什么.ContentProvider相对于其他组件来说,用得稍微少一些.很少有APP需要向其他应用提供数据,保护自己的数据都来不及呢.当然,除了一些大厂的APP,还有就是手机自带的一些应用(通讯录,短信,相册等等).ContentProvider可以向其...

2019-06-20 22:27:52 333

原创 死磕Android_BroadcastReceiver 工作过程

建议阅读本文之前先阅读死磕Android_Service启动流程分析(一),因为有些内容是一致的,方便融合.早期的时候,广播的特性被各种流氓APP利用.好多好多流氓APP监听比如打电话,收发短信,有些流氓APP甚至直接拦截短信,当然那个年代早已是过去式了,应该是4.4以前吧,反正以前那会儿挺乱的.现在好多了,想要读取短信内容,难上加难,更不能拦截短信.除非是将APP设置成了默认应用,可以收到短信...

2019-06-19 23:06:01 162

原创 死磕Android_Service绑定流程分析(二)

通过startService只能是把Service给启动起来,但是我们无法与其建立联系.通过bindService方式启动Service的话,不仅能启动Service,还能与其建立连接,相互调用比较方便.今天我们来理一理bindService其中的原理.建议先看一下如下两篇文章,我按照顺序来写的,循序渐进.可能有些东西前面已经介绍了,后面就不再赘述,感谢理解.死磕Android_App 启动...

2019-06-15 23:16:14 210

原创 死磕Android_Service启动流程分析(一)

我这里将启动Service流程分为两章来写,startService和bindService分别分析.这篇文章是分析startService过程的源码分析过程.其实startService和Activity的启动很类似,好多地方都差不多.如果之前还没有看过或者不太理解Activity的启动的同学可以看下我的这篇文章: 死磕Android_App 启动过程(含 Activity 启动过程).因为本...

2019-06-13 23:28:23 229

原创 死磕Android_AOSP编译过程

一直有个小心愿,想要了解以及调试Android源码。为了实现这个目标,我经历了种种坎坷,花了一个多周才搞定了。最近家里的电脑一直没怎么关机,一直在给我跑AOSP。公司最近在天天加班,所以一天只有一次试错的机会,出错了只能晚上回来继续解决问题。源码实在是太大了,我这个Android P的代码刚下载下来的时候差不多有60G左右吧。 我说真的,自己成功编译一遍AOSP,真的太舒服了。1. 准备工作...

2019-06-12 23:00:59 507

原创 死磕Android_App 启动过程(含 Activity 启动过程)

文章目录1. 前言1.1 简单介绍一下主要的类2. 应用的启动过程2.1 Launcher简介2.2 启动应用源码分析3. 启动Activity3.1 启动进程3.2 启动主线程3.3 创建Application3.4 创建Activity参考1. 前言Activity是日常开发中最常用的组件,系统给我们做了很多很多的封装,让我们平时用起来特别简单,很顺畅.但是你有没有想过,系统内部是如何启动...

2019-05-29 22:02:54 1802 2

原创 死磕Android_Handler机制你需要知道的一切

文章目录1. 前言2. ThreadLocal工作原理2.1 ThreadLocal demo2.2 ThreadLocal源码理解3. MessageQueue 消息队列3.1 消息队列插入3.2 消息队列查询(next)4. Looper4.1 Looper初始化4.2 Looper#loop5. Handler6. 用一句话总结一下安卓的消息机制7. 消息机制在主线程中的应用7.1 关于主线...

2019-05-19 21:05:10 1882 3

原创 死磕Android_View工作原理你需要知道的一切

平时在开发安卓的过程中,View是我们用的非常非常多的东西.用户所看到的一切关于UI的,都是通过View绘制出来展示到屏幕上的.大多数情况下我们仅仅了解基本控件的使用方法,我们是无法做出非常复杂炫酷的自定义View的.我们需要掌握View的工作原理:测量、布局、绘制流程,掌握了这几个基本的流程我们才能做出更加完美的自定义View.做起来也更加得心应手.当然,View的工作原理,也是大多数面试所必...

2019-05-16 19:47:11 1651 5

原创 无需编译源码,在Android Studio中轻松调试Android源码

本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5cdcc1435188250d8b2df346昨天我才发现, 原来在 Android Studio 中可以很轻松得调试 Android 源码0. 准备工作在 Android Studio 中装一个插件: ADB Idea这个插件的功能, 其实就是利用 adb 实现一些常用的操作:A...

2019-05-16 09:51:07 331 1

原创 Android View事件体系

1.View基础知识getX()/getY()返回的是相对于当前View左上角的x和y坐标,而getRawX()/getRawY()返回的是相对于手机屏幕左上角的x和y坐标.TouchSlop: TouchSlop是系统所能识别出的被认为是滑动的最小距离,这是一个常量,和设备有关.可以通过如下方式获取该常量:ViewConfiguration. get(getContext()).getSc...

2019-05-08 22:34:33 167

原创 看书笔记_View的工作原理

复习刚哥的安卓开发艺术探索,又有了新的感受文章目录初识ViewRoot和DecorViewMeasureSpecView的工作流程自定义View初识ViewRoot和DecorViewmeasure->layout->drawView的三大流程是通过ViewRoot来完成的ActivityThread中创建完Activity后,会将DecorView添加到Window中...

2019-04-28 08:08:22 158

原创 Android IPC机制

本文不扯其他的,就总结Android IPC机制,下面是IPC几乎所有知识的集合.概念进程间通信方式进程与线程区别1. 进程是资源分配的最小单位, 线程是程序执行的最小单位2. 进程有自己独立的地址空间, 线程没有, 线程使用相同的地址空间共享数据3. CPU 切换一个线程比切换进程花费小4. 创建一个线程比进程开销小5. 线程占用的资源要比进程少很多6. 线程之间通...

2019-04-19 22:00:18 151

原创 LiveData 使用及原理解析

本文是基于 androidx.lifecycle:lifecycle-extensions:2.0.0 的源码进行分析LiveData是一个类,将数据放在它里面我们可以观察数据的变化.但是它是江湖上那些妖艳贱货不一样的是它是lifecycle-aware(生命周期感知的).这个特性非常重要,我们可以用它来更新UI的数据,当且仅当activity、fragment或者Service是处于活动状态时...

2019-03-21 22:48:14 2058

原创 ViewModel 使用及原理解析

本文是基于 androidx.lifecycle:lifecycle-extensions:2.0.0 的源码进行分析ViewModel旨在以生命周期意识的方式存储和管理用户界面相关的数据,它可以用来管理Activity和Fragment中的数据.还可以拿来处理Fragment与Fragment之间的通信等等.当Activity或者Fragment创建了关联的ViewModel,那么该Acti...

2019-03-21 00:00:25 10161 1

原创 Lifecycle 使用及原理解析 一文搞懂

Lifecycle是Android Architecture Components的一员,这玩意儿挺方便的,它是能感知Activity和Fragment的生命周期的.一、使用Lifecycle1. 引入Lifecycle我们来看一下如何引入:非androidX项目引入://运行时implementation "android.arch.lifecycle:runtime:1.1.1...

2019-03-13 23:14:55 3513 1

MemoryAnalyzer分析内存泄露工具

MemoryAnalyzer软件可以帮你进行发现或者分析调试的代码等无法进行修复的问题;支持分析内存问题.;支持监控整个 Java 应用程序的状态与行为.还可以进行读取,使应用程序运行时可以支持让Java 运行时环境的生产

2019-12-14

蓝色鼠标指针.zip

蓝色的鼠标指针,特别好看.带来不一样的视觉盛宴,看腻了系统默认自带的鼠标指针,这是你的最佳选择.相信能给你带来不一样的体验

2019-12-14

dex-tools-2.1 工具包.zip

反编译Java class文件和Android dex文件到Java源码的利器。

2019-12-14

Android性能优化最佳实践(png图)

布局优化,绘制优化,内存优化,启动优化,其他,稳定,省电优化,体积优化等

2019-04-21

Android IPC机制总结(png图)

Android IPC机制总结,概念,使用场景,开启多进程模式,运行机制,优缺点以及场景等等

2019-04-21

强制更换windows桌面背景

有些公司控制了每天电脑,不能更换桌面背景,网上的方法试了都没效果..我是用的命令的方式实现的,强制操作,哈哈.下载下来之后用记事本修改一下里面的壁纸路径,双击运行文件就可以修改桌面背景了,非常方便

2018-09-30

手写Retrofit

手写一个简单的Retrofit,附上所有的代码注释与解析,还有测试用例.让你完全理解Retrofit

2018-09-25

TakeColor最新版

目前为止,感觉最好的取色工具。 以往用别的取色工具总是用鼠标点击取色,这个工具直接用alt+c快键捷取色,快捷方便

2018-09-10

Android逆向助手2.2正式版

Android逆向助手2.2正式版,Android逆向助手是一款针对安卓平台的强大逆向辅助软件,功能涵盖apk反编译打包签名;dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等。支持直接将文件拖放到源和目标文件,不用每次都点浏览选择。软件暂时支持WinXP、Win7、Win2003系统。

2018-09-10

删除指定目录下的所有指定名称的文件夹

删除指定目录下的所有指定名称的文件夹,bat批处理.只需要将脚本放到指定文件夹,就可以双击运行就可以删除你想要全部删除的文件夹,递归的删除.需要用notpad打开并修改需要删除的文件名名称

2018-09-10

可以将任意网页转换成markdown的小工具

可以将任意网页转换成markdown的小工具,首先必须要有python环境,然后需要安装tomd库,然后修改需要生成markdown的网页地址,然后通过python运行小工具就可以将网页转markdown咯

2018-09-10

Android进阶之光(刘望舒) pdf 带书签,可复制

Android进阶之光(刘望舒) 的pdf,带书签,可复制, 高清.如果侵权的话,请立刻联系我,我马上删除.谢谢....

2018-09-10

RoomDemo(Kotlin)

Kotlin+LiveData+ViewModel+Room,一个简单的demo,将以上的东西全部结合起来.简单易懂,注释齐全.

2018-08-31

黑马Kotlin视频资料 配套的

黑马Kotlin视频资料 是和黑马视频配套的 ,大家可以在这里下载

2017-11-22

显示U盘隐藏文件.cmd

显示U盘隐藏文件,放到U盘里,双击即可,轻松查看U盘隐藏文件

2017-11-21

CircleImageView.zip

Android平台上,自己写的圆形的ImageView,使用非常方便

2017-11-21

EasyBanner.zip

一个轻松实现简单banner的框架 这里比较方便大家下载

2017-11-21

Kotlin写的RecyclerView

Kotlin最近比较火,我简单学了一下,写了个小demo,RecyclerView的.

2017-08-04

3天学会Kotlin

里面有3天的学习代码,个个知识点都分得非常清晰,注释非常全面,有需要的拿去.拿来Kotlin入门不是问题.

2017-07-30

Android Studio常用设置

这是我的Android Studio的设置,可以下载下来直接导入的,非常方便,共享给大家,不用每次都去设置.

2017-07-30

Android短信备份

本人在Android中学习到备份短信时,需求是这样的,需要将短信备份到xml文件中.踩到一个坑,当XmlSerializer遇到emoji表情时,就会出错,保存xml文件就会失败.最后谷歌找了个别人写的KXmlSerializer(),完美解决这个问题.demo中有完整代码

2017-02-02

经典触屏贪吃蛇

经典的贪吃蛇,已实现触屏

2016-03-23

ktv初级点歌系统

初级ktv点歌系统哦,那天我把ktv的点歌系统终于写出来了,用C写的,感觉很自豪

2015-06-05

为什么我每次都是原创然后却说我不一定是原创,扎心

发表于 2017-11-03 最后回复 2017-11-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除