- 博客(39)
- 资源 (5)
- 收藏
- 关注
原创 算法——求礼物的重量集合(美团在线笔试算法第二题)
题目概述:小明给小红准备了n份新年礼物,但小明不会告诉小红每件礼物的重量,小明将礼物重量和写成一个子集。让小红猜每个礼物的重量。例如:输入:整数n 和 一个整数数组sum[2^n-1];整数数组里面包含重量值。n=3;sum[]={12,6,18,5,17,11,23},sum内容为相加的重量集合(本身不相加);输出:5,6,12;解题思路:集合中所有值都有可能是礼物重量,...
2018-10-22 22:29:33
998
原创 算法——LeetCode——409. 最长回文串
题目概述:给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。解题思路: 初看这道题...
2018-09-18 17:09:49
367
原创 算法——LeetCode——219. 存在重复元素 II
题目概述:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums...
2018-09-11 08:05:27
339
原创 算法——LeetCode——217. 存在重复元素
题目概述:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true这是一个LeetCo...
2018-09-10 23:06:55
336
原创 Android练手项目------Memory-capsule(一款备忘录程序“记忆胶囊”)
这是一个简单的练手小项目,项目基于MPV的设计模式打造,我把她命名为“记忆胶囊”。设计目的: 1,记性不好,又不太喜欢记日记,而且对手机自带的备忘录程序不是特别满意,于是萌生了一个这样的想法。 2,学习了许久的Android开发,总想着做点东西,练习一下自己的技术。设计展示 界面是采用的Material design设计语言,模仿的网上的一些界面,加入了一些自己的原创,该App有...
2018-06-01 22:44:10
1153
原创 Python-爬虫——爬取糗事百科上面的段子(适用于有Python基础)
Python语言在最近几年之间发展迅猛,比较喜欢用Python来写一些爬虫。Python爬虫因为有极其丰富和功能强大的库在爬虫领域占据领导地位,以下的文章将以一个新手的姿态来记录下用Python写爬虫的历程,也可以为想学习爬虫的人提供一个简单的教程。 1,分析糗事百科的网页源代码。 2,构建提取相应的正则表达式。 3,写出算法来提取相应内容。 4,遇到的一些问题和小窍门。 对于糗...
2018-03-17 17:45:20
2420
原创 设计模式——初识MVP的设计模式
陆陆续续接触了许多关于Android的知识,其中不乏有Java基础,Android的API,各类的算法知识。最近一段时间开始研究Android的设计模式,我本身非科班出身的程序员,没有经过科学系统的学习过设计模式的知识,我这样的门外汉只能说说自己的愚见了。 我并不懂为什么要有这个MVP的设计模式,我只知道它把一切的问题搞得特别复杂,但也明白一个道理,存在即合理,可能在今后的实际工作
2017-10-17 20:33:07
591
1
原创 Android开源框架——Retrofit入门(二)
在明白和清楚了Retrofit的基本用法和获取百度主界面之后,下一步尝试获取知乎日报的最新文章。 知乎日报的开放API: http://news-at.zhihu.com/api/4/news/latest这个API返回的是json字符串,我们可以通过一些方式将json字符串转化为Java实体类。 1、推荐使用网上的一个服务 http://www.bejs
2017-07-29 17:35:10
607
原创 Android开源框架——Retrofit入门(一)
1、什么是Retrofit? 一个针对Android和Java类型安全的http客户端 2、Retrofit有什么好处 ? 用于Android和java的网络库,使用它可以简化我们网络操作的工作,提高效率和正确率。尽管我们可以用原生API实现网络请
2017-07-29 12:44:31
445
原创 Android开源框架————RxJava/RxAndroid入门
1、什么是RxJava/RxAndroid? 它是一种帮助你做异步的框架。 2、RxJava/RxAndroid有什么好处? Android本身提供了Hander和AsyncTask来进行异步操作,目的是让异步操作更为简洁,但RxJava/RxAndroid更为简洁,随着程序逻辑的复杂,依然能够保持简洁。
2017-07-29 10:54:43
814
原创 算法——在安卓中实现对前一个星期或后一个星期日期的获取
在开发过程中,总会遇到对日期的选择这样的一个问题,在最近的开发中我遇到了一个需求,就是将前一个星期的日期(每天的年月日)提取出来,然后整理成历史记录以供查询,在尝试了多种方法后,最后终有收获,现将方法分享出来。整个的方法写成了一个类,在这个类里面我主要运用到了Calendar这个类来帮助我们实现对前一星期日期的提取。 具体思路如下: 1、先使用Calendar获
2017-07-03 19:26:40
2973
原创 Android的Hander传输List,Map;
相信大家对于Hander的用法一定不会陌生,但是最近面临的一个如何传输List和Map的问题。在这里要用到类型转换。下面的一条实例解决这个问题。Hander的代码:private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) {
2017-05-27 17:01:02
1030
原创 算法——Android中读取json中的值
一个APP在从服务器获取数据通常通过xml和json的两种文本来传输数据,就目前来看,JSON简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JOSN 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。 在这里面向大家介绍一下json的解析。 1>在工程里面我创建了一个抽象的工具类GsonTool,在这里面写了两
2017-05-26 14:45:32
1830
原创 算法——阿拉伯数字转化为中文数字
程序中遇到了一个算法问题,解决了这个问题后挺有意思的,现在讲这个算法分享一下,也希望对大家有所帮助。下面对这个算法进行一些介绍:整体算法的目的就是解决将阿拉伯数字转化为中文数字,现阶段对于十万以内的十分精确,十万以外有零的情况下有点瑕疵。1>先判断输入的string是不是0,将string转换为int与0比较(一定是将string转化为int否则对于0000的这种情况有问题)。如果是0
2017-05-24 16:06:00
1542
原创 Android中实现状态圆(with Fragment)
在使用Fragment这个控件的过程中,我想着如何才能让用户知道他们正在浏览在哪个Fragment上了,于是我打算写一个状态圆来与用户交互。这个状态圆只是为了简单示范和解决我的实际问题而写的,不代表它有普遍功能。1>确定该自定义View的宽高比,本例中定义的宽高比为2:1;2>准备两种颜色的paint一种定义为PaintBackgrount,一种为PaintCurr...
2017-05-24 15:16:07
393
原创 Android中添加外部字体库和竖直排列字体
一、在Android开发中会遇到系统提供的字体并不能满足自己对字体的设计需要,这就需要引进外部字体库了。下面简述一下如何引入外部字体库。1>在自己工程文件目录下新建一个assets文件夹,在assets文件夹里面新建一个font文件夹。具体路径如下图: 2>然后将字体包如同图片文件一样放到font这个文件夹里面。 3>利用TypeFace...
2017-05-24 14:33:46
904
原创 Android实现带圆环的圆形头像
在最近写的一个天气APP中用到了圆形头像这样的一个样式,中间是圆形的头像(被圆形切割的图片),周围是一个带颜色的圆环。如下图所示,今天就来说一所它的实现过程。它的实现也不是特别困难,其实就是用到了BitmapShader这个用法,然后包装成一个paint,最后画出一个圆。1>实现一个Paint画出以圆形背景的圆。2>以同样的圆形画出一个稍微小一点的圆,作为它的有色圆环。...
2017-05-24 13:32:22
1030
原创 Android小考-----一款天气APP钦天监
Android接触了快三个月了,在这一段时间中也初步了解了Android开发的一些基本要素。不断的练习实践是提高编程能力的不二法门,所以我自己制作了一款天气APP。这款天气APP取名为钦天监。钦天监是中国古代的一个观测天象、制定历法、专门为皇室服务的官员。我将这款APP叫做钦天监就是有独显尊贵的含义。(哈哈哈,就是感觉这名高端大气上档次,没别的老铁们)。 这款APP主要的任务就是预报当天
2017-05-22 18:31:09
628
原创 Android中实现波浪球效果
波浪球的效果一直都是想模仿的对象,在最近一段时间里模仿了这一界面,其实所用知识并不多。1>波浪的效果是利用三角函数来实现的,在自定义view中创建容量为width的数组,由y=Asin(Kx+T)+H得到每个x相对应的y值,然后存入数组里面。2>利用Android中Canvas提供的drawLine来从上部向下画线,每个像素上画完线之后就组成了图像。3>...
2017-05-01 19:41:07
2492
原创 Qt模仿IOS滑动按钮
在上一篇文章里我介绍了在Android中如何实现IOS形式的滑动按钮,在这篇文章中我将介绍如何用Qt实现IOS形式的滑动按钮。其实在Android中实现这个和在Qt中实现是由一样的道理的,只是使用的工具有所不同罢了。在Qt里面我们使用的是C++,而Android中则是Java。语言并不是决定的因素,而实现的思路才是最终决定胜负的利器。1>在Android中的绘制主要是在OnDraw这个函数里面
2017-04-30 17:45:28
5079
3
原创 Android实现类似ios滑动按钮
没吃过猪肉,但也一定见过猪跑喽。IOS的滑动按钮菜单在UI设计里面绝对堪称一绝,在学习了Android的自定义view后,我萌生了模仿它的想法。实现上面的模拟需要自定义一个View; 1>在View的OnDraw里画出圆角矩形,分别为灰色圆角矩形,红色圆角矩形,和绿色圆角矩形。然后计算相应的位置。 2>本例中的宽高比为1:0.65,内部红色矩形...
2017-04-28 21:05:07
2601
原创 Android自定义一个View实现运动的小人
实现一个能动的人是我对模仿《奇怪的大冒险》第一阶段的最后一步,这一段时间学会了许多的东西,见到了很多大坑,也顺利脱险了。而本文所说的|能动的人是基于ImageView打造的。在ImageView中我又给它添加了更多的属性来实现我想要的功能。 1>在实现过程中小人走动的实现是依靠AnimationDramble加载两张运动的图片来实现的。 2>实现过程中我...
2017-04-25 20:41:57
1176
1
原创 Android针对保存用户设置的设计
在一些App里面总会保存一些用户自己的一些设定,比如一些背景音乐的播放,是否定时提醒。在最近学习的过程里面我总结了一下,心里面也有了自己的一些想法。通过之前讲的一个建立多个Activiyy可读取的共享数据的类和SharedPreferences来实现,可以阅读这篇文章点击打开链接。在类里面我们可以设定几个私有变量,将接口暴露给外部,提供一个安全的模式来进行操作。其中我写了一个例子如下:
2017-04-25 19:44:39
1018
原创 Android实现奇怪的大冒险游戏菜单切换界面
相信大家在玩了奇怪的大冒险后对游戏菜单的切换产生了一些兴趣,下面就展开对这个界面实现的分析过程。这个界面看上去是由左右两个按键实现左右转换的,实际上是Fragment和ViewPager组合实现的。1、针对这个界面我提供了四个Frafment来模仿。2、左右的两个按钮是用ImageView实现的。3、左右按键的显示与消失在viewpager的Adapter中实现,具体看以下代码...
2017-04-25 19:01:06
1048
原创 Android模仿奇怪的大冒险主界面表情变化
大家可能不知道《奇怪的大冒险》这款游戏,这款游戏界面非常简单,设计方面特别无厘头,而且非常搞笑。在此目的不是要向大家推荐这个游戏,而是利用自己的Android知识来模仿这款游戏的界面,界面很简单,但是其中的一个关键点让我感触颇深。针对游戏中头像不断变化的设计我提出自己的观点,在主UI线程中最好不用for循环来一直刷新,因为这样会堵塞主线程。我使用了定时器Timer和TimeTask来每隔500
2017-04-25 13:23:16
668
原创 Android模仿微信加号菜单模式
在模仿微信过程中有一个加号菜单启动着实让我有点费心,因为我去掉了自带的标题栏,想通过OnCreateOptionMenu这段代码来实现传统的Menu显示显然是不可能了。所以在自定义创建的状态栏里添加了一个加号的ImageView,想通过监听ImageView的Onclick来触发Popumenu的创建。基本效果与微信相似,细节方面还需多多考究。看具体代码如下:1、监听之后创建...
2017-04-24 14:12:56
5582
2
原创 Android中切换Activity的动画
在编写软件中,我们未免会遇到各种各样的Activity切换,在各种Activity切换过程里,我们为了保持界面的一致性,通常会定义一样的动画,但是在动画定义的过程中有一些问题需要注意。如,结束返回一个Activity的动画如何实现、使用手机自带返回键后的动画变成了默认的切换动画。本例中使用的是淡进淡出的动画模式。1、切换进一个Activity的淡入动画代码如下:Intent min
2017-04-24 12:47:28
514
原创 Android中模仿微信发消息界面实现
在微信中发消息界面的实现,其实就是ListView的一个展示,只是将listView进行了一些包装,它的难度并不大,只是细节方面多有考究。这就需要细心耐心的琢磨,以下代码基本实现了发消息的一种动态展示。其中ListView中的Item的背景图为9.png格式的图,具体请自行搜索。具体代码如下:1、ActivitvChat的XML代码<?xml version=...
2017-04-23 21:34:45
1910
1
原创 Android中在ListView的Adapter实现启动Activity和改变Activity属性
微信界面里面的联系人中,我们点击其中任意的Item就会出现不同的Activity。这个需求的实现是在listView中的Adapter中实现的,在点击的事件被监听之后触发Intent携带一个值去启动一个新的Activity,携带的值决定了新的Activity的形态和属性。总的来说,是Intent传值问题。具体代码如下:1、Adapter的java代码:packa
2017-04-23 20:58:00
3929
原创 Android中Fragment中启动一个Activity,实例化控件。
相信大家对于在一个Activity中启动另一个Activity非常熟悉,具体代码如下。searchView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent mintent=n
2017-04-23 20:38:52
2858
1
原创 Android中实现多个Activity共享数据
在模仿微信界面的过程中,我发现了了一个比较困难的部分,就是关于多个Activity的数据共享这个问题,在多方寻找后,我发现了一条可行之路。通过自定义一个继承与Application的Data(自定义的类名)来实现这个功能。在使用的时候一定要注意以下几点。1、一定要在AndroidMainfest.xml中声明,定义。如:android:name="类名"............
2017-04-23 20:16:30
2419
原创 Android中微信主界面菜单栏的布局实现代码
最近一段时间进了Android的大坑,一门心思的学习Android大法,读了两三本书,就萌生了模仿微信界面的想法。分析Android版本的微信界面需求就会发现它的核心,不得不佩服微信界面的简洁和灵活。腾讯的设计大法还是颇有一番味道的。目前我模仿的界面仅限于表面。核心部分只能说心有余力不足了。滑动界面的实现是基于Fragment类实现的,但是它有先天不足,不能使用滑动转换界面。所以,我使用了...
2017-04-23 19:42:37
10759
6
原创 Qt音乐进度条的实现仿网易云音乐
Qt网易云音乐中的音乐进度条是一个小小的难关,今天在Android写记录步数进度条中突然想到了它。移动端和电脑端自定义写界面模块的方式大同小异,现在将其中的代码放出,供大家点评参阅。代码还是比较混乱,请各位大侠还是要多多包涵。其中我把这个类打包出来,类的实现就是靠painevent来完成的。其中的两个自定义信号是为了快进快退而准备的,它们的实现不在本类中,大小位置也是在外部类中实现。其中的一些
2017-03-19 21:10:00
4403
1
原创 Qt中udp实现中文字符串的传输
Qt实现的udp局域网聊天里面困扰小生多时的还是中文文本的传输这一环节,多方寻找,浪迹江湖各处,最后一一解决。其中的一些问题着实需细心对待。udp传输中文文本字符串首先注意的是不能传输QString类的中文字符,因为它只是一个指针。如果写入,传入的只是一串地址并没有具体意义。我们在传入中文字符串的时候要用到char类型的帮助才能达到目的。在我写的发送和接受的程序里面我定义了一个info
2017-03-15 17:49:23
3910
原创 Qt中实现屏幕底部冒泡的方法
在Qt局域网聊天程序的到的东西太多了,最想和大家分享的是关于局域网聊天信息的冒泡,他的设计也不是特别难,我写了一个类分享给大家。可能各位道友有更好的办法,但希望不要拆台哦。该类中有一部分适应屏幕分辨率的类,也一并加入。如有不懂的欢迎大家底部留言。首先是获取屏幕分辨率,并实现自适应屏幕分辨率。#ifndef VERDESKTOP_H#define VERDESKTOP_H
2017-03-14 19:09:40
854
原创 Qt编写的局域网聊天程序
这个程序足足用了一个月的时间,也怪小生内功不强,但此番修炼着实受益良多。整体程序不建议大家观摩,主要是太乱了。在这里我会将其中的几个重要部分剥离出来和大家分享。该程序界面灵感来源于网络,小生不才,又加了一部分自己的愚见,还望源作者能够原谅。此程序借鉴了江湖上的各位大侠的秘籍和高招,既然来源于江湖,就回归于江湖吧。程序可以实现一个局域网内的多点的聊天,并且写了一个非常简单的服务器端,主要是为了接收客...
2017-03-14 18:36:01
1298
原创 Qt斗地主界面的发牌,抢地主,出牌界面的实现。
无聊的时候挺喜欢玩斗地主,在学完Qt之后我想做一个斗地主,在完成了界面和逻辑之后最终碰到了AI出牌算法这个问题。对于这种比较难得问题,小生束手难测,仅仅完成了界面。界面逻辑已经完成的差不多了。现将其中的核心代码开源,望各位道友能指点一二。代码写的有点混乱,逻辑可能不清楚,还希望各位道友能多多海涵。在以后用空的时候会将这个抢地主,自动发牌,出牌的逻辑模块独立剥离出来成为一个完整独立的...
2017-03-13 20:44:47
6286
24
原创 Qt模仿网易云黑胶片转动动画
在技术交流群里面我看到一些道友写的网易云音乐,就联想到自己写的网易云。所以将其中黑胶片转动动画的部分剥离出来。独立的写了一个类,这个类中集成了播放,暂停的界面响应。本着开源精神将代码公开,还望各位道友能指点一二。目前这个类名叫heijiaopianwidget,在其中我用PS做两张黑胶片和转杆的两张素材照片是本类的核心。整个类的动画实现依赖于两张图片的转动。类中分别声明了两个QTimer,
2017-03-12 16:38:25
2199
2
原创 Qt模仿网易云音乐
本人非常钟爱网易云音乐这款软件,学习了Qt编程之后,萌生了模仿网易云音乐的这么一个想法,于是忙了一个多月终于写出来了样子,只实现了以下的几个功能。1.能播放歌曲,(Qt自身的限制,对部分mp3文件无法解析,播放无法解析的文件时会崩溃);2.能加载音乐列表,用TXT文件的形式加载;3.模仿了黑胶片的经典播放界面;4.自己重写了进度条,支持音乐的快进;5.能在歌曲中解析出...
2016-12-27 13:19:48
5275
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人