自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 算法笔记(C++描述)——KMP算法

概述 以发现者名字字母命名的KMP算法,是一种比BF算法(最朴素的串匹配算法)更高效的模式串匹配蛮力算法。预备概念1.主串:即将在其中进行匹配子串查找的长字符串。2.模式串:用来在主串中作为匹配时的参照模板的短字符串。3.模式串匹配算法:用来在主串中找到一个与模式串完全相同的子串的算法,找到即匹配成功,反之匹配失败。4.BF算法:一种普通的模式串算法,时间效率为O...

2019-04-14 14:21:41 309

原创 android开发学习笔记——利用HttpClient和HttpPost开发同步和异步的数据交互接口

如题,android网络框架年年有新,层出不穷。对于初学者来讲,先学会一种的基本用法就够了,能实现前后端的数据交互就够了。没必要浪费太多精力。本文就以最普通的框架HttpClient+HttpPost来实现android开发中与后端Post交互,而且是同步和异步两种实现的最精简方法(尽可能一句非必要的代码都没有,做到最精简。具体有特别的要求,再自行添加相应的配置语句)。 一、同步方法 ...

2019-02-25 22:48:33 769

原创 android开发学习笔记——第三方UI组件的使用方法和注意事项之LemonBubble

LemonBubble,是一个很方便的提示框组件。一般用它来构建一些简单的自动添加蒙板的反馈,例如“数据加载中”,“数据加载成功”,“数据加载失败”等等。这些在其官网上也有介绍https://github.com/LemonITCN/LemonBubble。用起来十分方便。其中          showRight(Context context,String title, int aut...

2019-02-25 21:47:28 452

原创 android开发学习笔记——第三方UI组件的使用方法和注意事项之com.diegodobelo.expandingview.ExpandingList

com.diegodobelo.expandingview.ExpandingList是一个很好用也很简单的实现带动画的层级列表的第三方UI组件。官方有用法介绍,   https://github.com/diegodobelo/AndroidExpandingViewLibrary 。这里用中文再尽可能简洁地讲述一遍用法,并在细节上进行一些补充。       添加依赖什么的配置问题就不说了。...

2019-02-25 21:03:29 309

原创 android开发学习笔记——ListView的使用和BaseAdapter的继承

场景需求描述:  在android开发过程中,UI经常需要动态加载一个由任意数量的类似的项所构成的列表,因为其项的数量是不定的,而且可能动态改变,因此不能在xml文件中静态设置。而应使用“在xml中放置listView,在java代码中动态加载”的方式实现。 具体实现步骤     一、在需要显示列表的activity中放置ListView组件(不再赘述)     二、创建并设计...

2019-02-25 20:30:29 241

原创 android开发学习笔记——Handler消息处理机制

对于耗时操作,如加载数据,广告轮播等操作,我们会自然的想到开启新线程来动态更新UI,但是Android不支持显式地在子线程中更新主线程的UI组件,而必须要采用Handler来实现将子线程的数据或操作传到主线程的消息队列中来更新UI,因为子线程中没有默认的消息处理机制来更新UI——不安全。所以要了解Handler的消息处理机制。原理:借用一张网络图篇来描述如何在子线程中更新UI?上图...

2019-02-24 14:44:53 385

原创 android开发学习笔记——Activity与Fragment的生命周期及其方法简介

在android开发中,有很多项目逻辑,例如“每次回到主页面时都更新一遍数据”,“将一个activity分成多个fragment来实现分模块化开发,然后在activity中按照一定的顺序调用每个fragment的某些数据方法,使各个fragment协调工作”,等等。要实现这些,就必须要清楚地知道Activity以及Fragment各自的生命周期。 Activity1.首先理解构成app...

2019-02-23 22:30:21 276

原创 android开发学习笔记——好用的第三方UI库及导入时几则注意事项

在开发的过程中,为了不重复造轮子,也为了把更多的时间精力投入到数据逻辑的编写上,务必要使用第三方库来加快UI开发以及提高UI美观。下面别人整合的几个UI库的链接。     https://github.com/wasabeef/awesome-android-ui     https://hndeveloper.github.io/2017/github-android-ui.html...

2019-02-23 21:42:44 2562 2

原创 JavaFX学习笔记——用法技巧总结(五)

如何正确监听键盘事件问题对于一个事件的触发,这里摘取JavaFx China对于常用的鼠标事件和键盘事件的描述 当一个动作发生时,系统根据内部规则决定哪一个Node是事件目标。规则如下:● 对于键盘事件,事件目标是已获取焦点的Node。● 对于鼠标事件,事件目标是光标所在位置处的Node。 对于一个可输入可聚焦的类似于textField的对象,键盘事件的使用也完全没有任...

2018-11-19 08:49:04 1017

原创 JavaFX学习笔记——用法技巧总结(四)

如何为同一对象的同一事件绑定多个处理器问题     倘若类似编写下列代码,希望在点击时,既输出“这里执行第一种处理”又输出”这里执行第二种处理“                                                                Circle circle = new Circle(100,100,50);               ...

2018-11-19 08:44:59 268

原创 JavaFX学习笔记——用法技巧总结(三)

如何创建响应式组件问题     在不同的分辨率下,界面的大小始终固定,导致在小屏幕下的文本图片大小适中,而在大屏幕下显得过小 解决方法     使用dimension类Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();   //获得当前屏幕的宽度(像素点)   int width = (...

2018-11-19 08:43:10 305

原创 JavaFX学习笔记——用法技巧总结(二)

如何改变兄弟节点的覆盖关系问题     倘若编写下列代码,实现把两个相交的圆作为一对兄弟节点放入同一个父节点pane中,却发现不能让circle覆盖circle2                                                                 Circle circle = new Circle(100,100,50);     ...

2018-11-19 08:42:03 337

原创 JavaFX学习笔记——用法技巧总结(一)

如何获得子节点问题     多个Node装入了一个Pane或者Group中,但是有时候又需要对一个Pane或Group内的Node分别做出不同的操作,而书上以及教程中只告诉我们添加子节点的步骤即                                              pane.getChildren().add(node); 解决方法     很简单,...

2018-11-19 08:40:02 915

原创 JavaFX学习笔记——重要理念的建立与辨析(九)

事件向下派发再向上冒泡 默认条件下,一个事件触发后自stage向最底层的Node逐渐派发,再从最底层冒泡回到stage。中间的对象使用addEventFilter进行派发过程中事件的监听,使用addEventHandler进行冒泡过程中的事件监听 因此倘若有如下代码     Circle circle = new Circle(100,100,50);        P...

2018-11-18 17:25:36 197

原创 JavaFX学习笔记——重要理念的建立与辨析(八)

Node不能被Pane(Group)共享问题     倘若编写如下代码,试图将一个circle装入两个pane中,会有问题                           Pane pane = new Pane();                          ObservableList<Node> list = pane.getChildren();...

2018-11-18 17:23:42 155

原创 JavaFX学习笔记——重要理念的建立与辨析(七)

建立父子节点教程中似乎都没有强调这件事情,是默认了吗?(不知道)总之啰嗦一下,把逻辑相同或者相似的组件Node装入一个Group或者Pane或者任何继承自Parent类型的子类对象中,这种封装很有必要,帮助你把多个Node看成一个整体,可以对其父节点进行操作,即所有子节点都进行了操作。...

2018-11-18 17:22:54 150

原创 JavaFX学习笔记——重要理念的建立与辨析(六)

慎用property绑定原因:    1.常会出现意料之外的情况    2.代码可读性降低 举例:   Circle circle = new Circle(100,100,50);   circle.getStyleClass().add("test-circle");…………(这后面就是circle对应的逻辑代码)circle.centerXProper...

2018-11-18 17:21:59 172

原创 JavaFX学习笔记——重要理念的建立与辨析(五)

处理器注册与定义分离问题     看过相关教程后,我们肯定对JavaFX在事件处理上,介绍的lambda表达式以及内部类简洁用法印象深刻。但细想后其仍有很大的局限性。    局限一:不适用与团队开发            UI程序员与功能开发程序员协作起来困难重重,因为功能开发程序员的对handler功能的每一次修改或扩展,都需要UI程序员对handler注册位置的代码进行同步修改...

2018-11-18 17:20:22 141

原创 JavaFX学习笔记——重要理念的建立与辨析(四)

界面逻辑与功能逻辑分离同上一章的思想,为得是代码的分类层次更明确,耦合性更低。意思是    用来响应用户操作的相关动画、声音等逻辑,与那些具体要实现软件功能的逻辑分离在不同的方法或者类中。这样子做,排错定位比较方便,可读性也大大提高。...

2018-11-18 17:19:24 134

原创 JavaFX学习笔记——重要理念的建立与辨析(三)

逻辑与样式分离这是我从网页前端设计的HTML、JavaScript、CSS借鉴而来的概念,适用于所有团队开发。 定义各组件的时候,往往会有下面这种想法我Circle circle = new Circle(centerX,centerY,radius),顺便就在下面加上 setFill(Color.RED),setEffect(New Bloom()),setStroke(Colo...

2018-11-18 17:18:27 157

原创 JavaFX学习笔记——重要理念的建立与辨析(二)

并非万物皆为Node对Stage和Scene的大小位置等属性设置与Node不统一            可能是之前用过QT以及cocos2dX的先入为主的观念导致的问题         对node的操作我们有setLayoutX,setLayoutY来设置位置,可以装入Pane或者Group(与Pane及其类似的一个类,但名称我个人觉得更能体现父节点的概念);         ...

2018-11-18 17:16:54 202 2

原创 JavaFX学习笔记——重要理念的建立与辨析(一)

尽量使用css设置样式原因:1.CSS语法简单,格式统一,简化了代码重用的方法,使得页面逻辑与页面样式的设计相分离,更有利于团队协作。更改起来也更加方便。2.在静态(即只需初始化一次,没有太多复杂的额外操作)的组件样式设置或者简单动态响应(如鼠标移入时的样式,只需在类名中加“:hover"即可设置)使用CSS更方便示例:  //源文件:test.java  Circl...

2018-11-18 17:15:07 136

原创 JavaFX学习笔记——重要学习资源

一、《Java程序设计第十版》虽然这本书介绍得十分浅显,不如官方文档介绍的功能全面,也不如API文档值得进一步推敲但是其他学习来源有下面几种弊病   1.官方介绍文档:用法“高端”,一个组件的示例程序中往往杂糅了过多其他非必要的API调用。使得示例虽然看上去效果很好,但是对初学者来讲代码生涩难懂,还有大量翻译别扭的专业词汇,容易让人望而生畏。   2.API文档:对于JavaFX中...

2018-11-18 17:10:51 595

原创 计算机组成原理学习笔记-海明校验码

说明:可以先看实际举例再回头看其他说明便于快速理解。一、特点既可检错也可纠错二、用途背景原因:信息传输时因为种种原因会出现部分信息发生改变的情况,即二进制信息的某个别位出现错误的情况。用途:通过在原信息的特定位置加上海明码的方法,来实现对一串数据位中的某个(注意是“某个”,大多数情况下只会出现一个位出错,若多位出错则该校验法失效)出错位的纠错(即错误定位和纠正)二、预备定义和文...

2018-10-31 17:05:04 1242 1

原创 C++学习笔记——关于STL sort()函数的第三个参数问题

STL    sort()函数有三个参数的重载类型template<class RandomAccessIterator, class Predicate> void sort( RandomAccessIterator first, RandomAccessIterator last, Predicate comp );...

2018-10-13 22:28:42 1203

原创 C++学习笔记——C++ Primer Plus中文第六版 第十六章STL编程练习解答

发现答案资源不全,因此贴出自己的解答,都为STL应用基础题,如有谬误,还请不吝赐教。第一题要求:回文字符串判断(假定字符串中没有大小写、空格、标点符号等问题)解答:#include<iostream>#include<string>#include<ctype>#include<algorithm>int main(vo...

2018-10-13 22:13:36 272

原创 JS笔记—关于类的静态属性的继承(call方法的运用)

网上看了不少,感觉废话都太多,抓不住重点,下面单刀直入。一、先弄清楚对于对象而言call()方法的语法obj1.obj1's function.call(obj2,parameter1,parameter2,......)     作用:让obj2代替obj1调用原本属于对象obj1的方法obj1's function,其中parameter1,parameter2......为调用o...

2018-08-18 11:46:26 1122

原创 微信小程序小白总结全攻略4-服务器(windows OS)简易搭建和相关配置

废话少叙,切入正题。    作为微信小程序后端的“核心”,服务器搭建这一步至关重要,而且操作繁杂,需要有耐心而且会查阅,下面将提供一种简单有效的简易的微信小程序服务器从零搭建和相关配置方法。一、服务器的购买     同域名一样,如果你打算稍微学下服务器的搭建相关知识,并且不想有任何限制(即服务器用一段时间,后面还想方便地用来作网站的服务器),而不是去学如何使用腾讯云的微信小程序解决方案,那么买任何...

2018-07-02 22:41:11 7423 1

原创 微信小程序小白总结全攻略3-简易开发前的准备工作

老规矩,废话全在第一章说了,下面直奔主题。Why?   为什么要做这些准备工作?       答:对于一个微信小程序的简易开发,尽管核心在于其设计和编程实现。但是有很多东西要提前准备好,否则都编程完了再去弄,会有很多时间需要等待但是没有事可做。因此,最合理高效地做法就是开发与其他准备工作并行去做。而且有些准备工作不做好,开发就无法顺利进行。What?   那么要进行一次微信小程序的简易开发需要做什...

2018-07-01 21:50:15 2902

原创 微信小程序小白总结全攻略2-学习路线与相关资源和调试工具

废话都在前一章讲了,这里直接切入正题。学习路线如下图

2018-07-01 01:16:25 1606

原创 微信小程序小白总结全攻略1-流程简介

    阅前须知:        因为兴趣,自己在网上学习着小打小闹地进行了一次微信小程序的后台搭建,因为属于大一探索阶段,之前没有接触过这个领域,所以很多东西理解不深,方法简陋,因此建议懂一点的人就不用浪费时间看这些了。我写这些纯粹是为了对自己这段时间关于后台搭建的一个学习总结,并且对于同样零基础想自学了解一下小程序后端的小白(是那种对后端一无所知的小白)提供一点参考帮助,少走些弯路(本人在某些...

2018-06-19 16:49:12 3291

空空如也

空空如也

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

TA关注的人

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