工作笔记
文章平均质量分 86
图你怀中安稳
人生的境界在于不断的提升自我素养,探索未知的世界
展开
-
中介者模式下的Android底部导航栏
Mediator Pattern: 中介者模式, 用一个中介对象来封装一系列的其他对象的交互,使各个对象不需要显示的相互调用,使其耦合松散,降低多个对象类之间的通信复杂性。详细流程以后补充, 有点忙,代码上传了 代码非常好理解,从字面意思中就能明白什么是中介者模式,那么对于Android底部导航栏有很多种实现方式,为什么还需要自己去设计呢?并且是使用中介者模式,典型的简单功能复杂化,是这样吗?答案肯定是不。从入行程序开发开始,就或听或写各种开发模式,开发模式能提升开发效率,扩展性、易维护等等,.原创 2020-06-16 16:48:13 · 198 阅读 · 0 评论 -
Android 项目中部分Java文件报红,不影响运行处理
错误描述今天早上刚上班在技术群中看到有人说 Android 项目,可以运行,但是部分Java类文件报红,感觉挺奇怪的,因为我没有遇到过,那肯定不用多想就是AS 中的问题,查阅后发现还真是,是build具有缓存的功能,而这种报红正是build报红引起的,操不操,就问你操不操,哈哈 ,那就看一下解决的方法, 直接看图 就搞定了 老铁 来双击 评论 666原创 2017-09-19 10:30:00 · 1418 阅读 · 0 评论 -
异步任务+递归 进行初始化文件读取方法
其实在普通的应用开发中,很少遇到我要说明的问题,以为我们没有那么多的本地配置文件,当然有时候我们会遇到,好吧,这样说可能看不懂,我直接说一个例子吧。将要配置的信息(也就是实例化的信息保存到本地文件)在启动的时候进行读取来完成初始化从网络获取,将配置信息保存到服务器,以上两种都是保存配置文件的位置和使用手段,他们有一个共同点,就是两者都是比较耗时的操作,当然,提到耗时,每个人想到的都是异步,是的原创 2017-09-08 11:36:40 · 449 阅读 · 0 评论 -
Android 手机和盒子遥控器
需求最近在公司中没有明确要做的东西,开会的时候说可能会做手机端的遥控器PS:我现在做的是电视盒子,然后就从网上看了一下,几个遥控器软件中就看悟空遥控器比较好用一点,也比较能让人接受,所以就准备写一个Demo 实现一下这个遥控器。实现当然就是这种操作肯定是需要一种连接,但是呢,假如说我们建立一个长连接(建立在网络端)的,这种肯定不符合我们的需求了,我们TV的操作需求其实只能是在眼睛可是范围之内进行操作原创 2017-09-20 15:23:59 · 1239 阅读 · 0 评论 -
RecyclerView 多选+仿IOS卸载时的图标抖动
在开发中使用RecyclerVIew已经是很常见的了,它作为ListView 和GirdView 的加强版的存在,并且具有瀑布流的效果,so,堪称完美,今天我要做的是使用RecyclerView展示相对应的网格条目 进行多选 多项操作 在长按的时候1、 选择该条目2、仿IOS卸载应用时抖动效果好了先看下效果图 (CSDN 对图片的大小要求严格 所以这个gif 做的不太好 ,但是能表达想要表达的效果原创 2017-11-25 19:26:01 · 1727 阅读 · 1 评论 -
Android 组件化 (一)之入门介绍
Android 组件化一、组件化1.1 说明 随着我们项目的迭代,我们的功能模块回逐渐增多,业务逻辑有最初的不复杂逐渐变的复杂,业务模块的增多,有经验的人肯定回尽量的去符合“高内聚 低耦合“,但是项目的迭代往往是在最初无法预估发展方向的,这时,还要坚持“高内聚 低耦合“的原理,就要不断的对代码进行重构,重构是需要花费很多时间、精力、人力的,这时我们应该在迭代的时候寻求最小的...原创 2018-06-14 15:39:25 · 384 阅读 · 0 评论 -
Android 组件化 (二)之重要的Application和Androidmanifest.xml
接着Android 组件化(一) 回答一下大婶的问题原创 2018-06-14 15:43:05 · 1138 阅读 · 0 评论 -
Retro2+okHttp3+Rxjava2 请求时BASE_URL不能改变的解决办法
场景在开发的过程中,采用的是retrofit2 + okHttp3 + RxJava2封装的网络请求框架,不多赘述封装的过程。在使用的时候出现了一个这样的问题。一般在开发的时候都是将Base_URL 根据BuildConfig.DEBUG去动态设置的,但是这个动态仅限于我们打包时的选择,release还是debug,只能简单的满足我们两个开发环境的切换问题,那一般图片或者大文件都会采取...原创 2019-03-05 18:22:13 · 1042 阅读 · 0 评论 -
Mac Pro 下MySql的安装及配置使用
一、安装:https://dev.mysql.com/doc/refman/5.6/en/osx-installation-pkg.html 到这个网址下载,下载之后点击安装(傻瓜式安装), 为什么我要写这篇博客记录下来呢?重点不是它的安装,而是我遇到了一些问题,二、配置打开终端 打开配置 输入:.bash_profile 输入:export PATH=${PATH}:/usr/loca原创 2017-08-31 12:34:57 · 4257 阅读 · 0 评论 -
Bitmap 二次采样三级缓存
一、Bitmap1.1 Bitmap 图片,加载的方式一般有四种 方法名 说明 BitmapFactory.decodeByteArray() 从字节数据中加载 BitmapFactory.decodeFile() 从文件中加载 BitmapFactory.decodeFileDescriptor() 从“文件描述“中加载 BitmapFactory.decodeR原创 2017-08-30 14:55:37 · 613 阅读 · 0 评论 -
android API 学习 权限学习(一)
首先android 是一个权限分隔的操作系统,一下内容都来自android中国开发者 API指南1、安全架构 安全架构的中心设计就是,在默认的情况下,android的人和应用都没有权限执行对其他应用、操作系统或者用户有利影响的任何操作2、应用签署所有的apk 都必须是使用签名的 ,其私钥有开发者持有,签名的作用就是用来识别作者3、用户ID和文件访问每个应用在统一操作系统中有唯一原创 2017-08-16 10:45:15 · 354 阅读 · 0 评论 -
获取网络请求的图片的宽高
在开发中,加入我们的使用的图片来自网页,没有人知道它的大小,这时我们还怎么做呢?图片的大小我们可以让后台给我们指定一下,为什么呢? 因为如果我们不指定图片的大小而是使用加载图片的组件的适配去做,会出现有时候的图片的大小和我们指定的图片大小和缩放的规则错差特别大,出现图片被拉伸或者是压缩的图片,为什么说来自网页的图片会不好计算大小呢?其实不管怎么杨的图片 都可以,并且使用之前不知道所以组件的大小原创 2017-08-09 17:38:21 · 1215 阅读 · 0 评论 -
java8 语言新功能在Android 中的使用
原文地址android 目前居我了解应该是完全支持java7的所有特性功能,而8的语言功能仅支持一半儿,支持java8 语言新功能需要添加一个名为jack 的新编译,jack 在Android studio 2.1中才被支持,因此要使用java8的新特性将要在android studio 2.1以上的开发工具中使用android 目前不是完全支持所有的java8 语言功能,一下功能在开发面转载 2017-08-16 11:21:22 · 277 阅读 · 0 评论 -
DataBinding 使用方式
就说是自己安逸了两年,这么长时间了,我一直在逃避现实,总觉得有些东西没错,直到今天。。。。就关于android查找组件等的注解时,一直以为findViewById() 是最好的选择,也看过其他相关的注解的东西,观其内部实现原理是发现用的大多数是反射之类的,在组件多的时候难免会在程序运行的时候带来难点,今天看了15年I/O大会推荐的DataBinding 这个与其说是注解,倒不如说是将数据层和Vie原创 2017-08-03 23:08:26 · 341 阅读 · 0 评论 -
Android 性能优化
Android 性能优化一、电量电量当然是我们在开发的移动应用中必须要做处理的部分,因为谁都不希望自己的移动设备因为安装了你的应用而大大缩短了自己的待机时间,当然长连接电源的就不用考虑了,因为它从来不会考虑没电的情况,就比如盒子,所以我们要进行电量的优化,要做优化我们必须知道应用电量的消耗,我们如果自己去创造一写代码在我们的应用中去监听电量的消耗,那肯定是不行的,因为它就是一个耗电的东西了,最好是依原创 2017-08-25 11:04:15 · 202 阅读 · 0 评论 -
严苛模式 简介
一、 严苛模式:严苛模式的作用,帮助我们检测程序中隐藏的违例点,帮助我们更好的调整程序,优化程序,好,接下来看一下严苛模式的用法1.1 、 严苛模式一般在程序中的使用位置在Application 或者 Activity的super.onCreate() 之前位置目前使用的策有两种ThreadPolicy (线程) VmPolicy(Vm) 使用方式:@Override原创 2017-09-04 15:04:15 · 508 阅读 · 0 评论 -
CheckStyle 简记
CheckStyle是一个很针对于java语言的代码规范检查工具,默认的情况下,遵循Google的Java编码规范和Sun编码规范,同时它可以自己配置,这就为在不同的团队可以根据自身的情况对检查规则进行裁剪或者新增,Gradle 方式根据CheckStyle 的官方文档进行检查规则的配置,主要有两个配置文件,checkstyle.xml 检查规则配置文件suppressions.xml 工程中某原创 2017-09-05 15:47:57 · 345 阅读 · 0 评论 -
Android截屏与WebView长图分享经验总结
本文转载 Android开发中文站 » Android截屏与WebView长图分享经验总结(Android%E5%BC%80%E5%8F%91%E4%B8%AD%E6%96%87%E7%AB%99%20%C2%BB%20Android%E6%88%AA%E5%B1%8F%E4%B8%8EWebView%E9%95%BF%E5%9B%BE%E5%88%86%E4%BA%AB%E7%BB%8F%E9%A转载 2017-08-23 18:32:46 · 498 阅读 · 0 评论 -
《Android 高级进阶》 --> APP 整体框架
一、APP 的整体架构从较高的层次来讲,APP的整体架构可以分为两层,即应用层和基础框架层,应用层:专注与行业领域的实现,eg:金融、支付、地图导航、社交等,他直接面对的是用户,是用户对产品的第一层感知。基础框架层:专注与技术领域的实现,提供API公有的特性,避免重复制造轮子,是用户对产品的第二感知,eg:性能、稳定性等。一个理想的APP应该是具有清晰的层次划分,同一层模块间进行解耦,模块内部原创 2017-08-29 11:55:38 · 2028 阅读 · 0 评论 -
当程序遇到Crash的时候
转载请注明图你怀中安稳 在开发中我们最不想看见的应该是Crash了,当我们的程序上线,投放到市场的时候,用户会去使用我们的软件,这时,我们更加不希望我们的应用程序会Crash,当然在开发中,我们要是遇见可控的Crash,我们会立马解决,但是Android程序不知道为什么?有的Crash是不能被测试出来的,这时我们当然不能修改了,只有当它发生Crash的时候才能知道哪里出现了问题,但是这时我们不会等原创 2017-08-25 12:27:39 · 1678 阅读 · 0 评论 -
关于蓝牙BLE开发中要做掉的东西——除了设备和客户端外的蓝牙匹配对话框,notification 蓝牙匹配的通知栏
1、一般情况下,我们在做蓝牙BLE的时候,是不需要匹配的,应该直接取连接,这一步,不需要刻意的去做自动匹配,我认为没有那个必要,因为他在不匹配的情况下,一样可以连接,并且进行数据的交互,假设一定要做自动匹配的话,在BluetoothDevice 这个类中有隐藏的方法/** @hide */ //取消用户输入public boolean cancelPairin原创 2017-07-13 11:41:08 · 1577 阅读 · 0 评论