- 博客(168)
- 资源 (18)
- 收藏
- 关注
转载 Fetching Documentation卡顿问题
问题描述如下:使用Rxjava过程中创建Observeable卡顿并提示 Fetching Documentation...解决方案:File-->Setings-->Editor-->Code Completion-->取消选中 Show the documentation popup in 1000 ms 完美解决...
2019-07-26 10:12:15 1085
原创 Android---Window、WindowManager和WMS体系
前言本篇文章会从源码层面上分析Activity从创建直到在页面上显示的过程。首先分析一下在这个过程中会遇到的一些接口和类了解它们的源码以及功能之后再将它们串起来就能够了解整体的流程了概述类和接口1. Window体系Window体系说白了就是要在页面是显示的View,这个体系中包含多个类来共同完成view的显示其中包括Activity、Window、PhoneWindow、De...
2019-06-14 17:59:32 977 1
原创 Android---Handler体系
前言作为一个Android程序员Handler机制使用的十分频繁,基本使用方法我不会再去累赘,本篇文章意在阐述自己在使用过程中遇到的问题以及阅读源码后得到的收获。首先是几个问题子线程有哪些更新UI线程的方法?Activity的runOnUiThread(Runnable action) 是如何实现子线程更新UI的?Handler导致的内存泄露问题?源码分析从使用流程进行源码分析...
2019-06-13 17:41:10 946
原创 红黑树特征和翻转操作
红黑树特征:红黑树是每个节点都带有颜色属性的二叉查找树性质1. 节点是红色或黑色。性质2. 根节点是黑色。(最顶端的中间节点为根节点)性质3 每个叶节点(NIL节点,空节点)是黑色的。性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。红黑树的左旋操作...
2019-05-08 10:38:10 2156
原创 微信小程序修改button样式
今天碰见个感觉很奇怪的问题修改了button的很多样式就是得不到自己想要的效果比如我想他能够跟普通text一样显示文字,但是button有自己的border自己的背景并且默认还是文字居中显示,调了半天都没有试出来,最重要的是在小程序官方文档的组件中也没有提供button的默认css样式,从显示上能断定是使用了文字居中、border边框等,所以很难去通过尝试修改而达到目的这里提供一下but...
2019-04-29 14:32:48 34167 4
转载 转发(Forward)和重定向(Redirect)的区别
转发是服务器行为,重定向是客户端行为。 转发(Forword):通过RequestDispatcher对象的forward(HttpServletRequest request,HttpServletResponse response)方法实现的。 RequestDispatcher可以通过HttpServletRequest的getRequestDispatcher()方法获...
2019-04-24 14:53:35 1774
原创 微信小程序实现左侧list滑动点击更换数据功能
完成效果如上图首先我们要在wxml中完成布局左侧为一个可以上下滑动的list 宽度占屏幕的30%,右侧为显示相关数据的页面,宽度占屏幕的70%<view class="course"> <!--左侧view布局--> <view class='leftView'> <scroll-view scroll-y="true" st...
2019-04-01 16:48:33 5790
转载 从问题出发,解析Activity、Window、View三者关系
从问题出发,往往能更明确的找到所求。本文将带着一个个的问题,结合源码,逐步解析Activity、Window、View的三者关系。什么地方需要window? 一句话总结:有视图的地方就需要window Activity、Dialog、Toast... PopupWindow和Dialog有什么区别?两者最根本的区别在于有没有新建一个window,...
2019-03-31 15:19:25 1848
原创 Retrofit2.0 添加log拦截、公共参数
创建retrofit 进行网络请求Retrofit retrofit = new Retrofit.Builder().client(getOkHttpClient())//使用自己创建的OkHttp .baseUrl("http://fy.iciba.com/") // 设置 网络请求 Url .addConverterFactory(GsonConverte...
2019-01-31 17:42:26 6321
原创 mybatis动态sql使用以及增删改查的知识点
点击这里 查看Mybatis动态SQL官方文档对于初学者来说查看文档内容有好多细节不理解这里我结合我自身学习动态SQL实际遇到的困惑以及细节标示做一个梳理首先几个常用的关键字:if 判断,当条件符合则进入条件语句(#{id}代表传入的值) &amp;amp;amp;amp;amp;lt;!-- 如果条件都满足 则sql为 select * from test_table where id=? and last_...
2018-12-13 10:23:44 2922
原创 解决 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä'
我使用的是MySQL 8.0以上版本在SpringBoot的application.properties中配置连接数据库地址时候报上述错误spring.datasource.url=jdbc:mysql://localhost:3306/jdbc我们需要在访问数据库的Url后面加上以下的语句即可:serverTimezone=GMT%2B8spring.datasource.url=jd...
2018-12-05 18:47:43 2988 3
原创 MySQL安装以及连接Navicat
MySQL下载地址https://dev.mysql.com/downloads/mysql在下载页面往下拉,选择自己的操作系统版本和位数,然后下载即可下载完成之后进行环境变量的配置安装 MySQL,输入下面这条命令mysqld -install如果在这一步提示 mysqld 不是内部或外部命令,也不是可运行的程序或批处理文件,是因为在 bin 目录下没有 mysqld.exe 这个...
2018-12-05 17:28:36 2932
原创 Springboot在intelliJ中使用热部署配置不生效的解决办法
首先要在Maven的pom.xml文件中添加依赖<!-- 热部署配置 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <option...
2018-11-21 15:31:31 5041 1
转载 android 源码剖析之------Window的内部实现机制(添加、删除、更新)
今天,在做项目的过程中,实现了一个浮动窗口的功能,大致思路是这样的:通过实例化一个ImageButton并给这个Button设置监听,然后将这个Button传递给WindowManager的addView方法,在ListView滑动过程中,通过监听ListView的滑动状态,利用WindowManager的updateViewLayout方法,控制浮动窗口的显示和隐藏。功能实现很简单,但是,一直有...
2018-11-09 10:51:55 2452
转载 Android P联网报错 :Cleartext HTTP traffic to xxx not permitted的解决方法
为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nouga...
2018-10-25 09:56:02 20707 6
原创 微信小程序Cannot read property 'setData' of null;
使用微信小程序API进行从本地相册选择图片或使用相机拍照功能时出现错误VM2653:1 thirdScriptErrorCannot read property 'setData' of null;at pages/other/yeji/yeji clickImg function;at api chooseImage success callback functionTypeError:...
2018-09-11 11:45:43 22351 6
转载 解决 Android N 7.0 上 报错:android.os.FileUriExposedException
解决 Android N 上 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData()解决方法1、在AndroidManifest.xml中添加如下代码...
2018-07-19 11:22:53 2514
原创 安卓刘海适配
先炫富!三种情况会涉及到刘海的适配:1.有状态栏的情况(不是全屏FULLSCREEN状态)不需要适配刘海,如果没有设置状态栏颜色默认状态栏为黑色背景白色字体和图标,这种情况不会受到刘海的影响,因为刘海的高度就是状态栏的高度,只要有状态栏的app不需要进行刘海适配,当然可以相应的进行状态栏背景或者字体颜色的修改使app色调更加协调,下图为vivo x21的状态栏可以看到电量时...
2018-06-29 15:03:34 9880 28
转载 Installation failed with message INSTALL_FAILED_TEST_ONLY问题
说明当我在Andriod Stuidio进行安卓开发的时候,很多时候想要设断点用手机在线调试,但是会出现安装失败,安装包异常的问题。本人进行调试的手机是OPPOR11,会出现问题,但是在华为手机上调试没问题,这说明不是所有的手机会出现这种问题,这与手机的配置有一定关系。问题描述手机上会出现安装包异常的问题:在Android Studio上的出现的异常提示是:Installation failed ...
2018-06-26 12:05:58 3457
原创 请求参数按照ASCII码从小到大排序后追加秘钥再进行加密得到签名值
Step 1:对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的 格式(即 key1=value1&key2=value2...) 拼接成字符 string1 。 注意: 为空的参数不参与签名。 Step 2:在第一步中 string1 最后拼接上 key=Key(密钥)得到 stringSignTemp 字符串,并对 ...
2018-05-29 10:56:50 10856
原创 微信小程序bind事件和catch事件区别
在小程序中事件分为冒泡事件和非冒泡事件。本文以冒泡事件tap(手指触摸后马上离开,也就是点击事件)为例子来区别bind和catch事件bindtap 事件绑定不会阻止冒泡事件向上冒泡catchtap 事件绑定可以阻止冒泡事件向上冒泡假如有三个view点击事件都是用的bindtap,三个view是层级包含关系<view id="outer" bindtap="o...
2018-03-28 16:39:36 20792 7
原创 Android装饰者模式
个人理解->装饰者模式的目的就是在不改变现有继承的前提下实现对一个类的功能的增加装饰者模式关键包含: 接口,接口的实现类 ,接口的装饰者,接口装饰者的实现类。以为一个小例子来理解装饰者模式:一个接口: public interface ccInter{ public String ccfunction (String str); //一个抽象方法}一个接口的实现类:public c...
2018-03-23 17:47:37 2424
转载 安卓MVP架构模式
一、架构演变概述我记得我找第一份工作时,面试官问我“android是否属于MVC架构模式,简述一下”。确实,Android的整体设计结构就是MVC的设计模式,在J2EE的开发中,使用的也是MVC模式,MVC模式是一个经典,经历了几十年的考验。Android项目中的MVC架构:View:是应用程序中处理数据显示的部分,对应于layout文件下的布局文件 Model:业务逻辑和实体模型...
2017-11-30 18:59:37 1741
原创 安卓知识点及问题处理方案记录,持续更新~
记录*A1.解决Android应用被系统回收,重打开崩溃问题http://blog.csdn.net/u011511577/article/details/54603256 注意FLAG_ACTIVITY_CLEAR_TASKhttp://www.jianshu.com/p/1946bd4f3bb5 当应用被杀死之后,所有数据都会被回收,所以之前设置的app stat...
2017-10-17 11:35:24 1922
原创 安卓使用腾讯Bugly实现应用升级功能
百度搜索bugly登陆平台,创建应用,获取应该用ID,在应用程序代码中使用该ID就可以实现该应用与bugly平台应用对接进入bugly平台之后会看到三个模块:异常上报,运营统计,应用升级。也就是说bugly平台包含着三大功能,今天要研究的就是应用升级模块,此模块包含 全量更新和热更新,这篇文章就是针对全量更新来写的应用更新步骤:1.首先服务器要有最新的apk包2.应用启动检查是
2017-10-10 11:21:37 8073
转载 HTTPS和HTTP有什么区别,到底安全在哪里?
转载自简书 http://www.jianshu.com/p/be7a20cc8468这篇文章描述的HTTPS加密过程举例很容易理解,不明白原理的童鞋可以看一下“”传纸条“”过程在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS 了。每当访问一个站点,浏览器的地址栏中出现绿色图标时,意味着该站点支持 HTTPS 信息传输方式。HTTPS 是我们常见的 HTT
2017-09-29 10:32:44 474
转载 Android 小米手机开发APP图标更换后还显示原来的图标
Android修改了APP的图标,发布到应用商店,在小米手机下载APP后发现显示的还是原来的图标,查了资料后发现是 小米开放平台之前设置的完美图标还没修改。因为在小米手机上安装APP后会后台去获取完美图标,替换我们在AndroidManifest.xml中设置的android:icon=""图标修改完美图标:第一步:进入小米开放平台的管理控制台,选择小米应用商店
2017-09-25 11:15:58 6219
转载 我使用的沉浸式状态栏
解决方案1、给状态栏设置颜色思路是:先设置状态栏透明属性;给根布局加上一个和状态栏一样大小的矩形View(色块),添加到顶上;然后设置根布局的 FitsSystemWindows 属性为 true,此时根布局会延伸到状态栏,处在状态栏位置的就是之前添加的色块,这样就给状态栏设置上颜色了。代码如下:1
2017-09-22 11:06:02 1590
原创 安卓SwipeRefreshLayout的使用方法
使用SwipeRefreshLayout可以实现下拉刷新,前提是布局里需要包裹一个可以滑动的子控件,然后在代码里设置OnRefreshListener设置监听,最后在监听里设置刷新时的数据获取就可以了。由于是新出来的东西,所以要想使用,先把support library的版本升级到19.1或更新。使用方法非常简单,只需要再布局中引入这个控件就可以了 android.support.v4
2017-07-11 19:59:31 1017
转载 CoordinatorLayout布局的使用方式
转载自:http://www.jianshu.com/p/97206f5973c5这篇文章写的关于CoordinatorLayout的使用方法,写的很细致,层次分明适合初学者学习使用作为Android的控件, CoordinatorLayout已经加入最新的HelloWorld项目中, 也是Material风格的重要组件, 协调(Coordinate)其他组件, 实现联动.
2017-07-11 10:58:46 1624
原创 安卓实现listview联动效果且选项多选
实现效果如图,点击大洲进行第一个listview数据的刷新且联动第二个listview数据更新,正常第二个listview是单选,点击后进行数据刷新,现在做的是数据多选最后点击确定按钮进行数据提交首先实现两个listview联动效果:数据源如下 "area": [ { "id": "1009", "namecn":
2017-06-19 15:52:19 4465 4
原创 Android实现Imageview上面圆角下面直角效果
如图背景为四个角都是圆角的图片,我们完全可以使用shape写出四个圆角,包括描边 填充色等,代码如下:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > and
2017-06-16 15:50:55 11735 1
原创 通过一个小例子理解java回调机制
原文地址:http://blog.csdn.net/xiaanming/article/details/8703708看了博主的这篇关于回调机制的博客茅塞顿开,通过一下小例子简单的表述了其中的微妙,遂编辑一下,使得自己更加理解所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。Class A实现接口CallBa
2017-01-03 15:26:15 433
转载 Android 判断app是否在前台还是在后台运行
Android 判断app是否在前台还是在后台运行,直接看代码,可直接使用。[java] view plaincopypublic static boolean isBackground(Context context) { ActivityManager activityManager = (Activit
2016-12-16 11:43:40 1066
原创 Android Logger开源库的使用
Android提供给开发者打印log的工具类import android.util.Log;使用方法也很简单Log.i(TAG, "onClick: ==" + productid);但是在使用的过程中有一些不方便,这里使用一个比较好的开源库Logger来解决android util 包的Log的局限性Logger开源日志库来自Github:https://gi
2016-12-13 11:58:11 464
原创 安卓WebView加载腾讯视频无法播放
安卓使用WebView加载html页面,页面中使用ifram标签加载一个腾讯视频的视频链接地址,安卓4.0,5.0都可以正常播放6.0以上无法正常播放弹出如下信息:"Mixed Content: The page at 'https://v.qq.com/iframe/player.html?vid=r0350dol0ma&tiny=0&auto=0' was loaded over HTTP
2016-12-12 11:36:20 7549 4
原创 android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
2016-12-08 11:32:27 7384 1
转载 Android Bottom Sheet详解
转载自:http://blog.csdn.net/qibin0506/article/details/51002241最近Android更新了support library, 版本到了23.2, 从官方blog中我们还是可以看到几个令人心动的特性的,例如夜间模式的支持,BottomSheet.今天我们就来介绍一下这个Bottom Sheet,这可能会给我们开发中需要的一些效果带来便利.
2016-11-29 14:55:59 413
原创 php中empty()和isset()之间的区别
这两个方法都是用在对变量做操作的,empty($a) isset($a) ;通俗点说empty()用来检查一个变量是否为空。isset()用了检测一个变量是否被赋值他们之间最大的区别就是对于0的判断,若用empty判断会认为是空,用isset则认为不为空,举个例子:var $a=0;//empty($a)返回true,empty会认为“”,“0”,0都是空,是空
2016-11-23 11:50:14 336
安卓刘海屏适配(测试机型:小米8、华为p20、vivo X21、oppo R15)
2018-07-24
ViewPager+GridView实现左右滑动查看更多分类的功能
2016-10-14
DrawerLayout和NavigationView实现侧滑菜单
2016-09-18
TestScrollChange
2016-07-26
AnLayoutChanges
2016-06-16
安卓闪动字效果实现
2015-05-13
首次进入应用滑动人物行走动画导航
2015-05-09
安卓实现仿照IOS开关按钮SwitchButton
2015-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人