自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jetpack练手(04):Lifecycle

文章目录一、搭建布局二、非 Lifecycle 实现三、Lifecycle 实现一、搭建布局新建 LifecycleDemo 工程实现 界面停留时间计数,在 activity_main.xml 搭建简单布局(省略属性),如下:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.co

2020-09-03 15:36:18 1623

原创 Jetpack练手(03):DataBinding

文章目录一、导入依赖二、搭建布局三、创建 ViewModel 数据对象四、修改布局为 DataBinding 布局五、绑定数据六、Demo 效果一、导入依赖新建 DataBindingDemo 工程,参照 LiveData 练手,在 build.gradle(Module:app) 中导入依赖:dependencies { def lifecycle_version = "2.2.0" def activity_version = "1.1.0" // ViewModel

2020-08-26 17:37:22 1724

原创 Android MotionLayout 运动布局的使用

Google 在 2018 年开发者大会上推出一种新的布局组件 MotionLayout。其官方定义如下:MotionLayout is a layout type that helps you manage motion and widget animation in your app. MotionLayout is a subclass of ConstraintLayout and builds upon its rich layout capabilities.简单翻译过来:MotionL

2020-08-25 15:04:45 2654

原创 Jetpack练手(02):LiveData

文章目录一、导入依赖二、搭建布局三、创建 LiveData 对象四、观察 LiveData 对象五、Demo 效果一、导入依赖新建 LiveDataDemo 工程,在 build.gradle(Module:app) 中参考 Lifecycle 声明依赖项 导入依赖。dependencies { def lifecycle_version = "2.2.0" // ViewModel implementation "androidx.lifecycle:lifecycle-

2020-08-20 15:10:12 1287

原创 Jetpack练手(01):ViewModel

参考 Android 开发教程(使用 Jetpack) 进行 Jetpack 练手。文章目录一、导入依赖二、搭建布局三、创建 ViewModel四、实现 ViewModel五、Demo 效果一、导入依赖新建 ViewModelDemo 工程,在 build.gradle(Module:app) 中参考 Lifecycle 声明依赖项 导入依赖。dependencies { def lifecycle_version = "2.2.0" // ViewModel imp.

2020-08-20 14:20:51 1747

原创 CocosCreator项目实战(15):动画与音效

文章目录一、动画二、音效一、动画需要新增加动画的地方有三处:1)新生成数字块时;2)数字块合并时;3)显示排行榜时。可参考cc.tween官方文档。新生成数字块时。修改game.js的addBlock()方法。 addBlock() { ... if (locations.length == 0) { ... } else { ....

2020-03-26 12:32:54 3323

原创 CocosCreator项目实战(14):功能-分享

文章目录一、主动分享(游戏结束)二、主动分享(排行榜)三、被动分享一、主动分享(游戏结束)二、主动分享(排行榜)三、被动分享

2020-03-24 23:18:32 2469

原创 CocosCreator项目实战(13):功能-排行榜

文章目录一、主域设置二、子域设置三、其他相关设置参考Cocos接入微信小游戏官方文档,为了保护其社交关系链数据,微信小游戏增加了开放数据域的概念。只有在开放数据域中才能访问微信提供的wx.getFriendCloudStorage()和wx.getGroupCloudStorage()两个 API来实现排行榜功能。查看微信开放接口API的官方文档,了解相关用法。参考《Cocos Cre...

2020-03-21 23:19:43 6152 2

原创 CocosCreator项目实战(12):屏幕适配

文章目录一、原理分析二、适配方案一、原理分析参考官方文档:多分辨率适配方案。假设设计分辨率为800 x 480,宽高比为1.67,讨论实际情况,主要分为三种。设计分辨率宽高比 = 屏幕分辨率宽高比假如屏幕分辨率是1600 x 960,正好放大2倍,完美适配屏幕。设计分辨率宽高比 > 屏幕分辨率宽高比

2020-03-14 23:23:08 2546

原创 CocosCreator项目实战(11):构建发布微信小游戏

文章目录一、Cocos构建二、发布微信小游戏一、Cocos构建1. 点击项目 -> 构建发布。2. 发布平台选择微信小游戏,点击构建,当显示complete时,即构建完毕。发布平台选择微信小游戏,点击构建,当显示complete时,即构建完毕。二、发布微信小游戏前往小程序注册,注册账号。注意:每个邮箱仅能申请一个小程序。按照要求依次进行。...

2020-03-14 21:44:18 3805

原创 CocosCreator项目实战(10):功能-重新开始

文章目录一、<重新开始>按钮二、<再玩一次>按钮一、<重新开始>按钮在game.js属性中添加restartButton。并与Canvas节点绑定。

2020-03-12 15:54:38 5926

原创 CocosCreator项目实战(09):界面美化与结束界面

文章目录一、界面重绘二、结束界面一、界面重绘重新布局界面使其更为美观。Canvas节点下主要为bg和box,box分为titleBox、tipBox、gameBox、guideBox四块。titleBox:包含titleLabel、scoreBox、bestBox;tipBox:包含welcomeLabel、tipLabel、restartButton、rankButton;gameBox:包含gameBg节点,添加了Graphics组件由于绘制深色圆角矩形背景。

2020-03-11 21:55:38 2613

原创 CocosCreator项目实战(08):计分与失败检测

文章目录一、计分二、失败检测一、计分游戏的计分规则为:每当两个相同数字块合并时,就加上这两个数字块的分值,比如2和2合并为4时,分数会加上4分。所以修改moveDirection(direction)中的Merge相关操作更改score即可,然后在afterMove(hasMoved)方法中调用updateScore()方法。

2020-03-10 11:14:27 2852

原创 CocosCreator项目实战(07):移动与合并

文章目录一、算法思路二、算法框架三、代码补完一、算法思路递归实现思路:每一步迭代分为以下几种情况进行处理:a. 移动到顶:结束迭代;b. 当前数字为空:结束迭代;c. 移动方向上前一个数字格为空:向该方向移动;d. 移动方向上前一个数字格相同:合并,结束迭代;e. 移动方向上前一个数字格不同:结束迭代。

2020-03-09 16:59:43 2158

原创 CocosCreator项目实战(06):事件监听

文章目录一、添加事件监听与方向判断二、优化方向判断一、添加事件监听与方向判断在start()中添加事件监听addEventHandler()方法。

2020-03-08 18:01:25 2013

原创 CocosCreator项目实战(05):生成数字块

文章目录一、找空闲位置二、随机生成2或4的块一、找空闲位置编写一个找ROWS * ROWS块中空闲位置的函数getEmptyLocations(),返回值为一个表示空闲位置的数组。

2020-03-08 15:58:42 2060

原创 CocosCreator项目实战(04):初始化

文章目录一、分数归零二、清空所有块一、分数归零添加init()函数,为了方便之后分数的更改,定义updateScore(number)函数,用于更改分数值与分数标签的显示。

2020-03-08 11:53:35 2892 1

原创 CocosCreator项目实战(03):背景块设置

文章目录一、背景块节点二、预置资源三、绘制第一个数字块四、绘制所有背景块一、背景块节点在bg节点下创建Sprite(单色)节点命名为block,在block节点下创建Label节点命名为numberLabel,可预先设置numberLabel的String为2048,字体大小为60,行高为64,字体颜色为#000000。

2020-03-08 11:14:40 4917 2

原创 CocosCreator项目实战(02):基本场景搭建

文章目录一、背景搭建二、游戏标题与分数标签三、预览一、背景搭建在资源管理器assets目录下右击新建选文件夹,新建几个目录。scenes:场景目录;scripts:脚本目录;prefabs:预置资源目录 。

2020-03-07 15:44:38 4048

原创 CocosCreator项目实战(01):开发工具安装

参考 【NEXT学院】使用Cocos Creator开发微信小游戏《2048》 进行项目实战。文章目录一、微信开发者工具安装二、Cocos Creator安装一、微信开发者工具安装1.参考微信官方文档下载页面,选择稳定版 Stable Build下相应操作系统版本进行下载。2.双击安装包运行,点击下一步。

2020-03-07 14:34:52 1773

原创 面试笔记:面经-拼多多

文章目录一、自我介绍及印象最深项目二、机器学习2.1 SVM与LR的区别。2.2 SVM介绍、支持向量定义、SVM大致推导过程。2.3 L2正则介绍及作用。2.4 KMeans介绍及相关参数。三、场景题3.1 数据获取3.2 特征提取3.3 模型选择3.4 精确率判断四、算法(手撕)4.1 链表的构造(Node类,LinkedList类以及add、delete方法)。4.2 链表的快排。4.3 快排的最好最坏平均时间复杂度。五、简历其他内容讨论一、自我介绍及印象最深项目

2020-03-07 11:10:08 1644

原创 面试笔记:面经-猿辅导-一面

文章目录一、自我介绍二、项目相关2.1 React介绍2.2 SVM介绍三、Java后台3.1 Java异常处理3.1.1 Exception和Error的区别3.1.2 RuntimeException和自定义Exception的区别3.2 Java线程3.2.1 线程安全3.2.2 sychronized、lock和voliate四、算法题(手撕)4.1 以X为基准分割链表4.2 逆时针打印二...

2020-03-07 11:10:00 9682 1

原创 面试笔记:面经-网易考拉

文章目录一、自我介绍二、项目相关2.1 React Native2.2 wexx三、Java后台3.1 Spring中的IoC的理解3.2 数据库MySQL3.3 Hashmap底层实现及扩容3.4 一致性hash算法四、算法(口述)4.1 二叉树两个节点的最大距离一、自我介绍个人背景、项目经历、实习经历。二、项目相关2.1 React Native2.2 wexx三、Java后...

2020-03-07 11:09:50 1642

原创 面试笔记:面经-腾讯-一面

文章目录一、自我介绍二、Java后台2.1 自定义view2.2 快速排序2.3 堆内存和栈内存。2.4 GC机制2.5 内存泄漏及如何避免内存泄漏三、算法题(口述)3.1 洗牌算法3.2 大数乘法一、自我介绍二、Java后台2.1 自定义view2.2 快速排序2.3 堆内存和栈内存。2.4 GC机制2.5 内存泄漏及如何避免内存泄漏三、算法题(口述)3.1 洗牌算法3...

2020-03-07 11:09:43 1628

原创 面试笔记:面经-美团点评

文章目录一、自我介绍二、Java后台2.1 计算机网络2.1.1 OSI七层模型2.1.2 TCP三次握手2.1.3 为什么不能两次2.2 Java基础2.2.1 重载和重写的区别2.2.2 JRE和JDK的区别2.2.3 StringBuilder和StringBuffer的区别2.2.4 HashMap2.3 多线程2.3.1 synchronized和volatile2.3.2 死锁条件2....

2020-03-07 11:09:34 1712

原创 面试笔记:面经-猿辅导-二面

文章目录一、自我介绍二、Java后台2.1 操作系统2.1.1 应用程序加载到操作系统的过程2.1.2 C语言文件执行过程2.1.3 编译过程中出现未定义变量的原因2.2 计算机网络2.2.1 http发送IP的过程2.2.2 hosts文件的作用2.2.3 解释DNS2.2.4 一个端口可以既tcp又udp吗2.2.5 server和client通信过程中server挂掉会怎么样三、算法题(手撕...

2020-03-07 11:09:23 3612

原创 面试笔记:面经-网宿科技

文章目录一、自我介绍二、Java后台2.1 JVM内存2.1.1 JVM内存2.1.2 堆内存和栈内存2.1.3 GC机制2.2 集合类2.2.1 Set、List、Map2.2.2 HashMap底层实现2.2.3 为什么不用二叉查找树2.3 多线程2.3.1 synchronized和volatile2.3.2 CAS2.3.3 ReentrantLock和Synchronized2.4 数据...

2020-03-07 11:09:16 2161

原创 面试笔记:面经-腾讯-二面

文章目录一、自我介绍二、Java后台2.1 计算机网络2.1.1 http访问请求过程2.1.2 http界面渲染过程2.1.3 什么是端口2.1.4 TCP拥塞控制2.2 JVM内存2.2.1 GC机制、算法2.3 Java多线程2.3.1 多线程注意事项2.3.2 线程死锁原因2.3.3 多线程生产者消费者模型三、移动端开发3.1 自定义view3.2 activity和view的关系3.3 ...

2020-03-07 11:09:01 1645

原创 面试笔记:面经-腾讯-三面

文章目录一、自我介绍二、移动端三、推理题四、算法题一、自我介绍二、移动端1.React介绍(Diff算法)2.TCP流量控制2.图片格式jpg、gif、png3.登陆界面的实现4.前端和后端的通信三、推理题一个商人骑一头驴要穿过1000公里的沙漠,去卖3000根萝卜。已知驴一次可驮1000根萝卜,但每走一公里又要吃掉一根萝卜。问:商人一共可以卖出多少根萝卜?四、算法题...

2020-03-07 11:08:54 2195 1

原创 面试笔记:面经-瓜子

文章目录一、自我介绍个人背景、项目经历、实习经历。二、简历相关1.React Native2.印象最深的项目三、Java后台1.线程创建2.异步3.JVM4.Java GC3.TCP UDP四、代码题1.反转链表...

2020-03-07 11:08:46 1783

原创 面试笔记:面经-顺丰科技

文章目录一、自我介绍二、简历相关2.1 原生APP与Web APP的比较三、Java后台3.1 Spring常用注解3.2 Redis介绍3.3 MySQL索引及怎么创建索引3.4 Spring用了哪些设计模式3.5 以实际生活例子介绍设计模式3.6 Servlet介绍3.7 微服务3.8 简述软件开发过程3.9 ConcurrentHashMap介绍四、其他

2019-08-14 16:39:35 3047

原创 面试笔记:面经-蚂蚁金服

文章目录一、自我介绍二、Java后台基础2.1 HashMap相关2.1.1 HashMap的存储结构2.1.2 数组和链表分别的作用2.1.3 HashMap判断key相同2.1.4 HashMap扩容以及元素的移动2.1.5 HashMap的hash冲突解决办法2.1.6 HashMap为什么引入红黑树及优势2.1.7 为什么不用二叉查找树2.2 线程安全2.2.1 怎么做到线程安全2.2.2 介绍sychronized2.2.3 介绍volatile2.2.4 介绍Ree

2019-08-14 15:49:17 1632

原创 面试笔记:计算机网络

1、OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI协议作用物理层RJ45、CLOCK、IEEE802.3(中继器,集线器)通过媒介传输比特,确定机械及电气规范(比特Bit)数据链路层PPP、FR、HDLC、VLAN、MAC(网桥,交换机)将比特组装成帧和点到点的传递(帧Frame)网络层IP、ICMP、ARP、RARP、OSPF、IPX、...

2019-07-29 15:17:10 1646

原创 FastRTPS学习笔记(1):RTPS概述

文章目录一、RTPS简介二、RTPS优点三、RTPS架构3.1 结构模块3.2 消息模块3.3 行为模块3.4 发现模块四、参考来源一、RTPS简介实时发布订阅协议(Real Time Publish Subscribe Protocol,RTPS)是一种协议,用于在单播和多播中通过UDP等不可靠传输进行best effort和reliable的发布-订阅通信。RTPS已被OMG(对象管理组...

2019-05-17 16:47:19 12583

原创 FastRTPS学习笔记(2):安装、创建简单应用

一、编译前准备1.1 环境Linux:Ubuntu 16.04LTSMake:GNU Make V4.11.2 下载FastRTPS从Github克隆项目:cd /optsudo git clone https://github.com/eProsima/Fast-RTPShttps://github.com/eProsima/Fast-RTPS 该源为最新的v1.7.2...

2019-05-17 14:49:31 9626 3

原创 OpenDDS学习笔记(4):OpenDDS在Linux环境编译

一、编译前准备1.1 环境Linux:Ubuntu 16.04LTSPerl:V5.22.1Make:GNU Make V4.1gcc:V5.4.01.2 下载ACE+TAO与OpenDDSACE+TAO下载地址:http://download.dre.vanderbilt.edu/OpenDDS下载地址:http://download.ociweb.com/OpenDDS/...

2019-04-30 15:01:27 9713 4

原创 OpenDDS学习笔记(3):OpenDDS概述

文章目录一、DCPS概述1.1 基本组成1.2 内置主题1.3 QoS策略1.4 Listener1.5 条件二、OpenDDS实现2.1 兼容性2.2 OpenDDS架构一、DCPS概述1.1 基本组成域(Domain)域是DCPS内部最基本区分单元。每个实体必须属于某一个域,并且只能在相同域中与其他实体进行相互作用。应用程序代码可以通过实体自由地与多个域进行相互作用。域参与者(...

2019-04-30 15:00:17 11022

原创 OpenDDS学习笔记(2):DDS概述

文章目录一、DDS体系结构1.1 DLRL层1.2 DCPS层二、DDS通信过程三、DDS通信特点四、DDS标准实现4.1 RTI DDS软件4.2 OpenSplice DDS软件4.3 OpenDDS软件一、DDS体系结构DDS采用DCPS通信机制,提供一个与平台无关的数据模型。它允许应用程序实时发布拥有的信息,并订阅需要的信息,能较好处理不可靠网络通信中数据自动发现、可靠性和冗余性等问...

2019-04-25 21:40:38 11136

原创 OpenDDS学习笔记(1):数据为中心的发布/订阅模型

文章目录一、四种通信模型比较1.1 点对点模型1.2 C/S模型1.3 分布式对象模型1.4 P/S模型二、实时发布订阅模型三、数据为中心的发布/订阅模型一、四种通信模型比较1.1 点对点模型点对点模型为简单一对一通信模式。优点:支持高带宽信息传输;不足:多数情况下需要一对多通信服务。1.2 C/S模型C/S模型分为客户和服务两部分,分别运行于不同机器或进程中。服务器为客户提供...

2019-04-25 09:01:44 8417

原创 剑指Offer(67):剪绳子

一、题目描述:给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…k[m]。请问k[0]×k[1]×…×k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度为2、3、3的三段,此时得到的最大的乘积是18。

2019-04-19 16:28:22 250

空空如也

空空如也

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

TA关注的人

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