技术类
文章平均质量分 60
gb_wxzqq
这个作者很懒,什么都没留下…
展开
-
win10下安装cygwin
其实之前已经安装过,今天再次安装时,忘记了当时具体的步骤。当时就是在百度搜搜,在网上找找,稀里糊涂的安装成功了。今天记录,用于备份。今天安装时,主要是由于用 eclipse 构建时,提示了一个错误"nomakefound in path"关于这个提示,分析1:没有添加环境变量。分析2:没有安装cygwin。 这次遇到的问题属于2.一,安装cygwin1,官网:http://www.cygwin.com/安装属于自己的那一个,我的是win1064位2、下载后是这样的一个文件,...转载 2021-05-17 10:02:56 · 341 阅读 · 0 评论 -
MailConnectException: Couldn‘t connect to host
SpringBoot 使用JavaMail发送邮件报错MailConnectException: Couldn't connect to host, port: smtp.qq.com, 465; timeout -1, 解决方式。1.先上一个报错图片:2.applicaiton.properties对应的设置:#mail relatedspring.mail.host=smtp.qq.comspring.mail.port=465spring.mail.protocol=smtp.原创 2021-02-23 16:50:00 · 3977 阅读 · 0 评论 -
更改系统默认导航栏的返回按钮
前言今天我们来重点讨论导航栏返回的问题,包括各种问题的解决方案。系统默认导航栏的返回按钮和返回方式在默认情况下,导航栏返回按钮长这个样子导航栏默认返回按钮导航栏右上角的返回按钮,其文本默认为上一个ViewController的标题,如果上一个ViewController没有标题,则为Back(中文环境下为“返回”)。在默认情况下,导航栏返回的转载 2016-10-25 14:08:10 · 2936 阅读 · 0 评论 -
IOS之https请求认证及双向认证
一、背景:苹果从IOS9.0以后就要求使用https,今年发布说的是在2017年1月1日后,所有上架的APP必须使用HTTPS(貌似目前推迟了)。不论怎么说,使用https时迟早的事情,之前通过在info.plist文件中设置 NSAppTransportSecurity为NSAllowsArbitraryLoads的方式不起作用了。这篇文章主要就是介绍在IOS中如何将http改造成https原创 2016-12-23 17:52:27 · 5689 阅读 · 1 评论 -
删除项目中的CocoaPods
操作步骤删除本地文件(Podfile、Podfile.lock、Pods文件夹)删除本地生成的xcworkspace文件打开项目,在Frameworks文件夹下,删除Pods.xcconfig和libPods.a进入项目Build Phases,删除Copy Pods Resources、Embed Pods Frameworks和Check Pods Manifest.l转载 2017-01-17 14:58:50 · 637 阅读 · 0 评论 -
多线程并发控制dispatch_group
1、在开发中经常遇到调用多个接口请求数据完成后,再根据不同接口返回的数据调用另外的方法处理请求数据的情况。当然这种可以使用同步请求数据,然后做处理。这样就会按照程序先后执行。但是往往这种方式效率低下,会阻塞线程。为了解决问题通常会引入dispatch_group并发处理。dispatch_group_t group = dispatch_group_create(); // 某个任务原创 2017-03-14 12:48:57 · 786 阅读 · 0 评论 -
UIView设置圆角
为UIView设置圆角是实际开发中常需要处理的问题,就UIView而言相关的api没有找到直接设置的方法;不过UIView是对CALayer的封装,设置CALayer圆角则可以出来相应的效果。下面介绍几种设置圆角的方法:1、为UIView的所有角都设置圆角:CALayer *layer=[view layer];//是否设置边框以及是否可见[layer setMasksToBounds原创 2017-03-14 16:00:42 · 1265 阅读 · 0 评论 -
iOS多线程及异步处理
概览大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于转载 2017-03-16 14:29:03 · 6729 阅读 · 0 评论 -
iOS模拟定位
本文只使用有Mac电脑,用iPhone的骚年们。本章是水文,利用Xcode模拟定位打卡很早就有教程了,这里干货只有一行,离开Xcode任然保证模拟定位不变。对象:钉钉等LBS应用近两年很多企业和中小型公司都开始使用钉钉打卡签到。很多苦逼党因为坐公交晚了几分钟,被扣钱,晚了几分钟,全勤没了,所以这里我们可以缓解下代码狗的痛苦 —— 模拟定位(先打卡,再到公司)。已经会连Xcode转载 2017-04-12 16:10:28 · 16709 阅读 · 2 评论 -
ReactiveCocoa理解
ReactiveCocoa 与信号ReactiveCocoa 对于状态的理解与《失控》一书中十分类似,将原有的各种设计模式,包括代理、Target/Action、block、通知中心以及观察者模式各种『输入』,都抽象成了数据流或者信号(也可以理解为状态流)让单一的组件能够对自己的响应动作进行控制,简化了视图控制器的负担。在 ReactiveCocoa 中最重要的信号,也就是 RAC转载 2017-04-28 10:27:25 · 602 阅读 · 0 评论 -
导航控制器切换效果
随着现在应用的UI越来越多样化,导航栏的颜色不再是单一颜色,还有些需要隐藏navigationBar的需求,所以UINavigationController的navigationBar在不同颜色或隐藏的情况下切换效果显得不够平滑,越来越多的应用也开始使用类似网易新闻,网易云音乐,淘宝这种类似的切换效果.想知道这些App都是如何实现这个效果的,所以就打算用Reveal来看看,Reve转载 2017-07-05 18:06:26 · 426 阅读 · 0 评论 -
Android Studio:Could not find method android() for arguments
Android Studio导入项目编译报错:Could not find method android() for arguments,我使用的版本是2.1.3,同事使用的是2.3.3,一直以为是版本原因引起的。替换版本后还是不能解决。于是查找各种资料,终于找到引起的原因:这个问题本质上是Android-gradle的一个使用限制. 对应的英文文档android_tool文档原创 2017-07-06 14:28:22 · 1038 阅读 · 0 评论 -
自定义UIAlertView
IOS8.0之前使用UIAlertView作为系统默认的弹出提示框,IOS8.0后使用UIAlertController替代。相比较UIAlertController功能确实强大,多很多,包括集成了UIActionSheet的功能。但是还是比较喜欢使用UIAlertView,因为使用简单,轻量级,不用使用pushViewController来显示。UIAlertView默认情况下,点击上面的按原创 2016-12-23 14:01:00 · 379 阅读 · 0 评论 -
iOS生成本地验证码
在应用程序注册、登陆或者有关支付确认的界面,经常会用到验证码,验证码有的是通过手机发送获取的,有的是在本地点击获取的,通过手机发送获取的动态验证码可以使用第三方类库实现,本地点击获取的是在本地自己绘制的,下面我们来详细讲解一下本地生成动态验证码的过程。导入CoreGraphics.framework验证码封装了一个UIView,在使用的时候直接把这个View加到界面转载 2016-11-28 17:20:47 · 321 阅读 · 0 评论 -
iOS App被拒原因
iOS App被拒原因转载 2016-10-20 14:01:10 · 1016 阅读 · 0 评论 -
中文转拼音
在项目中,需要根据文字或者文字的拼音进行模糊搜索;用过很多第三方库来转化,最后还是感觉Pinyin比较好用;同时汉字中夹杂英文字母也能转。下面介绍下Pinyin的使用:1、使用Pinyin之前需要先引入:#import "pinyin.h"2、获取某个中文语段的首个文字的拼音首字母:+(NSString*)getFirstLetterFromZh:(NSString*)zh{原创 2016-11-16 09:37:16 · 450 阅读 · 0 评论 -
IOS使用ZipArchive压缩解压文件
在项目过程中需要对从服务器拉取的压缩文件进行解压,并且需要把解压后的文件修改后再压缩上传到服务器;调研后使用ZipArchive对文件进行压缩和解压。下面是ZipArchive的介绍和使用:1、ZipArchive是压缩和解压在iOS和Mac文件的一种简单实用类,具有以下功能: a.解压zip文件 b.解压加密的zip文件 c.创建zip文件原创 2016-11-16 10:41:46 · 1114 阅读 · 0 评论 -
IOS使用SVGKit库显示svg图
使用SVGKit库显示svg图:1、使用SVGKit库显示svg图2、实现svg图的缩放操作3、点击svg图的某个部分,获取svg图的某个部分Demo下载:http://download.csdn.net/detail/guobing19871024/9684889原创 2016-11-16 17:43:10 · 5069 阅读 · 1 评论 -
GDataXMLNode解析xml文件的使用
GDataXMLNode解析xml文件的使用、GDataXMLNode、IOS解析xml文件、解析xml文件原创 2016-11-15 17:42:17 · 1395 阅读 · 0 评论 -
IOS事件
概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:iOS事件简介触摸事件手势识别运动事件远程控制事件iOS事件在iOS中事件分为三类:触摸事件:通过触摸、手势进行触发(例如手指点击、缩放)转载 2016-11-21 11:23:50 · 634 阅读 · 0 评论 -
IOS倒计时秒杀
IOS中倒计时的方式有很多种:1、使用NSTimer实现倒计时,需要注意的是NSTimer会持有对象,可能造成死锁2、使用performSelector: withObject: afterDelay:3、使用GCD dispatch_after+迭代4、使用GCD dispatch_source下面是对使用dispatch_source实现倒计时的封装:#import原创 2016-12-06 10:36:24 · 590 阅读 · 0 评论 -
Container View Controller
什么是Container View Controller?苹果文档是这么描述的: A container view controller contains content owned by other view controllers. 也就是说一个View Controller显示的某部分内容属于另一个View Controller,那么这个View转载 2016-12-07 15:54:52 · 300 阅读 · 0 评论 -
iOS多线程到底不安全在哪里?
iOS多线程安全的概念在很多地方都会遇到,为什么不安全,不安全又该怎么去定义,其实是个值得深究的话题。共享状态,多线程共同访问某个对象的property,在iOS编程里是很普遍的使用场景,我们就从Property的多线程安全说起。Property当我们讨论property多线程安全的时候,很多人都知道给property加上atomic attribute之后,可以一定程度的转载 2016-12-08 10:20:42 · 327 阅读 · 0 评论 -
Core Graphics简介
Core Graphics入门想必每个第一次接触Core Graphics的开发者都被无数的API、混乱的代码逻辑折腾得头疼不已,甚至望而却步。即使是绘制一个简单的矩形也看上去非常繁琐。本文换一个角度,整理一下有关Core Graphics的知识,也算作是这段时间学习的总结。Core Graphics和UIKit的区别首先从概念上了解一下:根据苹果的描述,UIKit是我们最转载 2016-11-28 16:47:08 · 415 阅读 · 0 评论 -
UITableViewCell自定义UIImageView点击cell UIImageView大小改变
发现一个很奇怪的问题,UITableViewCell中自定义一个UIImageView,设置图片后在tableView界面显示正常,但是当点击cell后图片变化,如下图:给UIImageView设置背景后任然显示不出来证明是UIImageView大小改变。然后查询了一下UITableViewCell的xib文件,发现图片的名称设置成了imageView,而imageView是cell里原创 2017-06-28 09:27:42 · 871 阅读 · 0 评论 -
几款移动跨平台App开发框架比较
整理目前流行的跨平台WebApp开发技术的特点,仅供参考。每个框架几乎都包含以下特性:使用 HTML5 + CSS + JavaScript 开发跨平台重用代码丰富的UI库提供访问设备原生API的 JavaScript API 包装器解决原生开发中机型适配的难题提供打包、部署的工具或服务都需要学习自身封装的 JavaScript API筛选框架的要求:性能:运行速度转载 2017-11-25 19:56:00 · 4942 阅读 · 1 评论 -
Caused by: java.io.IOException: error=2, No such file or directory
Caused by: java.io.IOException: error=2, No such file or directory本着尝鲜的心态,最近把Android studio升级到了Android Studio 3.1.2,升级之后项目突然不能正常编译运行了,报::app:transformNativeLibsWithStripDebugSymbolForDebugCaused by: j...转载 2018-06-20 06:59:10 · 3002 阅读 · 0 评论 -
不要做一个只会面向搜索编程的程序员
在当今前端开发人员的世界里,JavaScript 疲劳已非常普遍。似乎每天都会出现新的框架、架构、命令行工具或 SaaS 服务。新事物的持续涌动让开发人员倍感疲倦。为了避免这种情况,树立一种可靠的本能很重要——即甄别那些值得花时间去研究的技术和产品的能力,有些技术和产品在历经昙花一现后就销声匿迹,关于它们的文章在科技博客上也被归档,最后连正反两面的评论也都被遗忘了。 大约在 30 年前...转载 2018-07-18 22:28:12 · 1614 阅读 · 0 评论 -
android aidl mk:class not found
LOCAL_SRC_FILES := $(call all-java-files-under, java)LOCAL_SRC_FILES += $(call all-Iaidl-files-under, aidl)LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl原创 2018-07-19 16:46:31 · 311 阅读 · 0 评论 -
Android进程与线程
我们都知道,在操作系统中进程是OS分配资源的最小单位,而线程是执行任务的最小单位。一个进程可以拥有多个线程执行任务,这些线程可以共享该进程分配到的资源。当我们的app启动运行后,在该app没有其他组件正在运行的前提下,Android系统会启动一个新Linux进程来运行app,这个进程只包含了一个线程在运行。在默认情况下,app的组件都运行在该进程中,最初就包含的这个线程也被称为主线程...转载 2018-09-04 07:47:30 · 705 阅读 · 0 评论 -
使用zxing生成二维码去除空白区域方法
通常我们生成二维码需要做以下配置 Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);//设置容错率默认为最高 hints.put(Enc...转载 2018-09-18 17:31:29 · 4130 阅读 · 0 评论 -
android WebView基本使用
WebView介绍Android WebView在Android平台上是一个特殊的View, 基于webkit引擎、展现web页面的控件,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4....转载 2018-10-11 15:34:42 · 228 阅读 · 0 评论 -
WebView运行在系统进程出现的问题 WebView is not allowed in privileged processes
WebView在Android4.4之前使用的Webkit内核,在Android4.4以后切换到了Chromium内核。本文的内容主要不是讲解Chromium内核上WebView的特性。关键是要讲解webview切换到Chromium内核后我遇到的一个坑(实际上可能叫做坑不合适,因为这是安卓为了安全着想才这么做的),并提出解决这个坑的一个方法。 这个问题的情形是这样的,当时需要在一个系统...转载 2018-10-07 16:36:37 · 2609 阅读 · 0 评论 -
JACK编译器配置
Android M开始,google默认使用JACK编译器,对于JACK编译器的编译流程下面这篇文章写的很详细:http://taobaofed.org/blog/2016/05/05/new-compiler-for-android/这里主要谈一下JACK编译器的配置。1 JACK编译器三种模式JACK编译器有三种模式:LOCAL_JACK_ENABLED:=$(DEFAULT_JA...转载 2018-11-01 09:22:39 · 879 阅读 · 0 评论 -
Android Bander设计与实现
关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Bin...转载 2019-06-19 17:30:59 · 287 阅读 · 0 评论 -
Android面试题总结
socket通信怎么优化socket优化可以从两个方面入手,一个是减少传输的数据量、一个是对接收的数据的处理对于传输的数据可以使用FastJson之类的方式,减少传输的数据量。对流的传输可以使用okio框架,比io更小。使用GZIPInputStream或者GZIPOutPutStream处理接收数据后可以使用Buffer技术,用StringBuilder或者StringBuffer来取代Stri...原创 2018-04-20 11:25:53 · 156 阅读 · 0 评论 -
Dalvik虚拟机
android5.0之前使用的虚拟机是Dalvik虚拟机,这个虚拟机在JVM的基础上做了一定的优化。android5.0之后,android采用了新的虚拟机ART,本文主要对Dalvik、JVM、ART之间进行对比。一.Dalvik虚拟机1.概念 Dalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码...转载 2018-04-19 16:47:03 · 1490 阅读 · 0 评论 -
Android 开发者的 RxJava 详解
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJav...转载 2018-03-27 10:31:49 · 188 阅读 · 0 评论 -
volley超时和重复请求问题
Volley在网络请求不好的情况下,APP端的响应速度延迟了1-3秒,导致重复请求,有时一次,有时几次。查询后得知,这是由于网络超时而导致volley重复请求服务端而 出现的Bug,以下是解决方式谷歌提供了相应的api去设置超时时长,我们可以将超时时长设置稍微长点request.setRetryPolicy(new DefaultRetryPolicy(int init原创 2017-08-08 18:00:19 · 457 阅读 · 0 评论 -
app开发中的异步处理(三)
本文是系列文章《Android和iOS开发中的异步处理》的第三篇。在本篇文章中,我们主要讨论在执行多个异步任务的时候可能碰到的相关问题。通常我们都需要执行多个异步任务,使它们相互协作来完成需求。本文结合典型的应用场景,讲解异步任务的三种协作关系:先后接续执行并发执行,结果合并并发执行,一方优先以上三种协作关系,本文分别以三种应用场景为例展开讨论。这三种应用场景分别是:转载 2017-08-24 10:24:30 · 299 阅读 · 0 评论