自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android 基础之View中常见的API

1、简述该篇文章记录本人学习和使用Android过程中的关于View的各种我所不熟悉但是很有用的api,都会包含一些小的案例。2. xml布局中重要api2.1 clip家族属性2.1. clipToPadding用途与用法:常用于RecyclerView中(默认为true),设置是否要让该view的父布局去裁剪掉该view的paddinng值。案例分析:如下图所示假若R...

2018-07-14 16:45:15 1730

原创 Android应用基本配置

本人作为一个初级开发者,记录一下项目开发时的基本配置,以此来规范日后的开发在res目录下新建 anim,raw,color文件夹如图:2. 做适配必须的各种dpi的文件,切换到project去进行添加3. 接着做dimens 适配4. 文件目录结构Mac os下彻底清除代理配置:解决新的项目中 connect refused 的问题切换到命...

2020-08-05 17:55:51 456

原创 Android Gradle基础知识储备

本篇博客是本人在学习Gradle过程中记录的笔记,目的是记录一些重点内容,方便以后的查阅以及学习Gradle是什么Gradle是一个开源的项目自动化构建工具,建立在Apache Ant和Apache Maven概念的基础之上,并引入了基于Groovy的特定领域语言,而避免了使用xml形式管理构建脚本,利于管理维护。支持编译、测试、打包、依赖管理和发布核心要点:所有的操作都是通过任务完成的...

2020-07-10 21:52:07 448

原创 Android 系统启动分析

简述本文简要记录下学习Android系统启动的一些细节,方便自己记忆和宏观的认识

2020-05-27 10:37:24 409

原创 RecyclerView刷新机制

1、简介本文将简述RecyclerView刷新问题,也是借这篇文章能够对Rv的刷新有一个具体的认知。来探究我们日常出现的闪烁问题究竟是因何而起的。2、分析观察者抽象观察者 => AdapterDataObserver//RecyclerView.javapublic abstract static class AdapterDataObserver { public AdapterDataObserver() { } public void onChanged()

2020-05-26 09:04:55 1010

原创 RecyclerView复用回收机制

Recycler组成RecyclerView的缓存主要委托给了Recycler,先了解下组成public final class Recycler { final ArrayList<RecyclerView.ViewHolder> mAttachedScrap = new ArrayList(); ArrayList<RecyclerView.ViewHolder> mChangedScrap = null; final ArrayList<Rec

2020-05-20 15:32:34 453

原创 RecyclerView绘制流程

本次RecyclerView绘制流程分析是基于源码28版本的,RecyclerView继承ViewGroup,作为自定义View无疑会经过onMeasure()、onLayout()、onDraw()流程,所以可以从这里进行入手。这里我们假想RecyclerView.LayoutManager 为LinearLayoutManager,具体实现可到该manager进行查看onMeasure()protected void onMeasure(int widthSpec, int heightSpec)

2020-05-15 10:24:59 278

原创 Android 权限相关

简述本文简要记录运行时权限注意点1、检查是否具有某种权限// 如检查是否具有相机权限....ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)// Packmanager 常量// 授权public static final int PERMISSION_GRANTED = 0;// 未授权pu...

2020-02-25 14:23:44 221

原创 Android 多线程

多线程笔记线程基础 线程基本使用api 线程池基础 ReentrantLock使用 阻塞分类 死锁定义实现以及解决方式 生产者消费者问题 AsyncTask源码分析

2019-12-12 11:11:25 447

原创 Android 尽量杜绝使用ScrollView嵌套RecyclerView

前言最近有看到这么一篇文章反对《阿里巴巴Android开发手册》中NestedScrollView嵌套RecyclerView的用法 深有体悟,有经验的开发工程师都是杜绝使用此类嵌套布局。老实说自己项目中就经常这么干一言不合就嵌套,但是我只是考虑了滑动体验然而却忽略了复用以及加载性能问题,细思极恐。后面就将观察现象然后通过绘制流程去分析此原因现象测试Adapter如下,我们就在onBindV...

2019-11-19 11:25:38 810

原创 Android 启动优化总结

冷启动耗时最多,也是整个应用启动时间的衡量标准。点击应用图标,系统为该应用创建进程热启动速度最快,应用由后台切换到前台白屏产生原因点击app图标,创建应用进程然后是application初始化的过程中耗时,导致白屏。这里我们应优先考虑解决application耗时问题。public class MyApplication extends Application { publi...

2019-11-05 09:47:05 620

原创 Android Binder机制

记录一则AIDL案例以下将通过一个案例具体去介绍通过AIDL来实现跨进程进行通信的方式。具备知识点:bindService启动服务,aidl文件类型 数据类型等 <service android:name=".ipc.service.RemoteService" android:process=":remote" ...

2019-10-31 14:08:36 162

原创 Android Handler消息机制

我们来分析下源码中的这个方法,然后在代码中进行实践 public void dispatchMessage(Message msg) { if (msg.callback != null) { handleCallback(msg); } else { if (mCallback != null) { ...

2019-10-31 09:38:08 237

原创 Android Dialog技巧储备

概述本文将详细记录dialog使用技巧具体案例原始布局dialog_content.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@...

2019-09-29 09:34:28 194

原创 Android popupwindow技术储备

简述本文将简述popupWindow的使用技巧基础用法效果pop_below_head.xml<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=...

2019-09-11 17:05:02 589

原创 Android 自定义toast显示效果

在日常开发中想必我们经常与吐司toast打交道,之前也一直是使用的系统级的toast,但我们可以发现一些知名应用中其吐司还是与系统级别的有些差异的,主要体现在背景层面,最近测试华为小米机发现系统toast背景色竟然不一样,所以决定尝试自定义其背景。后面我们直接讲代码,主要是修改源码中加载的布局,即可完成我们自定义效果。知识准备系统toast基本使用系统toast源码分析与应用在编码之前推荐...

2019-09-05 16:49:26 441

原创 解决Manifest.xml黄色警告的问题

解决方案在application中增加如下标签:tools:ignore="GoogleAppIndexingWarning拓展参考文章Manifest提示GoogleAppIndexingWarning

2019-08-30 16:03:51 1294

原创 Android EditText相关技巧总结与记录

简述最近在做邮件功能,涉及到写信,包含多个输入框,期望实现的是点击输入框实现光标的切换,点击空白区域能够收起软键盘并且使EditText失去光标焦点的功能。也是做了诸多尝试,下面进行应用层面的介绍。实现过程初始状态及代码块 <TextView android:layout_marginTop="20dp" android:text="发送人:"...

2019-07-23 10:30:56 476

原创 Android混合开发经验积累

概述Android中可以通过WebView与H5进行交互。然而对于初学者而言里面还有诸多技巧需要去务实。也是通过本文来具体的记录 Android原生通过webView与JS进行交互的案例。运行效果技术说明腾讯X5WebView集成教程Android调用JSmWebView.evaluateJavascript() 4.4以后loadUrl() 刷新 4.4以前JS调用Androi...

2019-04-23 20:01:34 612 2

原创 Android Imageview使用技巧详解

实现图像的半透明 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!-- 原始图--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;ImageView android:layout_marginTop=&amp;amp;amp;amp;amp;amp;a

2019-04-23 19:59:36 2639

原创 Vue log工具类使用

1.简介该文记录了vue中日志工具的使用,全局使用,生产环境隐藏log日志2.使用/** * 描述:日志帮助工具 * @ClassName log * @Author apple * @Date 2019-04-20 21:12 * @Version 1.0 */// 应用发布时为true,开发阶段为false// 很轻松的取消日志let isBuild = false;...

2019-04-20 21:43:53 5598

原创 Vue 全局引入bus实现兄弟组件通信

简述本文是一篇记录vue使用技巧的简短文章,该文记录的是vue中兄弟组件间通信的方式,之前经历了第一个vue app项目,也是想积淀一下,之前是在项目中是在需要的vue中对bus进行引入,对于这类常见的工具最好提倡是全局引入进行一定的封装。局部使用案例bus.jsimport Vue from 'vue'export const Bus = new Vue();接收总线通知imp...

2019-04-20 21:01:23 2208

原创 Android 仿闲鱼底部菜单导航效果

写在前面最近工作比较忙,也是好久没碰Andrid了,但依旧是喜欢原生,所以也是利用了平时的时间多去学习积累下效果以及基础,也是希望自己能够坚持下来,努力提升自己的代码实力。不忘初心,砥砺前行,大家加油。切入正题本文将模仿咸鱼底部菜单构建一下页面,并实现了弹出的动画。弹出动画是参考的开源中国,学习的过程中发现透明的活动以及动画掌握的还是不太好,也是在实践中发现了不足,并补习了一下。效果展示...

2019-04-18 23:56:25 5338 1

原创 前端 文档流定位详解

常规文档流默认定位为static熟悉absolute定位绿色新增定位为absolute可以发现这里的定位是相当于浏览器的 .three{ position: absolute; top: 0; height: 100px; width: 100px; background-color: #4B946...

2019-03-14 19:37:41 559

原创 Android 性能优化之图片加载

简介本文将记录图片加载有关优化以及开源框架的学习和使用,图片加载这一块也是常使用的老难重点了,有必要把这块好好的搞清除,后面可以坦然面对这些问题。图片存储优化方式加载一张图片耗费的内存资源 = 宽度 * 高度 * 每个像素占用的内存大小从这里可以统筹使用: 尺寸压缩,质量压缩,内存重用Bitmap的内存管理在Andorid3.0以前,像素数据的支持保存在本地内存地址,bitmap本身...

2019-03-09 21:03:36 902

原创 ES6笔记

let 变量/** * es6 中 let定义的变量无变量提升 */function letTest() { console.log(foo); var foo = 10; // undefined console.log(foo2); let foo2 = 11; // ReferenceError}/** * es6 中l...

2019-03-02 22:28:10 198

原创 JS高级笔记2

布尔类型校验function whichBoolean() { testBool(undefined); // false testBool(null); // false testBool(""); // false}function testBool(value) { if (! value) { console.log(value+" is ...

2019-02-28 11:27:40 195

原创 JS高级笔记1(对象_原型_封装)

目录1.对象2.原型对象学习3. 原型链4.函数封装5. this学习6.闭包1.对象 创建对象的方式 // 1. 对象字面量 // 只能创建一次对象,复用性较差,代码冗余度高 let obj = { name:'zxl', age:18 }; obj['sex'] = '男'...

2019-02-25 11:01:58 414

原创 前端开发——容器布局垂直居中

本案例记录的是前端中容器居中的案例margin:0 auto 已经可以实现子元素水平居中于父容器中。方式1:定位子绝父相 <div style="height: 100px;width:200px;background: lime;position: relative"> <div id="center_method_one"> ...

2019-02-21 09:45:56 652

原创 Android AOP编程学习与实践

AOP概念:把我们某个方面的功能提出来与一批对象进行隔离,这样与一批对象之间的耦合度就降低了,就只需要对某个功能进行编程。例如android中的登陆权限问题,只需要在特定的方法加入我们的登陆切点,在不改变业务逻辑的情况下可以变更我们判断登录 的业务逻辑,这样就达到了松耦合的目的,在编译成.class时注入.如果说,OOP如果是把问题划分到单个模块的话,那么AOP就是把涉及到众多模块的某一类...

2019-01-28 17:08:05 1157

原创 Android 滑动以及动画移动的基础解析

本文将探究getScrollX(),getScrollY(),getX(),getY(), getLeft(),getRight(),getTranslationX(),getTranslationY()的关系案例简述:放置了一个水平的scrollview,内放置了长为1200px的线性布局,线性布局内放置的背景视图。1. 静态测量:ViewTreeObserver viewTre...

2019-01-24 15:16:49 706

原创 android 测量基础--测量控件宽高以及位置的技巧

1. 获得屏幕的宽高 private void getWindowHeight() { int heightPixels = getResources().getDisplayMetrics().heightPixels; int height = getWindowManager().getDefaultDisplay().getHeight(); ...

2019-01-24 13:12:00 995 2

原创 Android RecyclerView 使用DiffUtils实现算法优化刷新含动画效果

本文将通过实际的案例来展示DifUtils的使用技巧,我也是第一次使用DifUtils这个算法工具经验比较浅,也是含有诸多问题的,也希望通过本人的案例学习对初学者起到一定的帮助借鉴的作用。应用场景: 当集增加删除与修改于同一时间时,那么这时候我想一般的做法是使用notifyDataSetChanged() [重新刷一遍很业余]或者对对应position的item进行修改,notifyItemC...

2019-01-22 18:58:14 1792

原创 ExpandableListView使用技巧与总结

本文将介绍系统控件ExpandableListView的简要使用,主要学习了系统提供的二级菜单列表的实现方式。学习了指示展示效果。效果1: 如下,修改了指示器的排列位置,列表左侧,现在修改为列表右侧。主要是设置android:layoutDirection 设置排列方式即能达到特定的效果。 &lt;ExpandableListView android:lay...

2019-01-20 14:07:54 638

原创 Android Recyclerview多布局使用技巧

该文章主要记录,Rv中的多布局使用。目录1. 继承自RecyclerView.Adapter实现聊天多布局SparseArray的学习及使用2. 使用BRVAH Adapter帮助类实现多布局1. 继承自RecyclerView.Adapter实现聊天多布局实现该类多布局,主要是重写了getItemViewType,然后才是根据不同的数据类型去返回各自相对应的Item子...

2019-01-17 20:46:36 984

原创 Android 广播使用及案例

1. 动态广播实现监听网络状况   普通广播也是如此操作 /** * onCreate() 注册 */ private void doRegisterNetBc(){ this.mReceiver = new NetworkConnectChangedReceiver(); IntentFilter intentFilte...

2019-01-16 20:31:48 1417

原创 萤石云视频EZOpenSDK的集成与使用

本文将讲述萤石sdk的集成与使用,并将案例的demo导入到我们自己的项目中使用。考虑到编译的速度问题,我使用的是jar包进行引入的方式。我已经把依赖和资源文件打包成了module,使用的时候也只需要把module引入即可。然后只需要将ys文件夹复制进来即能够引入demo样例。 主项目中注册活动,并配置Applicationpublic class MyApp extends ...

2018-12-24 16:29:13 6200 2

原创 Android asset资源的获取与处理

记录下assetManager的简要使用。1.列出assets目录下所有文件 private void showAssetList(){ AssetManager assetManager = getResources().getAssets(); try { String[] lists = assetManager.lis...

2018-12-24 11:02:48 3595 1

原创 Android 活动小结

1、简介该文记录了本人在活动开发中遇到的诸多问题。现在开发中主要遇到的是,开发上的活动栈处理,以及一些主题设置相关的总结处理。2、启动模式活动栈主要分析下:SingleTop 和 singleTask 这2种启动模式[当然一共有四种启动模式:还包括singleInstance以及标准启动 共计四种]singleTop: 栈顶复用模式,如果新的Activity已经位于任务栈的栈顶...

2018-12-23 17:36:46 277

原创 Android 服务使用概述

本文将探索并回忆服务相关的一些使用技巧。众所周知服务分为通过startService启动的在后台长期运行且与该活动脱离关系的服务 以及通过bindService绑定的服务,下面将通过案例来具体介绍2者服务。服务是Android中实现程序后台运行的解决方案,所有的代码都是运行在主线程中的。先贴一张活动的生命周期图:(该图来自Android开发中服务Service的基本使用(总结))...

2018-12-23 12:13:35 746

Java、Android笔记面试知识整理

比较不错的Java和Android面试资源,可以轻松应对一般的面试,为自己铺设一个好的前程

2018-08-14

MySQL必知必会

本pdf为基础入门的MySql书籍,是初学者必备的后端数据库开发的sql语句工具书。

2018-08-14

空空如也

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

TA关注的人

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