自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leonchen1024

Only the Paranoid Survive

  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 实用的开源项目

一些觉得有用的网上的开源工程,以备不时之需pinned-section-listview带有标题的listview,使用与类似通讯录有不同字母开头的列表。https://github.com/beworker/pinned-section-listviewSwipeLinearLayout一个可以单独拆出来用的侧滑控件,可以放进listView等控件里,可以实现单独定制是否可以侧滑。界面完全可以自己

2016-12-29 15:02:24 295

原创 Android 依赖管理

由于一个项目多个 module 中都会涉及到许多的依赖项,并且依赖的版本不同可能也会导致问题.所以衍生了很多的版本管理方法.这里介绍一个 kotlin 代码管理的方式。

2024-01-10 08:30:00 369

原创 Android 11 文件存储机制更新适配

Android 逐渐收拢了存储机制的权限,增加了分区存储功能并不断完善.

2023-12-22 08:45:00 419

原创 Software architecture thinking

关键组件组件之间的关系(结构)和交互忽略了组件中与组件之间交互无关的信息从另一个组件可以观察到的组件行为组件和结构背后的基本原理。

2023-10-10 10:58:32 61

原创 聪明人用方格记事本

文章目录背景为什么要用方格记事本传统笔记经常出现的几个问题乱记型笔记过度肥胖型笔记小笔记填鸭式笔记问题总结好的笔记要有哪些要素怎么使用方格笔记本利用方格线来进行排版使用笔记本三法则不要急着抄写先要想好记录的目的和如何发挥这个作用再记笔记多问几个为什么横向使用笔记本使用大的笔记本可以培养思维能力多使用图表来表达大量练习,大量舍弃笔记的类型记忆笔记思考型笔记传达型笔记About Me背景这本书介绍了如何使用方格笔记本来进行记事的方法,对一些记事本的问题点做出了总结.为什么要用方格记事本传统笔记经常出现的

2021-04-03 15:10:18 544

翻译 深入 Spring IoC - 3 Bean 概览

深入 Spring IoC - 3 Bean 概览文章目录深入 Spring IoC - 3 Bean 概览Bean 概览Bean命名在 bean 定义外定义别名Bean 实例化使用构造函数实例化通过静态工厂方法实例化通过实例工厂方法来实例化判断一个bean 的运行时类型Bean 概览Spring IoC 容器可以管理多个bean.这些bean是通过你提供的配置元数据生成的(比如,是用XML<bean/> 定义).在容器内部,这些bean定义表示为 BeanDefinition 对象,

2020-11-26 22:27:08 136

原创 深入 Spring IoC - 2 容器概览

深入 Spring IoC - 2 容器概览文章目录深入 Spring IoC - 2 容器概览容器概览配置元数据XML 表示实例化容器组合基于XML 的配置元数据Groovy Bean 定义 DSL使用容器About Me容器概览ApplicationContext 接口就可以代表 Spring IoC 容器. 容器通过配置元数据来获取应该管理那些对象.我们可以使用 XML,Java 注解或者Java代码来表示配置元数据.通过这些方式我们可以表示出应用中的组成对象和他们之间的依赖关系.Spring

2020-09-22 22:32:05 176

原创 深入 Spring IoC - 1.1 总概览

深入 Spring IoC - 1.1 总概览文章目录深入 Spring IoC - 1.1 总概览概述IoC 容器BeansAbout Me概述Inversion of Control (IoC,控制反转) IoC 更多内容,这是一个设计原则,可以减少程序的耦合度.而IoC通常是和 dependency injection (DI,依赖注入) 一起出现的,可以说DI是实现IoC原则的一种主要方式.通过从外部注入依赖到使用者,使得控制创建依赖的职责反转到了外部,使得代码的耦合度减少,灵活度和扩展能力得

2020-09-22 22:30:31 137

原创 Trie

文章目录应用替换其他数据结构字典表达术语索引算法排序全文检索实现Bitwise triesCompressing triesExternal memory trieAbout MeTrie ,也叫做 digital tree(数字树) 有时候也是 radix tree(基数树) 或者 prefix tree(前缀树) (因为他们可以通过前缀进行搜索) 是一种 search tree - 一种用来存储通常键为 strings 的dynamic set 或者 associative array 有序的 tr

2020-07-28 22:38:16 370

原创 依赖注入

依赖注入文章目录依赖注入概述为什么需要依赖注入细节组成结构实现方式代码示例优点缺点About Me概述依赖注入(Denpendecy Injection ,DI) 通常和 控制反转(Inverse of Control,IoC) 一起出现.它是实现IoC的主要手段之一.通过依赖注入类可以不关心自身的依赖应该如何构造,而是由注入器代理这个职责,将类需要的依赖构建好后注入到类里.可以达到分离关注点,分离调用方和依赖,提高可复用性和可维护性.为什么需要依赖注入为什么需要依赖注入呢? 这和为什么需要IoC

2020-06-03 22:21:55 410

原创 IoC 控制反转

IoC 控制反转文章目录IoC 控制反转概述实现方法依赖注入(dependency injection)依赖查找(dependency lookup)服务定位器模式(service locator pattern)使用模板方法设计模式扩展其他应用About Me概述控制反转(Inversion of Control,缩写为IoC),它是软件开发中的一种设计原则,可以降低代码的耦合度,使得程序更加的模块化,更易于扩展.为什么叫做控制反转?又为什么能够降低代码的耦合度呢?在常规的开发过程中,很多时候一

2020-06-03 22:02:05 215

原创 Gradle Kotlin DSL

文章目录我觉得你们可以先看最后的彩蛋再决定是不是要看为什么选择 Gradle Kotlin DSL开始1. 修改settings.gradle2. 修改项目 build.gradle3. 修改module 的 build.gradle彩蛋!!!!!!!!About Me首发地址点这里我觉得你们可以先看最后的彩蛋再决定是不是要看强烈推荐先看文章最后的彩蛋!!!为什么选择 Gradle Kot...

2020-03-13 08:01:37 763

原创 LeetCode 6. ZigZag Conversion

[Chinese ver]6. ZigZag Conversion字符串"PAYPALISHIRING"是通过一个如下给定行数的锯齿模式书写的:(你可能想要使用一个固定的字体来更好的显示它)P A H NA P L S I I GY I R然后一行一行的读取这个字符串:“PAHNAPLSIIGYIR”编写代码实现获取一个字符串然后根据给出的行数来实现这个锯齿转换...

2020-02-17 14:02:15 199

翻译 开始使用 Navigation

文章目录开始使用依赖引入创建一个导航图Navigation Editor添加一个 NavHost 到 activity通过 xml 添加一个NavHostFragment添加目的地到导航图从现有的 activity 或 Fragment 中添加目的地创建一个新的Fragment目的地从 DialogFragment 中创建一个目的地占位目的地解析目的地设置一个屏幕作为起始目的地连接目的地导航到目的...

2019-07-29 22:11:30 939

翻译 Navigation 指南

文章目录ReferenceAbout Me由于官网暂时没有中文版本,所以在这里根据内容抽空做了一些中文的版本.原文首发于 https://leonchen1024.com/2019/07/04/Navigation/#moreNavigation 是用来管理你的app中内容的跳转,返回等操作.它主要包含了以下三个部分:Navigation graph : 一个 xml 资源包含了所有的导...

2019-07-29 21:58:35 167

原创 LRU 缓存的魔力

原文首发于 https://leonchen1024.com/2018/12/23/S1ep1-The-macgic-of-LRU-Cache/场景假设这么一个情况,当你需要多次展示同一个图片的时候,如果你重复从硬盘中加载图片的话,那么会造成资源的浪费,甚至可能会OOM.这个时候我们可以使用 cache 来避免这种情况,我们只从硬盘中加载一次到内存中,然后在需要的时候反复使用这个照片.但是...

2019-07-16 22:44:53 122

原创 贪婪算法 详解

贪婪算法(Greedy Algorithm)也叫算贪心法,贪婪法.它是一个遵循启发式解决问题的算法范式.它的核心思想就是通过在每一步的选择中都选用当前步骤下最优的选择,期望结果是最优的算法.如 旅行推销员问题.贪婪算法尤其适用于有最优子结构的问题中,最优子结构的意思是局部的最优解可以导出全局的最优解.贪婪算法与动态规划 的不同在于贪婪算法对每一个子问题都作出选择,不能回退;动态规划则会保存以前的运算结果,根据以前的结果对当前进行选择,可以回退.贪婪算法可以解决一些最优化(如最大值最小值等)问题,比如求图中的

2019-06-09 19:11:03 4086

原创 APP 版本控制

文章目录设置版本信息统一配置ReferenceAbout Me版本管理是app的一个重要部分,他主要的用途有:让用户了解当前的版本信息,了解升级或者降级信息等不同的版本可能提供的服务和功能有所差别,版本信息可以给我们一个标志来识别当前版本可提供的服务和功能。原文首发于 https://leonchen1024.com/2018/04/13/APP-Version-Control/设置...

2019-05-28 07:38:29 1662

原创 LeetCode 5.最长的回文字符串

LeetCode 5.最长的回文字符串原文地址给定一个字符串s,找出其中最长的回文格式的子字符串。你可以假设长度的最大值为1000.Example:Input: "babad"Output: "bab"Note: “aba” is also a valid answer.Example:Input: "cbbd"Output: "bb"一开始以为palindrome是重...

2019-01-18 20:43:39 145

原创 Binary Search(二分搜索)

二分搜索(binary search),也叫做 折半搜索(half-interval search),对数搜索(logarithmic search),对半搜索(binary chop),是一种在有序数组中查找某一特定元素的搜索算法.二分搜索有几个变体.特别是,分散层叠(fract...

2018-11-07 17:43:31 5056

原创 LeetCode 4. Median of Two Sorted Arrays

[Chinese ver]4. Median of Two Sorted Arrays这里有两个有序数组nums1和nums2,他们各自的大小为m和n. 找到这两个数组的中间值,总的时间复杂度应该为O(log (m+n)).Example 1:nums1 = [1, 3]nums2 = [2] 中间值是 2.0Example 2:nums1 = [1, 2]nums2 = [3, 4]

2017-10-14 21:05:19 249

原创 Leet Code 3. Longest Substring Without Repeating Characters (最长的没有重复字符的子字符串)

[Chinese ver]3.最长的没有重复字符的子字符串给你一个字符串,得出最长的一个没有重复字符的子字符串的长度。例子:给定“abcabcbb”,答案是“abc”,长度为3。给定“bbbbb”,答案是“b”,长度为1。给定“pwwkew”,答案是“wke”,长度为3.注意答案必须是一个子字符串,“pwke”是一个子序列,而不是一个子字符串。先来一个极其繁琐的算法,一开始没有经过太多的思考,导致不

2017-07-25 10:11:03 392

原创 LeetCode 2. Add Two Numbers

2. Add Two Numbers[Chinese ver]问题:你将获得两个非空 linked lists来表示两个非负整数。 数字以反向的顺序存储,并且它们的每个节点包含一位数字。 将两个数字相加并将其以 linked list的形式返回。你可以假定这两个数字不包含任何前导零(即不存在首位出现0的情况),除了数字0本身。输入 :(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4) 输出

2017-03-03 18:25:24 304

原创 LeetCode 1 two num

[Chinese ver]1.两数求和 。给定一个整数的数组,返回两个数字的索引使得这两个数字加起来成为一个指定的目标值。 你可以假设每个输入都至少有一个解决方案,并且你不能使用相同的元素两次。Example:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].首

2017-02-17 15:20:20 542

原创 Android activity 生命周期(一)

Android activity 生命周期(一)转载请注明出处:http://blog.csdn.net/chenlinfeng772885775/article/details/53672919 Activity是Android中一块非常重要的部分,负责了和用户的交互,是用户能直接体验到的部分,我们只有了解了Activity的生命周期,才能更好的在各种情况下使用他。首先,他的生命周期大概可以用下

2016-12-15 17:12:12 2139

原创 Android6.0 危险权限和普通权限

本文链接Normal Permissions如下ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICATION_POLICYACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBROADCAST_STICKYCHANGE_NETWORK_STATECHANGE_WIFI_MUL

2016-12-07 16:53:29 15816

原创 解析JSON入门

解析JSON入门 JSON 是现在比较流行的轻量级数据交换语言。要解析json首先要对它的结构有一定的了解。

2016-10-27 17:11:00 312

翻译 Android6.0changes 下

原文地址浏览器书签变化这个版本移除了对全局书签的支持。android.provider.Browser.getAllBookmarks()and android.provider.Browser.saveBookmark() 方法现在被移除了。同样的,READ_HISTORY_BOOKMARKS and WRITE_HISTORY_BOOKMARKS 权限也被移除了。如果你的APP目标版本是...

2016-08-26 23:31:40 786

翻译 Android 6.0 changes 上

Android 6.0的变化原文地址随着一系列新的特性以及功能, Android 6.0 (API level 23)包含了很多的系统变化以及API行为的变化。本文着重介绍了一些你应该理解的和占用APP中重要部分的变化。如果你之前已经在Android平台发布过APP,要知道这些平台上的变化将会影响你的APP。    运行时权限这个版本引入了一个新的权限模型,使得用户现在可...

2016-08-20 20:21:44 349

原创 Notification的版本适配问题

Notification notification1 = new Notification.Builder(context)    .setAutoCancel(true)    .setContentTitle("sdf")    .setContentText("rhrhrhr")    .setContentIntent(pendingIntent)    .setSma

2016-07-14 16:42:18 620

原创 去除listview默认点击效果和底色

android:listSelector="@color/transparent"        android:cacheColorHint="@color/transparent"

2016-06-15 11:37:34 391

原创 SVN工程状态标记消失问题

Window->Preferences->Appearence->Label Decorations .  把SVN选项勾上。

2016-06-15 10:54:59 1419

原创 重绘导致的edittext丢失焦点问题

在manifest中的activity中添加该项android:screenOrientation="portrait"

2016-06-08 14:51:03 1114

原创 设置背景颜色变暗

//设置背景颜色变暗                                //WindowManager.LayoutParams lp=getWindow().getAttributes();                lp.alpha=0.3f;              getWindow().setAttributes(lp);

2016-05-03 14:42:20 822

原创 android unable to get system library

sdk版本问题。1、修改project.propert中的target=android-19 使其高于自己使用的sdk等级2、等级符合要求的时候可能是生成出了问题。随便修改一个版本再改回来即可。

2016-04-11 09:02:55 302

原创 Android declare-styleable自定义属性

我们自己定义view,通常继承View,重写构造方法和onDraw等函数,然后具体实现自己定义的复杂view。但是继承这个自定义view的有的属性又各有不同,有的属性在原生属性中没有,这时候就可以使用自定义的属性来便捷的设置相应的属性。1、在res/values/下新建一个attrs.xml文件。写入这三级标签。并填入相应属性。

2016-03-17 15:24:26 457

原创 byte 常用转换

# Byte common transition**思路:**以 int 作为例子, 首先要知道他们的换算公式。 1 int = 4 byte ,1 byte = 8 bit , 一个 bit 是一位二进制。i 和 0xFF 取与得到最低位的 1byte 数据,然后将 i 右移8位再与 0xFF 取与得到第二低位的 1byte数据,以此类推。```java /**     * 将int转换为四个字...

2016-03-09 11:16:32 800

原创 css 居中

float:left; float:right;居左和居右,需要居中时可用以下方法margin:0px auto 对象上下间隔为0px,左右间隔自适应。可以去掉0后面的px单位,CSS代码中如果值为0可以不用跟长度单位。margin;0px auto或margin:0 auto可以让布局居中。

2016-02-01 10:32:17 300

原创 抽象类没有抽象方法

没有抽象方法的抽象类也可以被继承的。不需要强制子类覆盖,可以简化代码,只覆盖子类关心的内容,常用于事件监听的listerner.

2016-01-13 10:58:45 748

原创 javascript连接Java

webView.getSettings().setJavaScriptEnabled(true);webView.addJavascriptInterface(new JavascriptHandler(), "handler");4.0以后 @JavascriptInterface 注解的方法才能被调用。

2016-01-12 10:31:46 925

commons-net-3.3 源码包

commons net 源码 可以直接使用

2016-04-08

commons-net-3.3-api

commons-net-3.3-api

2016-04-08

jftp-1.52.jar

jftp-1.52.jar jftp方法所需包

2016-02-26

空空如也

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

TA关注的人

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