自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 记录一个绘图花屏的低级错误

Bitmap数据为一个像素4个字节(ARGB),计算偏移时x坐标没有乘以4,导致图像错位,且x不是4的倍数时ARGB顺序会出错导致花屏。

2019-07-31 23:21:32 379

原创 域名解析中的A记录,AAAA记录,CNAME记录,MX记录,NS记录,TTL值

Incapsula cloudflare域名解析原理与知识

2019-07-31 23:10:23 6543 1

原创 通过Xcode安装ipa

透過 Xcode 的 Devices and Simulators 視窗,將 .ipa 拖曳進 INSTALLED APPS 去。直接將 .ipa 拖曳到 iTunes 左側邊欄的 iOS 裝置名稱中,此方式僅適用於 Ad Hoc 版本。(2019.5.31更新 — — 在某些機型拖曳方式不適用,但是仍然可以在 Finder (Windows 則是檔案總管)選擇 .ipa 檔、右鍵拷貝,然後在 ...

2019-07-31 17:30:53 1036

原创 Android系统权限

使用权限如果应用AndroidManifest.xml中列出正常权限,系统会自动授予这些权限,如果是危险权限,系统会要求用户明确授予这些权限。Android 发出请求的方式取决于系统版本和应用的targetSdkVersion:如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用需要在运行时向用户...

2019-07-31 17:04:32 397

原创 Android模拟器设置代理

https://blog.csdn.net/xc_zhou/article/details/86615466长按wifi名称,编辑wifi代理设置

2019-07-30 18:43:35 5140

原创 gradle版本修改

1.修改gradle-wrapper.properties中的distributionUrldistributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip2.修改build.gradle中的buildscript { repositories { google() ...

2019-07-30 17:51:22 2767

原创 gradle依赖方式

gradle3.0之后的版本相对于2.x依赖方式有所修改(括号内为2.x版本依赖方式):implementation api(compile)implementation:该依赖方式所依赖的库不会传递,只会在当前module中生效。api:该依赖方式会传递所依赖的库,当其他module依赖了该module时,可以使用该module下使用api依赖的库,该依赖方式与2.x版本的compile完...

2019-07-30 17:33:49 1011

原创 Android第三方库导致support版本冲突的问题

dependencies {implementation ‘com.android.support:appcompat-v7:26.1.0’implementation(‘com.evrencoskun.library:tableview:0.8.8’){exclude group: ‘com.android.support’}}但是问题是我不知道哪个第三方库冲突,不可能一个个检查吧?...

2019-07-30 17:16:39 1450

原创 Java删除List中的元素

ArrayList list = new ArrayList();list.add(“one”);list.add(“two”);list.add(“two”);list.add(“two”);list.add(“two”);Iterator iter = list.iterator();while(iter.hasNext()){String s = iter.next();i...

2019-07-30 17:02:13 286

原创 Android Support Library

当您EditText在布局中使用并且appcompat提供顶级活动/对话框 时,将自动使用此选项。编写自定义视图时,您只需要手动使用此类。在布局中使用控件时,会自动转换为appcompat控件,而自定义控件不会...

2019-07-30 16:01:27 307

原创 广度优先搜索

广度优先搜索(BFS)让你能找出图中两个节点之间的最短距离,图由节点和边组成,一个节点能与众多节点相连,这些节点被称为邻居。广度优先搜索的时间复杂度为O(V+E),其中V为节点数,E为边数。...

2019-07-29 22:22:08 161

原创 C++关联容器

关联容器关联容器支持高效的关键字查找和访问,两个主要的关联容器是map和set,map中的元素是一些关键字-值(key-value)对:关键字起到索引的作用,值表示与索引相关联的数据。set中每个元素只包含一个关键字:set支持高效的关键字查询操作,检查一个给定关键字是否在set中。标准库提供了8个关联容器,这8个容器的不同体现在关键字是否能重复,是否按顺序保存元素,multi表示关键字可重复...

2019-07-27 20:14:50 336

原创 C++泛型算法结构

迭代器类别按照算法要求的迭代器操作可以分为5个迭代器类型:输入迭代器,只读不写,单遍扫描,只能递增。输出迭代器,只写不读,单遍扫描,只能递增。前向迭代器,可读写,多遍扫描,只能递增。双向迭代器,可读写,多遍扫描,可递增递减。随机访问迭代器,可读写,多遍扫描,支持全部迭代器运算。算法形参模式大多数算法具有如下4种形式之一,其中alg是算法的名称,begin和end表示算法所操作的...

2019-07-25 22:07:53 567

原创 C++迭代器

插入迭代器插入迭代器是一种迭代器适配器,它接受一个容器,生成一个迭代器,能实现向给定容器添加元素,当我们给一个插入迭代器赋值时,迭代器调用容器操作来向给定容器的指定位置插入一个元素,插入完成后迭代器保持不变。*it,++it,it++不会对插入迭代器做任何事情,每个操作都返回it。插入迭代器有三种类型:back_inserter,创建一个使用push_back的迭代器。front_ins...

2019-07-24 22:24:20 294

原创 散列表

散列表(也叫哈希表)是根据键而直接访问在内存存储位置的数据结构,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表,大多数编程语言都提供了散列表的实现,例如Python中的dict,C++中的map。散列函数散列函数是这样的函数,既无论你给它什么数据,它都返回一个数字,同时散列函数还遵循两个规则:...

2019-07-21 16:25:13 168

原创 C++泛型算法

标准库提供了一组泛型算法用于不同类型的元素和多种容器类型(不仅包括标准库类型,例如vector,list,还包括内置的数组类型),大多数算法定义在头文件algorithm中。泛型算法本身不会执行容器操作,它们只会运行于迭代器之上,执行迭代器的操作,这意味着算法永远不会改变底层容器的大小,算法可能改变容器中保存的值,也可能在容器内移动元素,但永远不会直接添加或删除元素。标准库提供了超过100个算...

2019-07-20 22:12:10 265

原创 快速排序

快速排序采用的是分而治之的思想,选择待排序列中的一个元素作为基准值,将其余元素分为两组:小于基准值的元素和大于基准值的元素,对新生成的两组序列按照同样的方法排序直到序列中元素数量为空或只包含一个元素,快速排序的时间复杂度为O(nlog⁡nn\log_nnlogn​)。def quicksort(array): if len(array)<2: return arra...

2019-07-20 19:16:13 83

原创 选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。假设待排序的元素数量为n,第一次需要检查n个元素,但随后检查的元素数依此为n-1,n-2,…1,平均每次检查的元素数...

2019-07-17 21:49:53 306

原创 二分查找

二分查找二分查找是一种算法,其输入是一个有序的元素列表,如果要查找的元素包含在列表中,二分查找返回其位置。与简单查找从头开始找不同,二分查找从中间开始找,如果中间元素大于我们要找的元素,则可以排除中间元素以及以后的元素,如果中间元素小于我们要找的元素,则可以排除中间元素以及以前的元素。用二分查找最多需要log⁡2n\log_2nlog2​n步,而简单查找最多需要n步。对数log⁡10100\...

2019-07-14 21:53:29 252

原创 C++ string的常用操作

为了支持快速随机访问,vector和string将元素连续存储,在添加元素时,为了保证元素连续存储,容器必须分配新的内存空间来保存已有元素和新元素,释放旧存储空间,如果我们每添加一个新元素,容器就执行一次这样的内存分配释放操作,性能会很慢。为了避免这种代价,vector和string采用了可以减少容器空间重新分配次数的策略,当不得不获取新的内存空间时,vector和string通常会分配必新空间...

2019-07-09 22:27:30 873

原创 上架Google Play遇到的坑

Google应用签名计划加入后就无法退出了,这个计划会对你的APK重新签名。上传APK后出现"未优化的APK"警告可以不用处理,不影响应用发布。上传APK后发布按钮为灰色,原因是有些选项没有填写,例如发布范围等。...

2019-07-09 13:26:16 2289 1

原创 C++值传递和引用传递的区别

当函数形参为值传递时,在调用函数前,调用者会创建对象的副本当作实参,函数内部负责销毁该副本,而引用传递则是把指向对象的指针当作实参传递。值传递:void printValue(const string value) { cout << value << endl;}int main(){ string hello("hello"); printValue(...

2019-07-07 15:10:19 1134

原创 C++交换操作

标准库中swap的缺点如果一个类定义了自己的swap,那么算法将使用类自定义版本,否则算法将使用标准库定义的swap,标准库定义的swap在交换两个对象时需要进行一次拷贝和两次赋值,理论上这些内存分配都是不必要的,我们更希望swap交换指针,而不是分配对象的新副本。template <class _Ty, class>inline void swap(_Ty& _Left...

2019-07-07 14:44:58 2333

原创 C++容器适配器

除了顺序容器外,标准库还定义了三个顺序容器适配器:stack,queue和priority_queue。适配器是一种机制,能够使某种事物行为看起来像另外一种事物。一个容器适配器接受一种已有的容器类型,使其行为看起来像一种不同的类型。所有容器适配器都支持的操作和类型:操作和类型说明size_type一种足以保存当前类型最大对象的大小的类型value_type元素类型...

2019-07-07 13:07:15 214

原创 C++值初始化

什么时候进行值初始化当以空的括号或花括号 (C++11 起)对组成的初始化器创建无名临时对象时。当 new 表达式以空的括号或花括号 (C++11 起)对组成的初始化器创建具有动态存储期的对象时当以由空花括号对组成的初始化器声明具名变量(自动、静态或线程局部)时。值初始化的效果类类型则调用默认构造函数。数组则值初始化数组的每个元素。内置类型则零初始化对象。//隐式默认构造函...

2019-07-06 23:17:27 1498

原创 C++列表初始化

直接初始化列表与复制初始化列表的区别复制初始化列表考虑 explicit 和非 explicit 构造函数,但只调用非 explicit 构造函数

2019-07-06 22:52:52 1052

原创 C++顺序容器

顺序容器概述C++标准库中的顺序容器为程序员提供了控制元素存储和顺序访问元素的能力,包括vector,string,array,deque,list,forward_list。类型说明vector可变大小数组,支持快速随机访问,在尾部插入或删除速度很快string类似vector,专门保存字符array固定大小数组,支持快速随机访问,不能添加或删除元素...

2019-07-06 22:22:15 332

原创 iOS圆角图片的实现

profileImageView.layer.cornerRadius = profileImageView.frame.width/2 profileImageView.layer.masksToBounds = true

2019-07-03 17:21:54 417

原创 iOS隐藏NavigationBar

在使用UINavigationController的时候,我们有时候需要使用setNavigationBarHidden隐藏部分界面的NavigationBar,要注意的是参数animated为false时,从没有NavigationBar的界面跳转到有NavigationBar的界面,然后向左侧滑再慢慢向右侧滑返回时会出现NavigationBar消失并且无法返回的BUG,将animated实参...

2019-07-03 14:38:32 1483

原创 Swift中Data,String,[UInt8]的相互转换

[UInt8],Data,String互转

2019-07-03 12:18:03 15694

原创 Xcode项目代码行数统计

操作步骤1.打开终端。2.cd到你项目的路径。3.输入下面的指令:所有 .h 文件的代码行数统计:find ./ -name “*.h” -exec cat {} ; | wc -l所有 .m 文件的代码行数统计:find ./ -name “*.m” -exec cat {} ; | wc -l所有Swift文件的代码行数统计:find ./ -name “*.swift” -...

2019-07-03 11:33:27 283

原创 使用UIAppearance设置控件全局样式

UIAppearance

2019-07-03 11:15:40 301

输入法注入之delphi版

输入法注入之delphi版。。。。。。。。。

2010-08-25

delphi小键盘控件

模仿QQ小键盘写的一个小键盘控件,可以自定义小键盘的各种颜色,大小,位置,字体,还可以使用渐变图像代替颜色,使按键更加好看!

2010-05-28

空空如也

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

TA关注的人

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