自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

加油,向未来!

一点一滴一积累,一步一印一痕沙

  • 博客(23)
  • 资源 (5)

原创 Android笔记之从源码解析Handler中ThreadLocal的作用以及IntentService解析

前言相信很多人在面试过程中都被问到过Android中Handler机制的原理,这其中可能还会让我们说说Handler中ThreadLocal的作用。下面,我们就从源码的角度,来逐步剖析Handler-ThreadLocal的关系。ThreadLocal API说明先来看下官方API对ThreadLocal初步说明:This class provides thread-local vari...

2019-11-19 16:40:36 115

原创 Android 开发过程中遇到的棘手的问题笔记(SP引起的ANR,4G网络请求慢,app启动白屏)(持续更新)

前言经历过面试的人应该都知道,一般我们在进行技术面试的时候,面试官都会问你,在项目开发中遇到过什么棘手的问题?最后是怎么解决的?本人之前就问到过好几次,可是由于准备不足,一时之间想不起来所遇到过的“棘手”问题,所以好几次都没能很好地回答这个问题。因此,在这里记录下本人在接下来工作中遇到的棘手问题以及最后解决方案。1. 通过SharePerference初始化数据(数据量比较大)时,造成ANR(...

2019-09-09 17:56:43 372

原创 Android 利用apktool工具实现apk二次打包功能的java小程序

前言前面博文写了如何通过apktool工具实现apk二次打包,二次打包是实现了,但终究感觉一行一行的输入命令也是比较麻烦,当然我们可以使用bat脚本来简化操作。不过本人对脚本代码不太熟悉,对bat脚本的批处理和文件操作等也不太擅长,所以最终决定还是回归java,用我最擅长java代码来实现apk的二次打包,修改apk文件功能。小程序(不是微信小程序)编写要点小程序实现二次打包目的是给apk...

2019-06-18 17:20:43 1187

原创 Android小知识:apktool二次打包

工具:apktool 下载地址:https://ibotpeaches.github.io/Apktool/install/原料:app-debug.apk拆包执行命令apktool d app-debug.apk打包执行命令apktool b app-debug (app-debug是前面通过拆包生成的目录名,也可以改成其他的)此时,生成的apk并不能安装,因为还没有给...

2019-06-14 12:37:48 697 1

原创 kotlin学习笔记之复合函数f(g(x))

与高阶函数类似,复合函数的参数也是一个函数,不同的是,复合函数通过中缀表达式定义的函数,最终实现同参数及返回值的各种函数之间的复合运算。举个例子,实现复合函数m(x) = f(g(x))的运算函数//首先自定义函数f(x)和g(x)//g(x)val add5 = {i:Int->i+5}//f(x)val multiplyBy2 = {i:Int -> i*2}//首...

2019-06-11 15:13:35 363

原创 kotlin学习笔记之闭包

闭包,函数式编程福音先了解函数式编程(Functional Programming)概念:它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。函数式编程语言最重要的基础是λ运算(Lambda表达式),λ运算的函数可以接受函数当做参数或返回值。对比函数式编程与面向对象编程面向对象编程(Object-oriented programming,缩写OOP)面向对象编程...

2019-06-11 15:12:36 897

原创 kotlin学习笔记之尾递归优化(tailrec)

尾递归递归:adj recursive;尾递归:Tail Recursion递归的一种特殊形式调用自身后无其他操作tailrec关键字提示编译器尾递归优化示例代码data class ListNode(val value:Int,var next:ListNode? = null)fun findListNode(head:ListNode?,value:Int):List...

2019-06-05 13:58:24 410

原创 Kotlin学习笔记之面向对象

面向对象接口定义与java一样,使用interface表示,示例代码:与java一样,kotlin定义类时要遵循单继承多实现的原则(即只能继承一个父类,可以实现多个接口)kotlin中定义的类和方法默认都是final的,不可重写,如果要实现重写,需将对应方法类声明为open示例代码:package com.zhusp.kotlinuseopen class Person{ //可...

2019-06-04 17:06:36 34

原创 kotlin学习笔记之Lambda表达式

Lamabda表达式:匿名函数定义函数:Lambda表达式,也叫匿名函数传统kotlin写法表示一个函数fun sum(arg1:Int,arg2:Int):Int{ return arg1 + arg2}也可以如下写法fun sum2(arg1: Int,arg2: Int) = arg1 + arg2用Lambda表达式编码val sum3 = {arg1:Int...

2019-06-04 16:42:56 50

原创 kotlin学习之高阶函数及常用基本高阶函数

基本概念 f(g(x))与普通函数不一样,高阶函数是传入或者返回函数的函数,例如,我们可能用到的forEach就是一个高阶函数示例代码:fun main() { val myOperate = AdvanceOperate() //定义实例 val operate1 = myOperate.multipleOperate(2,3){ //高阶函数调用 ...

2019-06-04 16:16:15 703

原创 Java中ArrayList与LinkList比较

简介简单对Java中ArrayList和LinkList进行比较,本文没有代码,纯粹通过自己的学习纯理论地记录下自己对这两个我们在java常用的List的理解进行总结首先看着两者的数据结构图示:比较详细的比较认识:增删改查效率比较增:ArrayList为数组结构,数组长度是固定的,在添加的数据长度未超过当前数组的长度是,它的效率是非常高的,但当要增加的数据量超过数组长度时,ArrayL...

2019-04-08 11:39:14 2408

原创 Android笔记只Activity与Fragment之间通信

前言正文之前先小唠几句,距离上次写博客已经快小半年了,之前的博客都是以记录为学习笔记为主,而这小半年没有产出,是需要反思的。反思的结果就是,这小半年我没多少进步,无论是在RN还是安卓原生开发的知识技术方面,都没有实质上的突破,以至于没有新的值得我记录为博客的干货。 俗话说,学海无涯,不进则退。因为这大半年基本上都从事着RN的相关开发,以至于把很多安卓原生的知识技能都落下了,之前关注的大佬博客...

2018-07-04 12:49:48 11944

原创 ReactNative学习笔记之调用原生模块(进阶)之Callback、Promise使用

前言前文ReactNative学习笔记——调用原生模块(Android)简单说了下ReactNative调用Android原生模块的基本用法,下面讲解下调用原生模块经常会用到的Callback和Promise。 很多时候我们可能不仅仅是调用Native的方法,还要通过原生方法获取它的返回值,但是,前面说过,要导出一个方法给JavaScript使用,Java方法的返回类型必须为void,Rea...

2018-02-28 16:35:00 4853

原创 ReactNative学习笔记——调用原生模块(Android)

以crazyboycode/react-native-splash-screen为例,给一个RN应用添加一个应用启动屏,以掩盖app启动白屏的问题。说明:该模块应用场景是在app启动时,由于RN渲染需要时间,因手机性能的问题可能会导致应用2到3秒的白屏时间。因此为了解决该问题,我们给RN应用添加一个Native启动屏,以掩盖这种因启动白屏而引起的不友好的用户交互。准备工作开...

2018-01-25 16:58:05 666

原创 React Native学习笔记(二):集成到现有原生应用

前言 正如React Native中文网上所说,如果你正准备从头开始制作一个新的应用,那么React Native会是个非常好的选择。但如果你只想给现有的原生应用中添加一两个视图或是业务流程,React Native也同样不在话下。只需简单几步,你就可以给原有应用加上新的基于React Native的特性、画面和视图等。 其相关步骤中文网上已经讲的很清楚,不过有时候我就是看到有什么不顺眼的东西,

2017-12-27 17:25:01 816 1

原创 React Native学习笔记(一)——配置开发环境

前言 来到新公司,要求除了会Android外,最好也能会RN。刚来公司的时候,我问一个跟我同时期来的同事问他是做那方面的,他说他做RN。RN?我顿时一脸懵逼,RN是什么鬼?他跟我简单介绍了一下,RN是近几年才流行起来的移动端APP开发技术,因为是基于JS文件的开发,因此它不仅适用Android平台,IOS平台同样适用。也就是说,一套RN代码,可以在Android和iOS两个操作系统运行使用,它的优

2017-12-24 20:30:05 275 2

原创 2016年终总结——碌碌无为无所事事的一年

越长大越觉得时间过的真快,浑浑噩噩的日子,机械式的生活,眨眼之间突然发现2016即将逝去。每每此时即是我们回望过去,展望未来的日子。回首我的2016,八个字总结:碌碌无为,无所事事。是的,自从去年11月份跳槽到新公司(即现在公司)后,就没做过几个项目。所以我对于自己2016年的感觉,是失败的、失望的。当然原因也是多方面的。首先要检讨自身的原因,如朋友所说,我是一个比较安于现状,想法较少的人

2016-12-30 15:28:55 1653 2

原创 Android笔记之greenDao3.0学习总结

前言本博文旨在记录greenDao3.0的基本用法以及基于greenDao3.0的数据库的升级策略。本文基于Window10下Android Studio环境操作使用。废话不多说,直入正题。关于greenDao3.0greenDao是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图来之其官网的图

2016-12-19 16:21:33 1478 2

原创 Android笔记之自定义View—超简易下拉式抽屉控件

前言最近项目里要做一个下拉式筛选菜单的效果,有点像爱奇艺的筛选菜单。这种效果在很多app中也可以看到,并不稀奇。于是我在百度上找啊找,看有没有现成的代码直接down下来用。找了一圈下来,结果不是效果不行,就是得要花软妹币才能下载源码。得,不找了,还是自己写一个吧。先看看效果图(抱歉,开启模拟器后电脑卡成狗,所以录制的gif图片也一卡一卡的):效果图就是这样,非常简单。原来想过用Po

2016-12-07 15:06:43 4394 1

原创 菜鸟级的Git与GitHub使用总结

菜鸟级的Git与github学习经验

2016-12-01 14:58:30 7877

转载 Android内存泄漏分析

注:本文转载自QQ空间终端开发团队Android内存泄漏分析心得前言 对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针;对于Java来说,就是new出来的Object 放在Heap上无法被GC回收;本文通过QQ和Qzone中内存泄漏实例来讲android中内存泄漏分析解法和编写代码应注意的事项。Java 中的内存分配静态储存区:编译时就分配好,在程序整个运行期间都

2016-11-22 15:49:57 286

原创 Android笔记自定义View之制作表盘界面

前言      最近我跟自定义View杠上了,甚至说有点上瘾到走火入魔了。身为菜鸟的我自然要查阅大量的资料,学习大神们的代码,这不,前两天正好在郭神在微信公众号里推送一片自定义控件的文章——一步步实现精美的钟表界面。正适合我这种菜鸟来学习,闲着没事,我就差不多依葫芦画瓢也写了一个自定义表盘View,现在纯粹最为笔记记录下来。先展示下效果图:下面进入正题自定义表盘属性

2016-11-02 13:50:21 2815 3

原创 Android笔记之自定义View——绘制圆环比例展示图

前言:          本人菜鸟程序员一枚,大学本是电子专业,也是学渣一枚。从两年前来到到上海,阴差阳错,从事起了android开发工作,从零开始自学从学习java到android已两年有余。受鸿洋弟弟大神的激励后启发(本人鸿神郭神粉),第一次尝试这在CSDN写一篇简单的博文(文章中如有错误,欢迎指正)。      废话少说,言归正传。最近去支援一个项目,其中分配到我的任务种其中一个页面

2016-10-27 11:30:14 6035 9

greenDao3.0数据库基本使用及升级

greenDao3.0数据库基本使用及数据库升级方法

2016-12-20

TortoiseGit-2.3.0-64bit中文语言包

TortoiseGit-2.3.0-64bit中文语言包

2016-12-01

TortoiseGit-2.3.0-64bit

TortoiseGit-2.3.0-64bit

2016-12-01

Git-2.10.2-64版本

Git 2016年11月3号发布版

2016-11-30

AndroidDemo

目前包含一些简单的自定义控件如圆环比例图、折线图、ViewPager指示器、自定义简易表盘

2016-11-30

空空如也

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