自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 Android UI之五种基本布局详解

Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局) RelativeLayout(相对布局)FrameLayout(帧布局)TableLayout(表格布局)GridLayout 网格布局AbsoluteLayout(绝对布局)LinearLayout (线性布局) LinearLayout是一种线型的布局

2020-07-20 10:17:41 3533 1

原创 Android 路由框架之阿里ARouter详解

一、起源由于业务的增长提高了项目的复杂性,为了更好的适应团队开发,提高开发效率,实行组件化乃大势所趋。组件化可以让我们程序更容易的扩展、更方便的维护,更快捷的同步开发与更简单的单元调试。但是由于各个组件在不同的model甚至在不同的项目中,这样他们之间的通信就成了问题,而 ARouter的出现就是让组件间、模块间是实现完全的独立。并且后台还可以通过路由的机制控制Android界面调用实现...

2019-05-23 14:37:25 1418

原创 自我提升之四 动态加载第三方应用-插件化详解

什么插件化每一个业务组件都是一个独立的apk,然后通过主app动态加载部署业务组件apk。插件化好处业务组件解耦,能够实现业务组件热插拔更改产品迭代模式,可分为主app以及次业务app改善产品更新过程,可以在不影响用户的情况下实现业务组件更新以及bug修复插件化 “思想”主App被系统 “安装” 调用,这个过程由系统提高,而插件apk并非被系统安装,简而言之,需要将插件ap...

2019-05-09 15:09:19 1034

原创 自我提升之三 代理实现三方框架无缝切换

使用场景随着业务增加、修改等等,使得代码量不断增加,项目中使用的原有三方框架不再满足需求,或者框架过于老旧,有性能更优,更方便使用的框架出现了,需要更换框架,但是一旦切换框架,整个项目中需要调用的地方都需要统一修改。技术实现首先将我需要调用的功能交给代理对用的代理具有实现功能的能力,并且可以有多个实现需要的对象多个框架具有真正实现功能的能力,并对接在代理上这样我们在更换框架时调用...

2019-04-29 15:14:37 321

原创 自我提升之二 揭秘IOC注入框架,轻松实现布局、属性、事件注入

基础知识讲解什么是DIP、IOC、DI、IOC容器IOC容器的技术剖析IOC中最基本的技术就是“反射(Reflection)”编程我们可以把IOC容器的工作模式看做是工厂模式的升华,可以把IOC容器看作是一个工厂,这个工厂里要生产的对象都在配置文件中给出定义,然后利用编程语言的的反射编程,根据配置文件中给出的类名生成相应的对象。从实现来看,IOC是把以前在工厂方法里写死的对象生成代码,...

2019-04-24 17:53:15 345

原创 自我提升之一 从架构的角度看接口,万能接口的实现原理

目的在Android开发阶段,组件之间的通信是不可避免的,组件之间的通信方式也会有很多,它们各有优劣,今天我们主要了解的是,一种万能接口的方式来实现,一个简单而优雅的通讯方式,用少量的代码,来完成组件间的通信解耦。常用的组件间的通讯方式其中最常用就前三种,其中:Intent 只能界面逐级传输Handler 存在内存泄漏, 在activity被销毁时,由于队列还有消息,Handle...

2019-04-23 11:56:20 417

原创 Android 自定义View--手写签名

1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...

2018-09-28 11:28:16 876 1

原创 Android 自定义View--ProgressBar篇(三)

1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...

2018-09-28 11:06:13 1108

原创 Android 自定义View--ProgressBar篇(二)

1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...

2018-09-28 11:01:14 302

原创 Android 自定义View--ProgressBar篇(一)

1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...

2018-09-20 10:39:29 598

原创 Android 回炉 阿里巴巴Android开发规范

初衷:开发 Android 更加高效、高质量地进行 App 开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。目的:防患未然,提升质量意识,降低故障率和维护成本; 标准统一,提升协作效率; 追求卓越的工匠精神,打磨精品代码。一、Android 资源文件命名与使用layout 命名方式:模块+下划线+功能 如: module_activity,modu...

2018-03-22 16:26:10 400

原创 Go 基础讲解笔记

这是自己学习GO语言基础语法及应用时,的一些笔记与心得,觉得是基础中需要注意,并且熟悉的内容。Go程序的一般结构:Go程序是通过 package 来组织的(与Python类似)只有 package 名为 main 的包可以包含 main 函数一个程序 有且仅有 一个main包部分关键字意义:package 声明包 (必须在非注释的第一行)import 导入其他包(在要

2017-08-31 15:52:15 352

原创 MySQL 初识 创建与删除

为了更好地学习MySQL,还是使用命令行,进行了学习开启MySQL服务 :net start mysqlroot 连接默认没有密码 可以为其设置密码 :mysqladmin -u root password "new_password";建立连接 :cmd> mysql -u root -pEnter password:*******注意:以下代码是MySQL内部命令,结尾必须以“;”结尾才会

2017-08-24 15:49:09 274

原创 MySQL 初识 安装与下载

入门安装 官网下载 建议使用解压安装 w7及以前,装5.6及以下,高于5.6易出错 MySql官网解压后现在解压目录 新建my.ini配置文件,内容如下:*****************配置文件开始*********************[mysqld]# set basedir to your installation pathbasedir=E:\mysql# set datadir t

2017-08-23 17:22:54 390

原创 动态获取权限工具类及其使用

当前手机各种系统权限比较多,很多时候需要动态的获取一些系统权限,添加其中,为此在写很多APP的时候需要在APP首个界面检查添加权限,所以自己封装了一个根据类。PermissionUtils类package com.fly.fengtaobao.utils;import android.annotation.TargetApi;import android.app.Activity;import

2017-08-04 11:42:18 531

原创 Android greenDao 初识运用

greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。优势:一个精简的库性能最大化内存开销最小化易于使用的 APIs对 Android 进行高度优化使用步骤:引入资源基础准备创建实体创建帮助类创建初始化工具类获取实体使用在Android Studio中导入相关的包 //greenDao是一个将对象映射到SQLite数据库中的轻量且快速的O

2017-07-17 19:40:10 481

原创 GO 从入门开始放弃

GO现在比较流行的游戏等服务器开发语言。配置beego 插件:下载安装go 环境 因为go环境安装时,自动生成的目录隐藏比较深,自己配置一个更方便操作和书写。 用 go env 查询环境变量配置 如下: 配置如图选项到环境变量(如果没有该项着新建一个覆盖)然后在该目录下引入 beego插件$ go get github.com/astaxie/beego$ go get github.com

2017-05-22 17:43:46 4271

原创 git ssh key创建和github使用

github的SSH配置如下: 一 、 设置Git的user name和email: gitconfig–globaluser.name“xuhaiyan” git config –global user.name “xuhaiyan” git config –global user.email “[email protected]”二、生成SSH密钥过程: 1.查看是否已

2017-05-01 16:28:38 551

原创 Android 调用摄像头与相册

Android图片是必不可少的,在一些大的应用都会有选择图片或者发送刚刚拍摄的图片的功能,现在我们就来实现一个调用摄像头和相册的功能。由于Android版本的更新,Android7.0对于调用摄像头,及相片分享有了一些新的改动了。调用摄像头拍照并显示的步骤:创建储存的File判断API版本分类出来获取Uri启动相机展示图片调用相册并显示的步骤:判断有无权限没有则添加调取相册判断AP

2017-04-26 19:49:28 1209 1

原创 Android RecyclerView与泛型 简单实现多布局

RecyclerView简介:谷歌在support v7中,加入了新的控件——RecyclerView,该控件整合了ListView、GridView的特点,而且最大的优点是可以很方便实现瀑布流效果,多布局控制效果等等,因此RecyclerView受到越来越多的开发者重视。引入RecyclerView由于该控件并不在Andorid SDK中的,而是在support v7包中,因此我们要手动添加该控件

2017-04-18 14:08:52 1278

原创 Android 浅谈 ViewPager与Fregment使用

主要类容:ViewPager简单讲解ViewPager最佳实现Fregment基本简介Fregment最佳实现ViewPager与Fregment联合使用ViewPager的简介和作用ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的viewViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。Vi

2017-04-11 17:34:11 752

原创 Android 单选队列 RadioGroup与RadioButton详解

RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。RadioGroup和RadioButton的关系: 1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2017-04-10 18:52:21 832

原创 Android Toolber与Menu应用实例(一)

Toolbar:Toolbar是什么?大概说一下它的官方介绍。Toolbar是应用的内容的标准工具栏,可以说是Actionbar的升级版,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的。相比Actionbar Toolbar最明显的一点就是变得很自由,可随处放置,因为它是作为一个ViewGroup来定义使用的,所以单纯使用ActionBar已经稍显过时了,它的一些方法已被

2017-04-07 17:59:58 425

原创 HTML基础 之 表格 与 列表

HTML的表格概述: 表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。表格和边框属性 如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。

2017-03-27 13:04:32 549

原创 Android FileObserver 对SDCard文件或文件夹监控

FileObserver概述:Android系统API提供了FileObserver抽象类(Linux的INotify机制)来监听系统/sdcard中的文件或文件夹,FileObserver类是一个用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于linux的inotify。 FileObserver 是个抽象类,必须继承它才能使用。每个FileObserver对象监听一个单独的文件或

2017-03-27 11:03:58 1272

原创 Android 获取手机经纬度

在Android开发当中,经常需要用到定位功能,尤其是依赖于地理位置功能的应用,很多人喜欢使用百度地图,高德地图提供的sdk,开放API,但是在仅仅需要经纬度,或者城市,街道地址等信息,并不需要提供预览地图,地图界面的应用中,这时,不需要使用百度地图,高德地图,这样做只会增加apk的体积。其实LocationManager,Geocoder这些Android API给我们提供的这些类就可以满足了。下

2017-03-02 16:42:25 3144 2

原创 HTML基础 之 img 图片

图像标签(<img>)和源属性(Src)在 HTML 中,图像由 <img> 标签定义。 <img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。要在页面上显示图像,你需要使用源属性(src)。src 指 “source”。源属性的值是图像的 URL 地址。URL 指存储图像的位置。如果名为 “boat.gif” 的图像位于 www.w3school.com.cn 的 images

2017-02-24 17:58:20 855

原创 HTML基础之初识HTML

什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 标签 HTML 标记标签通常被称为

2017-02-22 17:35:25 552 2

原创 Android Animations动画详解

一、Animation 动画属性动画相关的属性:SET属性 名称 属性 备注 android:shareInterpolator 是否共享插入器 共享时,四个子节点都用一个插入器 android:interpolator 指定一个动画的插入器 使用系统资源 android:fillEnabled 当设置为true时,fillAfter和fillBefr

2017-02-20 15:34:53 500

原创 android--Intent和IntentFilter详解

Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信的重要媒介.使用Intent启动组件的优势 1, Intent为组件的启动提供了一致的编程模型. 无论想要启动的组件是Activity, Service, 还是BroadcastReceiver, 都可以使用Intent封装启动的意图. 2, 在某些时候, 应用程序只是

2017-02-17 16:57:57 442

原创 网络图片获取原理

现在的手机以离不开网络了,而且网络速度也越来越快,所以网络HTTP协议请求是必不可少的,现在我们 简单讲解一下网路图片的获取,这里只是讲解一下获取原理,并不是造轮子给大家用,最后会推荐几个轮子给大家用。逻辑:首先需要一个图片地址的URL然后需要通过HTTP网络请求协议在线获取图片再将图片转换成一个 Bitmap(这里用Bitmap)在将图片展示到控件上Activity代码:package

2017-01-23 11:14:20 1159

原创 MultiDex与热修复实现原理(二)MultiDex基本原理及解析

当一个app的功能越来越复杂,代码量越来越多,可以遇到下面两种情况:生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT方法数量过多,编译时出错,提示:Conversion to Dalvik format failed:Unable to execute dex: method IDnot in [0, 0xffff]: 65536原因:Android2.

2017-01-12 13:03:32 1291

原创 MultiDex与热修复实现原理(一)ClassLoader原理

一、Android的ClassLoader体系DexClassLoader的构造函数public class DexClassLoader extends BaseDexClassLoader { // dexPath:是加载apk/dex/jar的路径 // optimizedDirectory:是dex的输出路径(因为加载apk/jar的时候会解压除dex文件,这个路径就是保存d

2017-01-12 11:04:32 458

原创 Android ContentProvider(类容提供者)之操作通讯录联系人 添加查询联系人

Android系统一般自带有:电话,邮件,浏览器功能;在电话通讯录及通信记录,均是以ContentProvider的形式向外来应用共享,所以我们要访问和操作通讯录,就需要通过ContentProvider实现。操作通讯录:逻辑 - 首先需要知道Android系统的通讯录ContentProvider清单类容 - 然后获得其唯一标示 - 再然后去获得通讯录ContentProvider的业务

2016-12-29 09:17:51 1996

原创 Android 数据存储ContentProvider(类容提供者)之对外提供数据修改

Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T) Content provider (Android组件-内容提供者) 网络(云存储)这次写的是Content provider (Android组件-内容提供者)对外共享数据。将一个应用中的数据库通

2016-12-16 18:06:44 477

原创 Android 数据存储之SQLite数据库存储

SQLite本身就是一个独立的第三方库,包含2T的容量,有自己的语法,Android集成了SQlite数据库。SQLite中的数据类型 有五种储存类型 NULL 空 INTEGER 整型 REAL 浮点型 TEXT 文本 BLOB 普通数据Android中获取数据库对象: SQLiteDatebase db= myOpenHelper.getWriteableDa

2016-12-13 18:15:33 602

原创 Android 简单数据存储之SharedPreferences

Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T)Content provider(Android组件-内容提供者)网络(云存储)现在要说的SharedPreferences,这个储存方式是以键值对形式储存于XML文件中,是比较简单的数据储存方式

2016-12-08 17:31:32 369

原创 Android XML文件解析之pull解析器

在Android中XML解析是一种很重要的储存文本信息的的方式XML解析有三中方式:SAX 解析器DOM 解析器pull 解析器在这里我主要写的是PULL解析器解析XML,在Android中集成了pull解析器,所以从侧面凸显比较推荐使用pull解析器。我将解析文件存放于assets目录下 解析XML内容:<?xml version="1.0" encoding="utf-8"?><pe

2016-12-07 15:58:58 486

原创 Android 文件的保存与读取之SDCard(SD卡)存储

Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T) Content provider (Android组件-内容提供者) 网络(云存储) 现在我们主要写的是文件的保存与读取。Android文件储存数据有两个地方:1、Android系统自带的存储空间

2016-12-01 11:48:25 2026

原创 Android 文件的保存与读取之自带储存空间

Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式SharedPreferences(参数-键值对形式)SQLite数据库(空间2T)Content provider (Android组件-内容提供者)网络(云存储)现在我们主要写的是文件的保存与读取。Android文件储存数据有两个地方:1、Android系统自带的存储空间,2、外

2016-12-01 09:43:10 554

空空如也

空空如也

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

TA关注的人

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