android开发
文章平均质量分 64
一叶枫阳
这个作者很懒,什么都没留下…
展开
-
Android 短信发送器
Android中原始系统就带有很多功能 之前讲解过电话发送器的文章,现在我们来说一说短信发送器短信发送器:逻辑比电话拨号器要难一点先是获取手机号码及短信类容然后在获取短信管理器实例短信中一般有字数限制,拆分循环发送获取发送结果java代码及注解如下:package com.example.administrator.foundationdemo;import android.app.Ac原创 2016-11-30 11:37:42 · 481 阅读 · 0 评论 -
Android FileObserver 对SDCard文件或文件夹监控
FileObserver概述:Android系统API提供了FileObserver抽象类(Linux的INotify机制)来监听系统/sdcard中的文件或文件夹,FileObserver类是一个用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于linux的inotify。 FileObserver 是个抽象类,必须继承它才能使用。每个FileObserver对象监听一个单独的文件或原创 2017-03-27 11:03:58 · 1274 阅读 · 0 评论 -
Android RecyclerView与泛型 简单实现多布局
RecyclerView简介:谷歌在support v7中,加入了新的控件——RecyclerView,该控件整合了ListView、GridView的特点,而且最大的优点是可以很方便实现瀑布流效果,多布局控制效果等等,因此RecyclerView受到越来越多的开发者重视。引入RecyclerView由于该控件并不在Andorid SDK中的,而是在support v7包中,因此我们要手动添加该控件原创 2017-04-18 14:08:52 · 1279 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android 调用摄像头与相册
Android图片是必不可少的,在一些大的应用都会有选择图片或者发送刚刚拍摄的图片的功能,现在我们就来实现一个调用摄像头和相册的功能。由于Android版本的更新,Android7.0对于调用摄像头,及相片分享有了一些新的改动了。调用摄像头拍照并显示的步骤:创建储存的File判断API版本分类出来获取Uri启动相机展示图片调用相册并显示的步骤:判断有无权限没有则添加调取相册判断AP原创 2017-04-26 19:49:28 · 1209 阅读 · 1 评论 -
动态获取权限工具类及其使用
当前手机各种系统权限比较多,很多时候需要动态的获取一些系统权限,添加其中,为此在写很多APP的时候需要在APP首个界面检查添加权限,所以自己封装了一个根据类。PermissionUtils类package com.fly.fengtaobao.utils;import android.annotation.TargetApi;import android.app.Activity;import原创 2017-08-04 11:42:18 · 531 阅读 · 0 评论 -
Android greenDao 初识运用
greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。优势:一个精简的库性能最大化内存开销最小化易于使用的 APIs对 Android 进行高度优化使用步骤:引入资源基础准备创建实体创建帮助类创建初始化工具类获取实体使用在Android Studio中导入相关的包 //greenDao是一个将对象映射到SQLite数据库中的轻量且快速的O原创 2017-07-17 19:40:10 · 481 阅读 · 0 评论 -
Android 回炉 阿里巴巴Android开发规范
初衷:开发 Android 更加高效、高质量地进行 App 开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。目的:防患未然,提升质量意识,降低故障率和维护成本; 标准统一,提升协作效率; 追求卓越的工匠精神,打磨精品代码。一、Android 资源文件命名与使用layout 命名方式:模块+下划线+功能 如: module_activity,modu...原创 2018-03-22 16:26:10 · 401 阅读 · 0 评论 -
Android 自定义View--ProgressBar篇(二)
1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...原创 2018-09-28 11:01:14 · 303 阅读 · 0 评论 -
Android 自定义View--ProgressBar篇(三)
1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...原创 2018-09-28 11:06:13 · 1109 阅读 · 0 评论 -
Android 自定义View--手写签名
1、概述1.1 目的 :在我们的日常开发中,有很多Android UI界面上有一些特殊或者特别的控件与界面,是Android自带的控件所不能满足的,需要我们自己定制一些适合的控件来完成。1.2 Android自定义View步骤 :自定义属性;选择和设置构造方法;重写onMeasure()方法;重写onDraw()方法;重写onLayout()方法;重写其他事件的方法(滑动...原创 2018-09-28 11:28:16 · 878 阅读 · 1 评论 -
自我提升之一 从架构的角度看接口,万能接口的实现原理
目的在Android开发阶段,组件之间的通信是不可避免的,组件之间的通信方式也会有很多,它们各有优劣,今天我们主要了解的是,一种万能接口的方式来实现,一个简单而优雅的通讯方式,用少量的代码,来完成组件间的通信解耦。常用的组件间的通讯方式其中最常用就前三种,其中:Intent 只能界面逐级传输Handler 存在内存泄漏, 在activity被销毁时,由于队列还有消息,Handle...原创 2019-04-23 11:56:20 · 418 阅读 · 0 评论 -
自我提升之二 揭秘IOC注入框架,轻松实现布局、属性、事件注入
基础知识讲解什么是DIP、IOC、DI、IOC容器IOC容器的技术剖析IOC中最基本的技术就是“反射(Reflection)”编程我们可以把IOC容器的工作模式看做是工厂模式的升华,可以把IOC容器看作是一个工厂,这个工厂里要生产的对象都在配置文件中给出定义,然后利用编程语言的的反射编程,根据配置文件中给出的类名生成相应的对象。从实现来看,IOC是把以前在工厂方法里写死的对象生成代码,...原创 2019-04-24 17:53:15 · 347 阅读 · 0 评论 -
自我提升之三 代理实现三方框架无缝切换
使用场景随着业务增加、修改等等,使得代码量不断增加,项目中使用的原有三方框架不再满足需求,或者框架过于老旧,有性能更优,更方便使用的框架出现了,需要更换框架,但是一旦切换框架,整个项目中需要调用的地方都需要统一修改。技术实现首先将我需要调用的功能交给代理对用的代理具有实现功能的能力,并且可以有多个实现需要的对象多个框架具有真正实现功能的能力,并对接在代理上这样我们在更换框架时调用...原创 2019-04-29 15:14:37 · 322 阅读 · 0 评论 -
自我提升之四 动态加载第三方应用-插件化详解
什么插件化每一个业务组件都是一个独立的apk,然后通过主app动态加载部署业务组件apk。插件化好处业务组件解耦,能够实现业务组件热插拔更改产品迭代模式,可分为主app以及次业务app改善产品更新过程,可以在不影响用户的情况下实现业务组件更新以及bug修复插件化 “思想”主App被系统 “安装” 调用,这个过程由系统提高,而插件apk并非被系统安装,简而言之,需要将插件ap...原创 2019-05-09 15:09:19 · 1037 阅读 · 0 评论 -
Android 浅谈 ViewPager与Fregment使用
主要类容:ViewPager简单讲解ViewPager最佳实现Fregment基本简介Fregment最佳实现ViewPager与Fregment联合使用ViewPager的简介和作用ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的viewViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。Vi原创 2017-04-11 17:34:11 · 753 阅读 · 0 评论 -
Android 单选队列 RadioGroup与RadioButton详解
RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。RadioGroup和RadioButton的关系: 1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器原创 2017-04-10 18:52:21 · 832 阅读 · 0 评论 -
Android 文件的保存与读取之自带储存空间
Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式SharedPreferences(参数-键值对形式)SQLite数据库(空间2T)Content provider (Android组件-内容提供者)网络(云存储)现在我们主要写的是文件的保存与读取。Android文件储存数据有两个地方:1、Android系统自带的存储空间,2、外原创 2016-12-01 09:43:10 · 555 阅读 · 0 评论 -
Android 文件的保存与读取之SDCard(SD卡)存储
Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T) Content provider (Android组件-内容提供者) 网络(云存储) 现在我们主要写的是文件的保存与读取。Android文件储存数据有两个地方:1、Android系统自带的存储空间原创 2016-12-01 11:48:25 · 2032 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android 简单数据存储之SharedPreferences
Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T)Content provider(Android组件-内容提供者)网络(云存储)现在要说的SharedPreferences,这个储存方式是以键值对形式储存于XML文件中,是比较简单的数据储存方式原创 2016-12-08 17:31:32 · 369 阅读 · 0 评论 -
Android 数据存储之SQLite数据库存储
SQLite本身就是一个独立的第三方库,包含2T的容量,有自己的语法,Android集成了SQlite数据库。SQLite中的数据类型 有五种储存类型 NULL 空 INTEGER 整型 REAL 浮点型 TEXT 文本 BLOB 普通数据Android中获取数据库对象: SQLiteDatebase db= myOpenHelper.getWriteableDa原创 2016-12-13 18:15:33 · 605 阅读 · 0 评论 -
Android 数据存储ContentProvider(类容提供者)之对外提供数据修改
Android钟对数据的存储与访问是很有必要的,在Android中对于数据存储提供了如下几种方法:文件形式 SharedPreferences(参数-键值对形式) SQLite数据库(空间2T) Content provider (Android组件-内容提供者) 网络(云存储)这次写的是Content provider (Android组件-内容提供者)对外共享数据。将一个应用中的数据库通原创 2016-12-16 18:06:44 · 478 阅读 · 0 评论 -
Android ContentProvider(类容提供者)之操作通讯录联系人 添加查询联系人
Android系统一般自带有:电话,邮件,浏览器功能;在电话通讯录及通信记录,均是以ContentProvider的形式向外来应用共享,所以我们要访问和操作通讯录,就需要通过ContentProvider实现。操作通讯录:逻辑 - 首先需要知道Android系统的通讯录ContentProvider清单类容 - 然后获得其唯一标示 - 再然后去获得通讯录ContentProvider的业务原创 2016-12-29 09:17:51 · 2002 阅读 · 0 评论 -
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 · 460 阅读 · 0 评论 -
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 · 1292 阅读 · 0 评论 -
android--Intent和IntentFilter详解
Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信的重要媒介.使用Intent启动组件的优势 1, Intent为组件的启动提供了一致的编程模型. 无论想要启动的组件是Activity, Service, 还是BroadcastReceiver, 都可以使用Intent封装启动的意图. 2, 在某些时候, 应用程序只是原创 2017-02-17 16:57:57 · 443 阅读 · 0 评论 -
网络图片获取原理
现在的手机以离不开网络了,而且网络速度也越来越快,所以网络HTTP协议请求是必不可少的,现在我们 简单讲解一下网路图片的获取,这里只是讲解一下获取原理,并不是造轮子给大家用,最后会推荐几个轮子给大家用。逻辑:首先需要一个图片地址的URL然后需要通过HTTP网络请求协议在线获取图片再将图片转换成一个 Bitmap(这里用Bitmap)在将图片展示到控件上Activity代码:package原创 2017-01-23 11:14:20 · 1165 阅读 · 0 评论 -
Android 获取手机经纬度
在Android开发当中,经常需要用到定位功能,尤其是依赖于地理位置功能的应用,很多人喜欢使用百度地图,高德地图提供的sdk,开放API,但是在仅仅需要经纬度,或者城市,街道地址等信息,并不需要提供预览地图,地图界面的应用中,这时,不需要使用百度地图,高德地图,这样做只会增加apk的体积。其实LocationManager,Geocoder这些Android API给我们提供的这些类就可以满足了。下原创 2017-03-02 16:42:25 · 3145 阅读 · 2 评论 -
Android UI之五种基本布局详解
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局) RelativeLayout(相对布局)FrameLayout(帧布局)TableLayout(表格布局)GridLayout 网格布局AbsoluteLayout(绝对布局)LinearLayout (线性布局) LinearLayout是一种线型的布局原创 2020-07-20 10:17:41 · 3535 阅读 · 1 评论 -
Android Toolber与Menu应用实例(一)
Toolbar:Toolbar是什么?大概说一下它的官方介绍。Toolbar是应用的内容的标准工具栏,可以说是Actionbar的升级版,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的。相比Actionbar Toolbar最明显的一点就是变得很自由,可随处放置,因为它是作为一个ViewGroup来定义使用的,所以单纯使用ActionBar已经稍显过时了,它的一些方法已被原创 2017-04-07 17:59:58 · 427 阅读 · 0 评论 -
Android 路由框架之阿里ARouter详解
一、起源由于业务的增长提高了项目的复杂性,为了更好的适应团队开发,提高开发效率,实行组件化乃大势所趋。组件化可以让我们程序更容易的扩展、更方便的维护,更快捷的同步开发与更简单的单元调试。但是由于各个组件在不同的model甚至在不同的项目中,这样他们之间的通信就成了问题,而 ARouter的出现就是让组件间、模块间是实现完全的独立。并且后台还可以通过路由的机制控制Android界面调用实现...原创 2019-05-23 14:37:25 · 1420 阅读 · 0 评论