自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android

技术总结与分享

  • 博客(44)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 KotlinAndroid项目实战

学以致用:从实战出发巩固Kotlin知识,本项目使用组件化 + MVP + Retrofit + RxKotlin + Dagger2实现的一款用Kotlin语言编写的影视类应用。##先看效果图####首页模块####音乐模块####电视直播,相声模块###github地址##项目结构目前项目只实现部分功能,持续迭代中。。。...

2019-01-09 16:42:11 2166

原创 Flutter学习及实战

目录1.Dart语法2.Flutter工程目录3.Widget简介4.常用Widget介绍5.实战先看一下最终实现的效果:代码简介Flutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。它没有使用原生控件,而是实现了一个自绘引擎,使用自身的布局、绘制系统。开发Flutter应用使用的是Dart语言。一.Dart语法Dart语言跟Java或者Kotlin...

2019-04-17 10:54:21 529

原创 Android知识整理

详情见GitHub目录知识总结面试知识整理简书专题视频教程资源获取网站开源API三方库收集Android架构工具开源项目知识总结博客笔记收集玩AndroidAndroid Framework层分析Flutter实战面试知识整理Java / Android 笔试、面试 知识整理CommonDevKnowledge面试指南知识点简书专题And...

2019-03-04 17:01:59 223

原创 Android 中使用AOP

目录有什么用App中很多跳转的地方都需要登入校验,无非就是if-else,但是如果这样的判断有很多,我们就得重复很多次,或者有一天需求变动,有可能就会更改多个地方。类似的还有网络判断,权限管理,Log日志的统一管理这样的问题,如果更优雅的实现这些功能呢?App 调试时,如果一眼无法看出错误在哪里,有时会把一些关键信息打印出来,如何快速将方法的入参和出参都打印出来?如何...

2018-09-10 18:25:54 1789

原创 Kotlin语法总结(二)

目录声明变量声明变量使用 var、val关键字,如下: var | val 变量名 [:类型] [= 初始值]  var n : Int = 0var s : String = "变量的定义" // var声明的是变量,val声明的是常量和 Java 的不同之处是,变量类型写在变量名后面了,和 go 语言类似。在Kotlin中每条语句的最后不用...

2018-09-10 18:25:09 326

原创 IDEA中搭建struts2

1.新建项目:file->project 注意这里不选Download,之后我们自己去官网下载2.指定相关文件夹在WEB-INF下建立好classes和lib文件后,指定classes为字节码输出文件夹,lib为jar包存放文件夹 在弹出的对话框选择刚才新建的lib文件夹 3.导入相关的jar包官网地址解压后将所有的jar包导...

2018-09-05 09:39:06 2379 3

转载 你只是“假装”在生活

我是父母的孩子,但终将成为他们牵挂一生相见寥寥的远方。 我是故乡的游子,但终将成了她日渐陌生又终将遗忘的叛徒。自从离开父母身边后,早就习惯了向家里报喜不报忧。   大学毕业后虽然租住在隔断间里吃着泡面,仍然会笑着告诉父母自己过得好极了。   我们随着自己的成长,懂的越来越多,我们见的世面,明白的道理已经远远超过了我们父母,我们就和他们越走越远了。 ...

2018-08-02 09:36:24 241

原创 公众号搜索

前言 平时喜欢在公众号中看一些文章,虽然微信中能直接搜索文章,但是如果想看某个公众号的系列文章,需要关注公众号,这样就会导致关注的公众号越来越多了。偶然发现一个网站可以直接搜索微信公众号(网站地址 )在pc端浏览或者使用手机浏览器阅读都不是很方便,所以就自己打算实现一个搜索公众号的应用,目前实现了公众号的搜索,公众号文章浏览,无需关注。后续还会增加分类,收藏,推荐等。下面先看...

2018-08-02 09:34:25 10036

原创 注解框架Butterknife解析

1.什么是注解 2.注解的分类 3.编译时注解的原理 4.APT 5.创建项目及依赖 6.编码实现 7.总结我们首先了解一下什么是注解以及注解的核心原理,在掌握原理的前提下自己动手实现一个注解框架。通过代码的编写能够对Butterknife底层实现有更加清楚的认识。注解注解在Java文档中定义如下: An annotation is a form of me...

2018-08-02 09:33:37 884

转载 Android开发工具类

 BankCheck:银行卡管理 checkBankCard : 校验银行卡卡号是否合法 getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位 getNameOfBank : 通过银行卡的前六位确定判断银行开户行及卡种AppSharePreferenceMgr:SharePreference缓存数据 &nbs...

2018-08-02 09:32:49 314

原创 EventBus使用详解

目录1.概述2.实战1.基本框架搭建2.新建一个类FirstEvent3.在要接收消息的页面注册EventBus4.发送消息5.接收消息3.线程模型EventBus使用详解(一)——EventBus核心内容一.概述当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。所以为了解决这个问题,Event...

2018-08-02 09:31:51 303

原创 OkHttp的使用

1.Http网络请求基本知识 2.OkHttp的基本使用 3.Call模型一.Http网络请求响应基本知识简介从客户端到服务器端的请求消息及响应,包括在消息首行中,对资源的请求方法、资源的标识符及使用的协议。Http进行请求和响应,即一次消息处理基本的流程: 其中基本分析使用如下: 要的请求方式GET通过请求URI得到资源POST上传数据...

2018-08-02 09:30:58 812

原创 输入法与窗口交互

1.我们在项目中经常会遇到软键盘遮挡页面,输入框或者软键盘自动弹出的场景,在Android中Activity给我们提供了一个属性”windowSoftInputMode“,专治输入法对布局造成一系列的影响,我们只需要在AndroidManifest.xml文件中的activity中设置android:windowSoftInputMode属性可以很好解决上面所说的问题。<activity...

2018-08-02 09:30:05 1012

原创 Android开源库

BaseLibrary 下拉刷新1 下拉刷新2 Adapter 代替Shape的TextView WebView 沉浸式状态栏 搜索框 App版本更新 时间轴1 时间轴2 IM聊天UI组件 筛选组件1 筛选组件2 阿里开源布局组件 图片压缩:鲁班 屏幕适配:autoLayout 蓝牙开发框架 TabLayout 权限申请 换肤框架 Hybrid框架 表格...

2018-08-02 09:28:56 255

原创 SQL总结

目录简介在Android中存储数据有时会用到数据库,Android给我们提供了 一系列的API来操作数据库,非常简单,我们只需要输入对应的SQL语句,甚至不懂SQL语句,只传入对应的参数即可使用。还有一些第三方库,如GreenDao,OrmLite等都极大的简化了对数据库的一些操作。这样虽然我们不需要对数据库有多了解一样能实现功能,但是在面对复杂操作时,对SQL语句的熟练使...

2018-08-01 09:52:51 716

转载 一种 Android 应用内全局获取 Context 实例的装置

App 运行的时候,肯定是存在至少一个 Application 实例的。同时,Context 我们再熟悉不过了,写代码的时候经常需要使用到 Context 实例,它一般是通过构造方法传递进来,通过方法的形式参数传递进来,或者是通过 attach 方法传递进我们需要用到的类。Context 实在是太重要了,以至于我经常恨不得着藏着掖着,随身带着,这样需要用到的时候就能立刻掏出来用用。但是换个角度...

2018-08-01 09:51:45 446

原创 根据代码自动生成UML的插件

大家都知道根据UML来看源码是很方便的,直观的继承树,抽象结构可以很方便的让我们从架构角度看代码。SimpleUML是 一个根据代码自动生成UML的as插件 详情请查看:github地址关注微信公众号获取更多相关资源...

2018-08-01 09:50:56 1579

原创 提高应用的启动速度

启动的两种方式冷启动 当直接从桌面上直接启动,同时后台没有该进程的缓存,这个时候系统就需要重新创建一个新的进程并且分配各种资源。(应用第一次启动或者我们按下home键滑动删除我们的应用后再启动) 热启动 该app后台有该进程的缓存,这时候启动的进程就属于热启动。(热启动不需要重新分配进程,也就是说不会再走Application了,直接进入的就是app的入口A...

2018-08-01 09:50:01 2104

转载 Paging Library

英文原文:https://developer.android.com/topic/libraries/architecture/paging.html#classes paging library 可以让 app 进行大数据查询的时候,在不过多增加设备负担或者等待时间的情况下,让渐进的从数据源加载数据变得更加简单。概览 许多app都要用到大数据的加载,但是...

2018-08-01 09:48:59 305

原创 设置EditText可编辑和不可编辑

项目需求是这样的,如果EditText上面已经被setText()内容,则需要禁止输入,防止它被修改。如果没有显示内容,则将EditText设置为可输入状态。 1.首先想到的是在XML文件中设置android:focusable=”false”,然后在代码中设置此控件属性:editText.setFocusable(true);经过测试验证:如果有多个EditText,都在xml布局中设置a...

2018-08-01 09:33:36 6199

原创 Handler的理解和使用

1.Handler简介 2.Handler的用法 3.Android为啥要设计只能通过Handler机制去更新UI 4.Handler的原理 5.创建一个和线程相关的Handler 6.HandlerThread 7.Android中更新UI的几种方式 8.子线程中真的不能更新UI吗?Handlerhandler是Android给我们提供的用来更新UI的一套机制,也是一...

2018-08-01 09:30:03 1156

原创 Java中的加密算法(二)

1.对称加密算法 1.1对称加密算法-DES在Java中的加密算法(一)中主要讲解了密码中常用的术语,Java安全组成,Base64加密算法以及消息摘要算法。上文中主要讲解的是一些常用的算法,其实还有很多算法,可以自行了解。本文主要讲解的是对称加密算法和非对称的加密算法。对称和非对称指的是加密密钥和解密密钥。如果加密密钥和解密密钥相同,则称为对称,反之为非对称。1.对称加密算法发...

2018-08-01 09:28:52 140

原创 Java中的加密算法(二)

1.对称加密算法 1.1对称加密算法-DES在Java中的加密算法(一)中主要讲解了密码中常用的术语,Java安全组成,Base64加密算法以及消息摘要算法。上文中主要讲解的是一些常用的算法,其实还有很多算法,可以自行了解。本文主要讲解的是对称加密算法和非对称的加密算法。对称和非对称指的是加密密钥和解密密钥。如果加密密钥和解密密钥相同,则称为对称,反之为非对称。1.对称加密算法发...

2018-08-01 09:28:51 506

原创 Java中的加密算法(一)

由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。现在就给大家介绍几种常用的加密算法。 1.密码中常用的术语 2.密码分类 3.OSI和TCP/IP安全体系 4.Java安全组成 5.Base64加密算法 6....

2018-08-01 09:27:51 454

原创 Mosby MVP使用教程

目录1.MVP简介 2.Mosby简介 3.Hello MVP World 4.MvpPresenter的基类 5.LCE视图 6.MvpLceActivity和MvpLceFragment 7.ViewState简介 8.思考一.MVP简介MVP的出发点是关注点分离,将视图和业务逻辑解耦。Model-View-Presenter三个部分可以简单理解为:Mode...

2018-07-31 11:25:14 462

原创 Android图片之svg

1.SVG是什么 2.SVG优点 3.SVG使用 4.获取SVG 5.封装使用 6.SVG动画1.SVG是什么? SVG(Scalable Vector Graphics,可伸缩矢量图形 )是W3C推出的一种开放标准的文本式矢量图形描述语言,它是基于XML、专门为网络而设计的图像格式,SVG是一种采用XML来描述二维图形语言,所以它可以直接打开xml文件来修改和编辑...

2018-07-31 11:24:39 15933 2

原创 Android 视频播放技术

1.HTTP渐进下载流媒体播放 2.RTSP/RTP流媒体协议 3.HTTP Live Streaming协议 4.常用的视频播放框架什么是流媒体技术?简单的说,就是边下载,边播放。 也就是说,客户端在播放前,无需下载整个媒体文件,而是在播放缓存区已下载的媒体数据同时,持续不断的接收媒体流的剩余部分。 更专业一点的定义是: 流媒体技术的主要特点是以“流(Str...

2018-07-31 11:24:02 2005

原创 购物商城

github地址1.首页不同item展示商品,轮播图等 2.商品详情立即购买和加入购物车 3.商品的分类,筛选排序 4.管理所有订单项目截图关注微信公众号获取更多相关资源 ...

2018-07-31 11:23:21 418

原创 Glide高级用法

目录简介Glide是面向Android的快速高效的开源媒体管理和图像加载框架,将媒体解码,内存和磁盘缓存以及资源池融合到一个简单易用的界面中。 Glide支持获取,解码和显示视频静止图像,图像和动画GIF。Glide包括一个灵活的API,允许开发人员几乎可以插入任何网络堆栈。默认情况下,Glide使用基于自定义HttpUrlConnection的堆栈,而且还包括实用程序库...

2018-07-31 11:22:39 2410

原创 Service防杀死

目录简介首先要弄明确一个问题,就是我们平时说的Service防杀死,其实防止是Service所在的进程被杀死,而不是Service这个组件,因为Android 只杀死进程,而不是组件。 当我们说进程优先级的时候是以 activity、service 这样的组件来说的,这些组件的优先级是在进程的级别上,不是组件级别上。只要一个组件的状态发生变化,就会影响进程的优先级;比如:...

2018-07-31 11:21:55 420

原创 Lottie- 让Android动画实现更简单

Lottie是Airbnb开源的一个支持 Android、iOS 以及 ReactNative,利用json文件的方式快速实现动画效果的库。 github地址 Lottie支持从assets目录中直接读取json文件、json字符串的方式、stream流的方式等。我们也可以从网络获取json,这样不用更新APK就可以更换动画了。直接在布局文件中指定动画。将check.json...

2018-07-31 11:21:08 429

转载 Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

作者:腾儿飞 链接:http://www.jianshu.com/p/306482e17080前言开发做得久了,总免不了会遇到各种坑。而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑——来来来,我们慢慢看。入门篇最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可...

2018-07-31 11:20:11 1964 1

原创 开源项目推荐

阅读别人的代码也是提高技能的一种方式,强烈推荐几个开源项目,通过这几个项目的学习能够学习到很多的知识点。高仿知乎日报 项目地址高仿斗鱼TV项目 项目地址精仿今日头条 项目地址高仿掘金项目地址BookReader 项目地址高仿猫眼电影 项目地址...

2018-07-31 11:19:20 558

原创 Android知识点再理解总结

目录1.Service 2.广播 3.如何判断Activity是否在运行 4.自定义View 5.理解Java内存 6.线程安全问题理解 7.布局问题前言本文主要从原理上深入理解Android中常用的一些知识点,我们做开发时可能直接调用相应的API,没有关心一些原理知识。功能也可以照样实现。但理解掌握其原理面对问题时才会更从蓉。一.ServiceS...

2018-07-31 11:18:18 184

原创 是时候换一种架构了

目录1.MVP简介 2.基类抽取 3.项目运用 4.MVP开源框架 之前做项目一直使用的是MVC架构,后来MVP大热,随之越来越多的项目开始使用这个架构,因为对MVC的使用熟悉,快速开发项目,所以一直还是使用MVC。在闲暇时间也开始接触学习MVP,后来在原有项目的新功能和新项目中开始使用MVP,MVP虽然有一些缺点但确实比MVC好很多。现在各种博客中讲解MVP大都以一个小...

2018-07-30 16:15:16 201

原创 面向对象六大设计原则

最新在阅读《Android源码设计模式解析与实战》一书,我觉得写的很清晰,每一个知识点都有示例,通过示例更加容易理解。书中的知识点有些都接触过,有的没有接触过,总之,通过阅读这本书来梳理一下知识点,可能有些东西在项目中一直在使用,然并不能笼统,清理的说明理解它。本文主要是记录阅读这本书的知识点和自己的一些理解。一来整理知识点,二来方便以后查看,快速定位。单一职责原则 :优化...

2018-07-30 16:14:48 790

原创 你真的了解单例吗?

最新在阅读《Android源码设计模式解析与实战》一书,我觉得写的很清晰,每一个知识点都有示例,通过示例更加容易理解。书中的知识点有些都接触过,有的没有接触过,总之,通过阅读这本书来梳理一下知识点,可能有些东西在项目中一直在使用,然并不能笼统,清理的说明理解它。本文主要是记录阅读这本书的知识点和自己的一些理解。一来整理知识点,二来方便以后查看,快速定位。目录1.定义 2....

2018-07-30 16:14:24 201

原创 LayoutInflater源码解析

最新在阅读《Android源码设计模式解析与实战》一书,我觉得写的很清晰,每一个知识点都有示例,通过示例更加容易理解。书中的知识点有些都接触过,有的没有接触过,总之,通过阅读这本书来梳理一下知识点,可能有些东西在项目中一直在使用,然并不能笼统,清理的说明理解它。本文主要是记录阅读这本书的知识点和自己的一些理解。一来整理知识点,二来方便以后查看,快速定位。LayoutInflater...

2018-07-30 16:13:56 134

原创 JNI开发(基于AS高低版本说明)

更新了Android Studio版本之后,在按照之前的方式搭建JNI的开发环境,发现不断的报错,通过查看日志发现,android.useDeprecatedNdk不再支持了让,使用CMake or ndk-build。本文介绍了在低版本和高版本上分别怎么实现,以及总结在搭建过程中遇到的错误和解决办法。Android Studio 2.2版本以下1.首先通过SDKManager...

2018-07-30 16:13:25 585

原创 FFmpeg编译For Android(Mac)

目录1.编译FFmpeg 2.集成到Android Studio 3.遇到的问题最近项目中用到了视频播放,由于Android平台硬编解码存在兼容性问题,对不支持3k视频编解码的手机采用软编码,因为用到了ffmpeg。虽然github上有很多好的视频相关的库,但是开源项目的功能都很多,我们只是用到一部分功能而已,毕竟不是专门做视频播放器。使用开源的话,会引入不必要的资源。本文主要...

2018-07-30 16:12:54 275

深入浅出MySQL:数据库开发、优化与管理维护(第2版)

深入浅出MySQL:数据库开发、优化与管理维护(第2版)。。。。。

2018-08-15

音视频开发进阶指南:基于Android与iOS平台的实践

音视频开发进阶指南:基于Android与iOS平台的实践。带目录。

2018-08-09

STM32寄存器详解

通过实验来讲解STM32的寄存器的使用。

2015-06-05

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

TA关注的人

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