自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DennisJu的专栏

知晓的越多,越觉得自己无知,这种无知带来的恐惧,推动你走向更深层次的无知

  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 Retrofit+OkHttp中如何正确的使用https?

本文上半部分转自16年9月份的文章,主要补充原理,后半部分补充当前2022年retrofit的最新用法原理部分内容转载自:Retrofit中如何正确的使用https? - 移动开发其他类 - 红黑联盟很多文章对客户端https的使用都是很模糊的,不但如此,有些开发者直接从网上拷贝一些使用https的“漏洞”代码,无形之中让客户端处在一种高风险的情况下。今天我们就对有关https使用的问题进行深入的探讨,希望能解决以往的困惑。对于https,需要了解其工作原理的可以参考https是如何工作的?,更

2022-02-16 10:53:02 398

原创 Bluetooth基础知识(一)

前言开发中经常遇到Bluetooth问题,所以这里索性就整理一下吧。一、BLE是什么?是一种无线通信技术 是一种低功耗的无线通信技术 是一种无线的、低功耗的、基于配置协议的无线通信技术二、GATT 和 GAP是什么?1.GATTGATT就是配置协议,全称Generic Attribute Profile,翻译过来就是通用属性配置文件 GATT 定义了各种各样的属性,

2021-12-02 10:08:26 486

原创 闲谈杂记:理想中智能家居App是否都可以做成分享模式

理想中的智能家居的生态之分享型

2021-11-29 10:22:42 167

原创 Flutter RefreshIndicator 禁用刷新

背景在使用RefreshIndicator控件的时候,他是嵌套在ListView或者CustomScrollview等可以滚动控件来实现刷新的,怎样在不通过重写布局的方式,在编辑模式下禁用刷新,在非编辑模式下启用刷新呢?解决方案查看源码发现RefreshIndicator也是一个通过notifcation驱动的行为的控件,具体在notifvation在flutter中是什么作用可以单独开一篇博客来详述。最终结论我们可以通过拦截notifcation的消息分发来拦截刷新控件的UI显示。所以可以在控

2021-11-17 10:35:13 604

原创 Flutter FVM 版本管理

使用的工具包:https://github.com/leoafarias/fvm细节操作:1、进入到一个可运行的flutter项目,follow他的测试文档,执行pub run test2、如果提示:no sdk,直接执行:flutter pub global activate fvm就可安装成功,因为你在目录里面所以他会默认安装到对应的library里面省去了很多糟心的配置过程。3、这时候执行fvm是不可用的因为没哟配置环境变量,在.bash_profile里面配置一下export P

2021-07-12 11:20:46 1084

原创 算法基础一

背景刷算法题的时候,算法类无论怎样出题大面上的操作都是对基本数据结构的操作,衡量这些操作优劣的标准则通过时间和空间两个方面的“复杂度”去衡量,所以在这里觉得有必要补充一下算法基础的文章。不要把这里的时间和空间简单的理解为我们现实中的程序的执行时长和运行时占用的内存空间,衡量算法的优劣不是在哪一个机器哪种语言那个编译器平台上运行的速度快慢,而是在一种相对宏观的维度,去将耗时操作的执行次数无限放大得出的的,也就是考虑程序执行时最糟糕的情况下我们需要多长时间多少资源才能得出想要的结果。一方面我们从纯理论角

2021-06-10 11:29:10 91

原创 LeeCode 寻找两个正序数组的中位数

刷到这不得不对自己的大意说两句了,每次思路都是对的,因为最近写dart写得多,对java关键字盲敲总是出现小细节的问题,导致第一次提交测试用例部分通过不了,提交成功率就被这些小细节打败了,fan'si'z...

2021-06-08 15:58:12 97

转载 解放双手,使用Gitlab CI功能自动打包Flutter apk

文章转自:https://www.jianshu.com/p/2be29a81bfb0

2021-05-31 14:51:38 547

原创 LeeCode 无重复字符串的最长子串

3、给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。class Solution { public int lengthOfLongestSubstring(String s) { //1、这里借鉴第一题的思路,字符串其实就是一个字符数组 //2、将字符从数组中取出,放到另一个字符数组中,逐一排查,并用一个数字记录最长不重复子串长度,如果查到当前的字符在以往数组中已经存在了则比较当前数组长度与计数值大小取最大值 //3、如果没有到字符串结尾就清除已存在数..

2021-05-21 14:15:17 104

原创 LeetCode 链表两数相加

给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ...

2021-05-19 12:23:04 102

原创 LeetCode 两数之和

给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。class Solution { public int[] ...

2021-05-18 14:27:40 83

原创 Flutter showModalBottomSheet如何调整高度

解决方案:1、 升级到新版本的Flutter,当前目前使用版本是1.22.5及以后就可2、源码解读,官方调整原来写死比例的方案:@overrideBoxConstraints getConstraintsForChild(BoxConstraints constraints) { return BoxConstraints( minWidth: constraints.maxWidth, maxWidth: constraints.maxWidth, minHei

2021-05-14 17:24:57 2299 1

原创 Flutter 基于Dio的网络库封装(开源项目)

此文初衷:做flutter项目已经有一段时间了,已有多个flutter项目稳定迭代了一年半载了,在此正在写一个Flutter专题的内容,准备回馈社区同时和更多开发者交流一起成长。 项目简介:做原生项目的时候我们有volley、OkHttp、retrofit等方便易用的成熟网络框架,flutter比较火的网络库则是dio库,但是使用起来的时候却没有retrofit或者Okhttp那么顺手,同时 因为在pub.dev上已有retrofit的封装,开发的时候觉得逻辑很清晰但是代码也很多,而且组内大部分开发者都

2021-03-01 11:30:29 1889 4

原创 Repo+Gerrit+Git日常采坑

Git/Repo操作处理//删除文件夹下的所有 .git 文件find . -name ".git" | xargs rm -Rf ...

2020-03-12 09:39:29 877 1

原创 源码解读:Flutter异步刷新UI相关概念

本文从源码角度去阐述并记录笔者学习Flutter异步刷新UI的相关知识点,读完本篇能大体了解一下知识点:Future、Stream、StreamBuilder、Provider&MultiProvider是什么?解决了什么问题?如何用?Future和Stream是异步事件的数据资源提供者,后两者则是对异步数据进行同步处理的加工者。Future1.是什么?Future和它的名字一样...

2019-12-20 15:03:57 750

原创 React Native 入门及其与Android&Flutter的类比

** 前言- 核心描述什么是React Native的组件(一下简称RN)、如何创建一个组件, 组件的生命周期以及对应的方法,什么是props、如何用props进行数据传递、检查,什么是state,什么是ref,什么是类,UI界面布局属性等。- 类比Android原生和Flutter中的属性。- 如有描述不准确的地方欢迎批评指正。** 什么是React Native组件...

2019-07-02 11:27:28 246 1

原创 Effective Java 2 知识点总结(上)

Effective Java 2 知识点总结(上)关于对象关于通用方法(一般模仿String类即可)关于对象减少不比较的对象创建,考虑用static工厂方法减少对象的创建,类似常用的getInstace()单例模式:static工厂方法比较极端的用法是单例模式自始至终只提供这个类的唯一实例。不可避免的坑:static方法创建的对象的使用通常都需要考虑线程安全,能否防止反射调用私...

2019-03-20 13:55:36 329

转载 Android Gradle 完整指南

Android Gradle 完整指南谢绝转载,非要转载,请注明出处http://www.jianshu.com/p/9df3c3b6067a为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的G...

2018-12-07 17:14:53 224

转载 GitHub的这些轮子足够开发任何app,论如何快速开发。

版权声明:乐于分享,学海无涯。转载请标明出处。 http://blog.csdn.net/sinat_30949835/article/details/61200299这些是我做Android开发以来用到的比较好的GitHub开源项目,分享出来,供大家学习参阅。热门推荐:https://github.com/lcodecorex/TwinklingRefreshLayout  自定义 下拉刷新控件...

2018-02-26 19:18:07 1166

转载 Gradle 完整指南(Android)

Gradle 完整指南(Android)转载:http://www.jianshu.com/p/9df3c3b6067a前言为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gr

2018-01-30 16:01:10 307

转载 ListView的属性详解和探究

转自:点击打开链接      在我们的日常开发中,ListView是一个最常用的组件,所以我们非常有必要对它的属性进行全面的了解。现在就以一个简单的实例,对ListView的属性做一个简单的讲解。 首先我们给出简单的布局文件,就一个简单的ListView列表: [html] view plain copy

2017-11-20 11:15:14 448

转载 Git使用教程

Git使用教程转自:点击打开链接 一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统

2017-11-19 20:55:37 290

转载 Gerrit使用简介

Gerrit使用简介转自:点击打开链接1 Gerrit简介    Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。  1 注册Gerrit 1.1 账号密码     注册Gerrit需给Gerrit管理员(yangjunyu@

2017-11-19 19:58:14 606

原创 Android 工具合集网站

#不需要翻墙 - h ttp://www.androiddevtools.cn/index.html(AndroidDevTools)

2017-11-02 11:26:09 540

转载 Doubango_SIP协议栈参考资料

一从协议栈结构说起参考:http://blog.csdn.net/argpunk/article/category/1177691自顶向下与自底向上软件设计的两种方法不过于自顶向下与自底向上。对于自顶向下而言,先设计好用户接口,再往下延伸至各个功能块的具体实现。而对于自底向上而言,自然是有了设计好的各个功能代码块,再将这些功能代码块拼接成具体的用户接口,然而实际的软

2017-10-19 10:35:01 480

转载 Android GUI系统

转自:点击打开链接

2017-10-18 09:29:03 457

转载 Android View的绘制流

转载:点击打开链接View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂

2017-10-17 15:01:34 327

转载 Binder通信机制

Binder简介转自:点击打开链接Binder是android系统中实现的一种高效的IPC机制,平常接触到的各种XxxManager,以及绑定Service时都在使用它进行跨进程操作。它的实现基于OpenBinder项目,属于核心库。framework层的Binder通信用到的相关java类型都是对应C++类型的一个封装。这里framework层就是android提供的ja

2017-10-17 11:03:06 326

转载 Android Studio Ndk 编程

转自:http://blog.csdn.net/s670100084/article/details/51027244现在开发Android程序基本都已经从Eclipse转到了android Studio了, 最近项目需求, 需要用到ndk编程, 于是就折腾了一下。开发环境Android Studio 1.5.1android-ndk-r10egradle 2.8

2017-08-07 09:32:07 461

转载 JAVA中常用的数据结构

JAVA中常用的数据结构(java.util. 中)转自:http://blog.csdn.net/u010947402/article/details/51878166Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。其主要的关系(继承关系)有:  (----详

2017-04-15 15:11:21 611

原创 ConstraintLayout资料

外文链接:点击打开链接(翻墙)

2017-03-20 17:00:31 395

原创 APIGuide_应用组件

Android 7.1官文版本

2017-02-13 10:39:56 600

原创 Android 手势处理实战

手势处理实战问题提出显示实战场景ViewPager+ViewFlow\ViewPagerNestedScrollView+RecyclerView核心内容场景:看图说话问题分析:同上面图中,我们可以看出可以通过手势处理的控件互相嵌套,需要处理的手势问题可能只是看看都会让自己头大,但是如果我们将手势简单分类,来看看问题会不会简单很多,我们的分类依据

2017-01-10 15:01:50 1087

原创 Android WebView遇到的坑

Android WebView遇到的坑前言前言开始恢复秩序了~作为Android Developer 实在是难以忍受Android中出现WebView堪称浏览服务界的IE6的存在。今天主题我们就是简单记录一下WebView中遇到的问题。核心内容事情起因,时隔多日我从进修状态重新参与开发工作,上来就遇到了项目中嵌套H5的简单操作,结果上来就给我搞事情,WebV

2016-12-23 17:13:55 3037 2

原创 Handler运行机制源码分析

Handler运行机制源码分析问题提出Handler和Android程序运行关系Handler如何Android消息队列Hanlder存在的意义核心内容作为Android开发人员都知道,Android App是单进程运行的,而在这个进程里面有一个主线程,这个主线程在代码中称作:android.app.ActivityThread,该类负责管理和执行主线程

2016-12-21 10:49:38 795

原创 Android 热修复思路整理

Android 热修复思路整理问题提出什么是热修复热修复的优点流行的热修复方式本文采用的热修复方式相关知识点思路解决方案热修复:Android端修复bug,通常方案是,修改bug所在的类->打包整个代码apk->重新上线->用户下载apk重新安装使用;热修复的方式,修改bug所在的类->用户在已有app的情况下

2016-12-19 16:09:48 557

原创 Java类加载机制

Java类加载机制_反射(英文版):点击打开链接Java类加载器(中文版):点击打开链接

2016-12-16 12:43:06 442

原创 Android 6.0前后的权限系统介绍、使用、建议

Android 6.0前后的权限系统介绍、使用、建议前言(以后前言部分属于我家领导的!)今日金句:如果爱请深爱~核心内容为什么需要权限,权限的能做什么,怎么做Android权限系统分类Android6.0之前的系统权限介绍Android6.0之后的系统权限介绍Android6.0之后系统权限直接与间接使用Android6.0之后系统权限使用建议具体描述为什么需要权限,权限的能做什么,怎么做权限是A

2016-11-10 13:07:29 1260

原创 监听Android应用前后台运行状态

监听Android应用前后台运行状态核心内容这篇文章主要是参考外文,编写的监听应用前后台状态的操作,但是我家领导有时候来看我写的博客,总说她看不懂,所以,我决定专门写一段他能看懂的,额如果想直接应用到项目中的,请直接绕过此段,直接copy下面的代码到自己的项目中使用即可,具体的文字说明也已经在给出的参考链接中说的很详细了,我就不重复造轮子了,还有特别说明我家领导,聪明伶俐,可爱活泼

2016-10-29 17:02:23 2021

原创 仿QQ侧滑菜单

仿QQ侧滑菜单前言Google官方已推出DrawerLayout和NavigationView作为MD设计的侧边栏,效果简洁大方,但是国内的app标准参差不齐,众口难调才不管你什么官方的呢,我开心就好,但基本也是遵循这大企业的路子走的,所以今天就写一个仿照QQ侧滑的练练手吧,因为不想引入其他太多的MD内容,所以还是用的基本的方法去写,这样更纯粹一点。效果分析侧滑是一

2016-10-19 17:26:17 668

Eclipse下的SwipeBackLayout

github开源项目,这里将类库集成到Eclipse下, Android SwipeBackLayout滑动删除库,可直接在项目中传入该解压文件,将自己的Activity集成自SwipeBackLaActivity,即可使当前页面拥有滑动删除的属性

2015-09-08

空空如也

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

TA关注的人

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