Android高级开发
文章平均质量分 85
qq_594336505
深入下去
展开
-
Android 上传依赖库给到github提供给他人引用教程(带案例)
文章目录文章内容描述准备阶段案例项目准备配置as同步githubSSH配置删除提交错的repositoryjitpack关联引用测试依赖小结文章内容描述在安卓开发的过程中,我们估计都会无数次的引入别人插件过来使用,最常见的例如okhttp,okgo,glidepicasso等。那么这些插件从何而来呢?作为安卓入门小菜,该如何去上传自己的依赖以供他人使用呢?接下来,请看下面内容,我将会带着大家一步步解决上述问题。准备阶段1.github账户这个不用多赘述了吧,程序员必备2转载 2021-07-16 17:34:26 · 562 阅读 · 0 评论 -
Android BLE蓝牙踩坑总结
简介自从Android-BLE库开源了一段时间以来,越来越多的小伙伴问到了各种各样的关于BLE的奇怪问题,在这里我想跟大家分享一下本人对于Android BLE蓝牙的一些看法和解决方式,避免刚接触的小伙伴再次踩坑。题外话很多人曾问过我这个问题,为什么其他手机都没什么问题,就华为的一些手机老是连接不稳定,经常连接的很慢,而且连接上还经常断开。的确,在这里强调一下华为的一部分手机确实很容易出现这种问题,有时候软件、硬件都搞不定,而且经常性收到客户投诉关于华为手机连接稳定性问题,这个的确没有完全解决的转载 2020-06-28 13:50:38 · 1642 阅读 · 0 评论 -
Android 蓝牙抓包和分析
蓝牙通信其实和http通信有点类似,http通过接口交互抓取数据包也很方便,但是到了蓝牙就没那么方便了,本文就是介绍如何实现蓝牙数据包的抓取。怎么抓包首先设置在手机 开发者选项中,打开启用蓝牙HCI信息收集日志,(找不到开发者选项的手机,请先网上查一下本型号手机打开USB调试的方法,然后在进行操作)。上边的设置完之后,就可以进行抓包了,打开蓝牙设备和手机上和连接设备的APP,这个过程...转载 2020-04-20 09:42:03 · 1623 阅读 · 0 评论 -
Android 从源码分析BLE连接错误分析
项目中涉及低功耗蓝牙手柄的开发,GattCallback onConnectionStateChange接口返回状态status值有多个private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectio...转载 2020-04-16 17:42:54 · 1412 阅读 · 0 评论 -
Android studio使用git切换分支开发的方法(图文教程)
Android studio使用git切换分支开发的方法涉及到团队开发,所以有了分支开发概念,当我们第一次从仓库git下来的时候一般都是master主分支,因为涉及到权限问题,你无法在主分支master上面提交,你只能进行分支开发提交,但是如何切换主分支呢?这里我提供两个方法,一个是git命令切换比较麻烦,第二个是Android studio自定的只能主分支去切换特别方面,刚刚突然发现的。我们...转载 2020-04-16 09:28:37 · 799 阅读 · 0 评论 -
AndroidStudio的GitHub分支操作
1、新建分支:在AS的右下角可以看到有一个Git:master的选项,我们点击它,然后弹出下面的对话框,我们点击New Branch选项就可以新建一个分支,如图我新建了一个名为Branch1的分支。Local Branches下是本地的分支Remote Branches下是远端分支(即git上的分支)2、切换分支:我们新建一个分支(Branch1)后,这时如果我们要切换到m...转载 2020-04-16 09:27:33 · 368 阅读 · 1 评论 -
Android BLE 蓝牙开发入门
初识低功耗蓝牙Android 4.3(API Level 18)开始引入Bluetooth Low Energy(BLE,低功耗蓝牙)的核心功能并提供了相应的 API, 应用程序通过这些 API 扫描蓝牙设备、查询 services、读写设备的 characteristics(属性特征)等操作。Android BLE 使用的蓝牙协议是 GATT 协议,有关该协议的详细内容可以参见蓝牙官方文...原创 2020-03-26 14:54:28 · 401 阅读 · 1 评论 -
Android AndroidX的迁移
Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android.*替换成androidx.*;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。接下来我们来看看使用 AndroidX的扩展库需要哪些配置。1. AndroidX变化1)常用依赖库对比:Old build artifa...转载 2020-03-11 16:44:30 · 199 阅读 · 0 评论 -
AndroidUtilCode 最强大的工具类
一、前言:AndroidUtilCode 是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo 和单元测试,利用其封装好的 APIs 可以大大提高开发效率,如今它主要包括两部分模块,其一是主工具类模块:utilcode,其中的工具类是开发中常用到的;其二是子工具类模块:subutil,它包含的工具类并不是很常用,它的出现是为了防止主工具类的臃肿。二、使用:...转载 2020-01-03 10:57:15 · 1202 阅读 · 0 评论 -
android 通用工具类
组件化common功能介绍一. base 主要是封装activity、view、fragment、presenter 基类1.BaseActivity getPresenter() 获取Presenter对象 getLayoutId();统一初始化 initView();初始化view initLoad(); 加载数据 setListener...转载 2019-12-27 16:18:26 · 429 阅读 · 0 评论 -
Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结
Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结具体用法参照 Retrofit官网Retrofit简介:是一个基于okhttp的网络请求框架通过注解配置网络请求参数图片链接和图片上传支持同步和异步网络请求支持多种数据的解析,提供对Rxjava的支持可拓展性好,高度封装,简洁易用Retrofit使用介绍:使用 Retrofit 的步骤共有7个...转载 2019-11-26 16:50:41 · 316 阅读 · 0 评论 -
Android app优化之导致app 卡顿慢的直接原因
大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。从设计师的角度,他们希望App能够有更多的动画,图片等时尚元素来实现流畅的用户体验。但是Android系统很有可能无法及时完成那些复杂的界面渲染操作。Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须转载 2016-10-22 14:09:24 · 443 阅读 · 0 评论 -
Android性能优化
1.http用gzip压缩,设置连接超时时间和响应超时时间http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。2.listview 性能优化1).复用convertView在getItemView中,判断convertView是否为空,如果不为空,可复用。如果couvertview中的view原创 2016-10-24 22:11:35 · 190 阅读 · 0 评论 -
【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
转载请注明原文地址:http://blog.csdn.NET/mxm691292118/article/details/51020023我把Android重难点和读书笔记都整理在github上:https://github.com/miomin/AndroidDifficulty如果你觉得对你有帮助的话,希望可以star/follow一下哟,我会持续保持更新。一、内存泄露垃转载 2016-10-25 12:41:12 · 246 阅读 · 0 评论 -
Android 沉浸式状态栏攻略 让你的状态栏变色吧
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48649563;本文出自:【张鸿洋的博客】一、概述近期注意到QQ新版使用了沉浸式状态栏,ok,先声明一下:本篇博客效果下图:关于这个状态栏变色到底叫「Immersive Mode」/「Translucent Bars」有兴趣可以去 为什么在国内转载 2016-10-25 19:53:53 · 199 阅读 · 0 评论 -
Android应用开发性能优化完全分析
1 背景其实有点不想写这篇文章的,但是又想写,有些矛盾。不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结、我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只给出啥啥啥不能用,啥啥啥该咋用等,却很少有较为系统的进行真正性能案例分析的,大多数都是嘴上喊喊或者死记住规则而已(当然了,这话我自己听着都有些刺耳,实在不好意思,其实关于性能优化的优质博文网上也还是原创 2016-10-21 11:04:10 · 2307 阅读 · 0 评论 -
SocketIO
Socket长链接简单封装demo 适用于一般的Socket长连接,即时通讯等主要功能:1.定时与服务器心跳保持(时间可以自定义)2.断线自动重连3.连接成功、断开连接、收到消息回调处理4.消息发送状态获取(成功true or 失败false)5.注册广播 【客户端】 【服务端】 源码地址: https://github.com/原创 2016-11-29 10:43:41 · 728 阅读 · 0 评论 -
adb 配置环境变量 与命令解释
版权声明:本文为博主原创文章,未经博主允许不得转载。 adb 在手机外面 的 控制? 手机内部系统命令 就是 linux命令了【分享】解决adb环境变量设置问题2012-02-03 15:29 自SDK2.2版本以后(貌似是),adb.exe就放在了platform-tools文件夹里。因此在设置环境转载 2016-11-01 15:17:09 · 458 阅读 · 0 评论 -
Android EventBus源码解析 带你深入理解EventBus
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:【张鸿洋的博客】上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源码,相信能够让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做转载 2016-11-16 17:00:22 · 225 阅读 · 0 评论 -
xUtils 3.0 post使用详解
github:https://github.com/wyouflf/xUtils3xUtils3简介xUtils 包含了很多实用的android工具.xUtils 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUtils 最低兼容Android 4.0 (api level 14). (Andro转载 2016-11-16 17:06:45 · 321 阅读 · 0 评论 -
Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架。技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实现方案不能满足项目的需求改用Afinal,由于Afinal不再维护而选择了师出同门的Xutils,中间也接触过别的开源框架比如Picasso,对Picasso的第一次印象就不太好,初次接触转载 2016-11-16 17:41:21 · 295 阅读 · 0 评论 -
Android APP日夜间模式切换
说在前面日夜间模式在app上面的体验不必多说,特别是晚上,所以这玩意儿是个好东西,民间版本的夜间模式实现效果都很友好,但是都很复杂。官方在Android Support Library 23.2开始支持了夜间模式切换,所以大家伙儿不妨试试?上代码 DayNightDemo上效果实践1.关于gradle依赖就不多说了,新建项目就会依赖compi原创 2016-11-29 10:58:28 · 1350 阅读 · 0 评论 -
开源项目源码解析-Dagger 源码解析
Dagger 源码解析本文为 Android 开源项目源码解析 中 Dagger 部分项目地址:Dagger,分析的版本:2f9579c,Demo 地址:Dagger Demo分析者:扔物线,校对者:Trinea,校对状态:完成1. 功能介绍1.1 DaggerDagger 是一款 Java 平台的依赖注入库,关于依赖注入,详细见 依赖注入简介。转载 2016-11-29 11:37:34 · 212 阅读 · 0 评论 -
Android性能优化——工具篇
Android性能优化是Android开发中经常遇见的一个问题,接下来将对Android性能优化方面的知识点做一个简单的梳理和总结,将从工具和代码两方面进行梳理。所谓工欲善其事必先利其器,本文首先来看一下Android性能优化有哪些得力的工具。1、TraceViewtraceview是Android SDK中自带的一个工具,可以对应用中方法调用耗时进行统计分析,是Android转载 2016-11-29 18:04:30 · 209 阅读 · 0 评论 -
Android硬件抽象层(HAL)概要介绍和学习计划
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来原创 2016-11-29 18:31:15 · 179 阅读 · 0 评论 -
android动画坐标定义
这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下。在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:public void overridePendi原创 2016-11-02 16:30:58 · 254 阅读 · 0 评论 -
[Android Studio] Android Studio常用快捷键
(会持续更新)这边讲的常用快捷键是指做完Keymap到Eclipse后的,不是纯Android Studio的,这边主要讲下比较常用的一些快捷键:Ctrl+G / Ctrl+Alt+Shift+G:查询变量或者函数或者类在哪里被使用或被调用,后者是前者的复杂表现,可以选择查询范围等。Alt+H:查找功能,全局查找F4:查看类继承关系F2:查看文档说明(函数使用说明)Ctrl+E原创 2016-11-19 11:58:51 · 230 阅读 · 0 评论 -
Android中常用的优秀开源框架
Android开源框架库分类,挑选出最常用,最实用的开源项目,本篇主要介绍的是优秀开源框架库和项目,UI个性化控件会独立介绍。UI个性化控件Index Dependency InjectionsAndroidAnnotationsButter KnifeDaggerNetworkingAndroid Lite HttpAsynchronous Http Clie原创 2016-11-19 12:00:32 · 583 阅读 · 0 评论 -
Andorid 内存溢出与内存泄露,几种常见导致内存泄露的写法
内存泄露,大部分是因为程序的逻辑不严谨,但是又可以跑通顺,然后导致的,内存溢出不会报错,如果不看日志信息是并不知道有泄露的。但是如果一直泄露,然后最终导致的内存溢出,仍然会使程序挂掉。内存溢出大部分是关于图片的请求,然后又没有及时的释放内存,而导致的内存泄露。 下面是几种常见的导致内存泄露的写法。有些是收集的别的地方的,我也是看到才知道自己写错了,分享一下吧1.单例造成的内存泄漏转载 2016-12-02 10:39:17 · 308 阅读 · 0 评论 -
Java基础第十二讲:面向对象基础(六)[内部类]
Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在Android手机开发中经常用到。一、常规内部类所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释。。。)先写一个最简单的内部类的例子,大家感觉一下:1public classO原创 2016-12-02 11:26:56 · 283 阅读 · 0 评论 -
如何定位和解决Andorid的内存溢出问题(大总结)
我们经常在做项目过程中遇到内存溢出的问题,同时面试中关于OOM的问题也常常出现。这里,我将前辈们解决Andorid内存溢出的方法重新整理一番,方便自己以后使用。最后附上参考博文。一、Android的内存机制android应用层是由java开发的,android的davlik虚拟机与jvm也类似,只不过它是基于寄存器的。在java中,通过new为对象分配内存,所有对象转载 2016-12-02 11:27:52 · 218 阅读 · 0 评论 -
打造你的开发神器——介绍Android Studio上的几个插件
这个月因为各种事情在忙,包括赶项目,回老家,还有准备旅游的事,所以应该写不了四篇博客了。今天介绍一下关于Android Studio 的几个好用的插件,都是我在用的,它们或能帮你节省时间,或者让你心情愉悦。还是老话,本文原创,转载请注明在CSDN博客上的出处:http://blog.csdn.NET/maosidiaoxian/article/details/44992655以下所转载 2016-12-02 14:49:56 · 224 阅读 · 0 评论 -
Genymotion的安装与eclipse配置教程
第一部分安装Genymotion和VirtualBox虚拟机 1,Genymotion模拟器可以在官网下载,但是下载前需要注册账号,账号注册后登陆,点击Download。 2,选择第一个with VirtualBox的,这个里面集成了Genytion和VirtualBox虚拟机,安装时genytion自动配置虚拟机。原创 2017-01-14 19:15:03 · 522 阅读 · 0 评论 -
Android源码下载
Android源码下载支持的系统目前只有Ubuntu和Mac OS两种操作系统, 本次以Ubuntu系统为例.官方网站: http://source.android.com/source/downloading.html下载单独项目的源码:https://github.com/android下载Git(版本控制工具). 调出命令行: ctrl + alt + Tsudo原创 2017-01-17 23:02:41 · 182 阅读 · 0 评论 -
Android源码编译
在编译源码之前需要做一些准备操作, 详细步骤如下:1. 安装JDK, google官方要求编译2.3源码需要JDK1.6.1). 下载JDK1.6, 下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html、h原创 2017-01-17 23:03:17 · 183 阅读 · 0 评论 -
Android系统启动流程
当系统引导程序启动Linux内核,内核会加载各种数据结构,和驱动程序,加载完毕之后,Android系统开始启动并加载第一个用户级别的进程:init(system/core/init/Init.c)查看Init.c代码,看main函数int main(int argc, char **argv){ ... //执行Linux指令 mkdir("/dev", 0原创 2017-01-17 23:04:10 · 185 阅读 · 0 评论 -
android直接把打印信息输出到文件
有时候log太多,用ddms看的话,会被冲掉,比较郁闷;有时候需要把log发给别人共享。所以把log直接输出到文件还是比较有用的。做法如下:1。打开cmd2。运行adb shell dmesg > e:/kernellog.txt,就能把内核的打印信息输出到E盘3。运行adb shell dumpstate > e:/all.txt,就能把内核的打印信息,Android的打印信息都输出原创 2017-02-23 14:24:42 · 1014 阅读 · 0 评论 -
MQTT V3.1--我的理解
最近因为工作需要,需要对推送消息了解,因此对MQTT进行了整理,这里更多的是对MQTT英文版的翻译和理解。 MQTT(Message Queue Telemetry Transport),遥测传输协议,提供订阅/发布模式,更为简约、轻量,易于使用,针对受限环境(带宽低、网络延迟高、网络通信不稳定),可以简单概括为物联网打造,官方总结特点如下:1.使用发布/订阅消息模式,提供转载 2017-04-07 18:44:34 · 909 阅读 · 0 评论 -
Android APP必备高级功能,消息推送之MQTT
1. Android端实现消息推送的几种方式轮询:客户端定时向服务器请求数据。伪推送。缺点:费电,费流量。拦截短信消息。服务器需要向客户端发通知时,发送一条短信,客户端收到特定短信之后,先获取信息,然后拦截短信。伪推送。缺点:贵而且短信可能被安全软件拦截。持久连接(Push)方式:客户端和服务器之间建立长久连接。真正的推送。 Google的C2DM(Cloudto Device M原创 2017-04-07 18:48:41 · 518 阅读 · 0 评论 -
Android DiskLruCache完全解析,硬盘缓存的最佳方案
转载请注明出处: http://blog.csdn.net/guolin_blog/article/details/28863651概述记得在很早之前,我有写过一篇文章 Android高效加载大图、多图解决方案,有效避免程序OOM ,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存转载 2017-03-25 00:18:28 · 451 阅读 · 0 评论