自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Swift学习笔记-循环

目录 循环 for-in循环 while循环 repeat-while循环 break与continue 循环for-in循环最简单的for-in循环如下,输出结果为0 1 2 3 4 5for i in 0...5 ...

2018-10-15 22:52:00 124

转载 在okhttp3,WebView中忽略HTTPS证书校验

在APP开发过程中,后台使用的可能是自签的Https证书,如果不忽略证书校验,会出现Trust anchor for certification path not found的错误Okhttp3忽略HTTPS证书校验import java.security.SecureRandom;import java.security.cert.X509Certificate;...

2018-10-15 18:40:00 192

转载 Android中利用productFlavors配置多渠道

build.gradle(app)设置android { flavorDimensions "default" productFlavors{ //不同渠道 360{ dimension "default" //替换AndroidManifest中的值 ...

2018-10-15 14:38:00 397

转载 Swift学习笔记-条件判断

圆括号在条件判断以及循环中,大多数圆括号都可以省略掉var x=2var y=3if x>3{ //}switch x {case 1: y=1default: y=2}while x>3{ }print(y)if语句Swift中的if语句和C/...

2018-10-14 23:51:00 106

转载 Swift学习笔记-空格

Swift中运算符两边的空格必须是对称的,要么两边都没空格,要么两边都有空格(和空格数量无关)let x=2let y=3//错误,左边有空格,右边无空格let value =x*y//错误,左边无空格,右边有空格let value= x*y//错误,乘法运算符两边空格不对称let value=x *ylet value=x* y//正...

2018-10-14 23:48:00 168

转载 Swift学习笔记-数字

Int/Uint一个整数字面常量没有明确数据类型的时候,默认会被推断为Int在32位平台上,Int和Int32长度相同在64位平台上,Int和Int64长度相同Uint为Int的无符号版本其他整数类型Int8,Int16,Int32,Int64UInt8,UInt16,UInt32,UInt64使用max,min获取整数类型最大值与最小值...

2018-10-14 23:47:00 89

转载 Swift学习笔记-基本知识

变量,常量,分号Swift中使用var声明变量,使用let声明常量,如果不指定类型,编译器会自动推断变量/常量的类型。注意在Swift中,代码结尾的分号是可选的,只有在一行内有多条代码才用分号分隔。import Cocoa//自动推断为Stringvar str = "Hello, playground"//输入str到控制台print(str)...

2018-10-14 23:45:00 53

转载 Objective-C学习笔记-Category

Category可以为任何已有类添加或者替换方法,即使没有源代码,但是不能添加实例变量#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface NSString(TestClass)-(int) getTestValue;@endNS_ASSUME_NONN...

2018-10-13 00:40:00 97

转载 Objective-C学习笔记-KVO

1.KVO(key-value observering)是指当对象的属性值改变的时候,允许另外一个对象接受通知,其中context可以用来区分该通知是发给基类还是自己的。#import "TestObserver.h"@implementation TestObserver- (void)observeValueForKeyPath:(NSString *...

2018-10-13 00:39:00 95

转载 Objective-C学习笔记-KVC

1.KVC(key-value-coding)能够让程序通过名称直接存取属性,KVC有关方法定义在NSObject,KVC违背了对象封装理念,因为即使属性声明为readonly,使用KVC依然可以修改实例变量的值。#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface T...

2018-10-13 00:38:00 109

转载 Drawable文件夹不正确导致的内存升高问题

1.玩手机的时候点了下应用管理,发现一个问题,我自己写的APP内存占用竟然达到了200多M,而手机中其他应用普遍都在100M以内,经过排除,发现是图片加载引起的2.写了一个Demo发现,一张1920*1080的图片放在drawable文件夹就会使APP多70M内存,但是1920*1080*4也才7M,Google一番后发现可能和drawable文件夹的名称有关系,将图片换到drawa...

2018-10-12 22:48:00 72

转载 Objective-C学习笔记-属性

1.属性的存取特性readwrite,自动创建存取方法,默认特性readonly,只创建取方法2.属性的多线程特性atomic,使用锁机制确保对该属性的操作的原子性,默认特性nonatomic,无原子性,所以速度会快一点,建议使用的特性3.属性的引用相关特性strong,在进行存操作时,会持有传进来的对象,放弃原有对象,默认特性weak...

2018-10-11 23:53:00 68

转载 Objective-C学习笔记-init

1.如果一个类没有实现init方法,那么在调用init初始化的时候所有成员变量都会被初始化为02.覆盖NSObject的init方法,instancetype代表返回当前类的实例,在旧版本OC里,还会使用id作为返回类型。因为基类的构造函数有可能返回nil,所以这里需要判断是否为空,这是苹果公司推荐写法,不过很多代码没有做这一步检查-(instancetype)init...

2018-10-11 23:52:00 130

转载 MVC,MVP,MVVM区别

1.MVC是模型(Model)-视图(View)-控制器(Controller)的缩写Model负责保存并管理数据View负责数据的展示并响应用户的输入Controller负责程序的逻辑功能2.其具体流程为用户发起操作View响应操作后交给Controller处理Controller将处理后的数据放入Model保存Model将数据反馈给View...

2018-10-10 00:25:00 82

转载 Objective-C学习笔记-plist文件

1.苹果系统中大量使用了plist文件来保存配置信息,plist文件由以下对象组成NSArrayNSDictionaryNSStringNSDataNSDateNSNumber2.通过NSArray和NSDictionary的内建方法可以读写plist文件,代码如下#import <Foundation/Foundation.h&gt...

2018-10-09 00:43:00 155

转载 Objective-C学习笔记-协议

1.OC中的协议类似于Java中的Interface,一个类也可以实现多个协议,但是Java中可以通过匿名内部类直接“new”一个Interface(例如SetOnClickListener(new XXX),OC中似乎不能这么做2.可以通过@required和@optional标注哪些方法是必须的,哪些是可选的,可以通过NSObject中的方法respondsToSelector来...

2018-10-09 00:41:00 82

转载 Objective-C学习笔记-回调

1.OC中有四种方法实现回调,分别是目标-动作对,辅助对象,通知,Block对象2.目标-动作对,是指当某个事件发生时,向指定对象发送指定消息,计时器使用的就是目标-动作对机制,如下代码所示,每隔两秒会执行一次updateLastTime方法,其中NSRunLoop用来保持线程允许并处理事件- (void)updateLastTime:(NSTimer *)t{ ...

2018-09-24 20:29:00 84

转载 Objective-C学习笔记-使用NSString与NSData读写文件

1.NSString读写文件 NSString *helloText=@"您好啊!"; NSError *error; if ([helloText writeToFile:@"/tmp/test.txt" atomically:true encoding:NSUTF8StringEncoding error:&err...

2018-09-23 21:38:00 140

转载 Objective-C学习笔记-NSSet与NSDictionary

1.NSSet与NSArray的区别就是NSSet里面的值是不可重复且无序的,在查找速度上NSSet比NSArray更快,而NSDictionary则可以存储键值对,这个键值对也是无序的,键通常是一个字符串(唯一的),而值可以是任意类型的对象2.和NSArray一样,NSSet和NSDictionary也是不可修改的,要想增加删除,可以使用NSMutableSet,NSMutab...

2018-09-23 21:36:00 134

转载 Objective-C学习笔记-自定义类

1.OC中一个类由.h文件和.m文件组成,.h文件负责声明接口,.m文件负责具体实现2.在.h文件中@interface后面的格式为类名:基类名3.成员变量需要写在大括号内,最好使用下划线开头,使用成员变量需要写存取方法,为了开发效率,目前推荐使用属性代替成员变量,属性会自动生成带下划线的成员变量以及存取方法,还可以通过readonly,readwrite等来控制属性特性4....

2018-09-22 14:56:00 60

转载 解决TextView换行异常问题

在用TextView显示一段中文时发现会提前换行,用网上搜索到的方案都解决不了,最终选择用EditText代替之 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" a...

2018-09-21 22:52:00 153

转载 Xposed简单入门

1.在AndroidManifest.xml中application标签内添加 <!-- 是否是xposed模块,xposed根据这个来判断是否是模块 --> <meta-data android:name="xposedmodule" android:value="true...

2018-09-20 23:18:00 86

转载 JNI简单入门

1.在目前版本的AndroidStudio(3.2)上默认使用CMake来编译C/C++代码,向cpp文件夹添加新的C/C++代码时,会发现在IDE里并没有显示新添加的文件,这个时候只需要在CMakeList.txt里面添加下面的代码,然后点击Refresh Linked C++ Projects即可aux_source_directory(src/main/cpp/myco...

2018-09-20 23:11:00 62

转载 使用Instrumentation模拟点击屏幕

1.使用前需要申明权限<uses-permission android:name="android.permission.INJECT_EVENTS" />2.使用Instrumentation模拟点击有一定限制,只能点击自己的APP,或者UID相同的APP,如果有root权限或者系统签名则可以点击所有APPimport android.a...

2018-09-19 23:28:00 434

转载 Android录屏流程

1.权限申明 <uses-permission android:name="android.permission.RECORD_AUDIO" />2.请求录屏 private MediaProjectionManager mMediaProjectionManager; @Override protected vo...

2018-09-19 23:12:00 211

转载 使用LiveData处理事件

今天遇到了一件奇怪的事情,在同事手机上有个Activity(A)关闭后竟然又被创建了,调试后发现原来每次关闭这个Activity(A)都会触发上一个Activity(B)的生命周期改变,然后在订阅的LiveData对象会收到OnChange消息创建Activity(A),正常情况下,这种数据我们只需要处理一次,准确的来讲就是事件,这种情况下我们可以使用下面的SingleLiveEvent...

2018-09-19 22:52:00 198

转载 手机小游戏辅助程序的实现

这两天玩了一个微信的小游戏,想到以前的跳一跳可以通过模拟按键和截取屏幕的方式做辅助程序,所以想针对这个小游戏也做个机器人自动玩,虽然结果是失败的,但是也学到了点东西。1.做这种小游戏机器人的关键点有两个,一个是模拟按键,一个是截取屏幕。模拟按键很简单,直接调用以下命令即可在安卓手机上任意一个坐标点击一次,部分手机记得在开发者选项里开启允许模拟点击adb shell inp...

2018-09-14 00:11:00 569

转载 Objective-C学习笔记-NSArray与NSMutableArray

1.NSArray是OC中用来保存对象的数组,NSArray在初始化完毕后不可以再添加或者删除里面的对象,也无法改变对象的顺序,甚至不能赋值,例如下面的赋值语句,编译器会出现错误提示Expected method to write array element not found on object of type 'NSArray *',NSArray的初始化放在方括号内,对象之间用逗号...

2018-09-10 23:37:00 103

转载 Objective-C学习笔记-NSString

1.NSString是OC中用来保存字符串的对象,可以通过在C字符串常量前加上一个@符号来创建一个NSString对象,例如NSString *strTest=@"my name is xy";2.也可以使用NSSring的方法来创建,例如,其中stringWithFormat的用法和NSLog一样 const char* test="m...

2018-09-09 20:53:00 94

转载 数学笔记-极限

1.当x趋于n的时候,f(x)的极限等于m2.左极限和右极限在n的后方添上一个减号代表该极限为左极限,即当x从比n小的值趋于n的时候的极限在n的后方添上一个加号代表该极限为右极限,即当x从比n大的值趋于n的时候的极限3.当左极限和右极限存在且都相当时候,那么存在双极限,即 且,则4.正无穷和负无穷当函数在y=L处有一条右侧水平渐近线,...

2018-09-09 20:50:00 500

转载 openssl生成HTTPS自签名证书

今天用openssl生成了下HTTPS的证书,总结下整个流程1.设置openssl的环境变量,OPENSSL_CONF=openssl.cnf路径2.将openssl配置文件中的 req_extensions = v3_req注释取消掉3.去掉[req_distinguished_name]里0.xxx开头的部分4.修改[ v3_req ]内容[ v3_req ]ex...

2018-09-06 00:33:00 142

转载 LiveData与 ObservableField的区别

前面讲到使用ViewModel+Data Binding解决内存泄漏问题时用到了ObservableInt/ObservableField,但其实还可以使用LiveData,它不仅可以实现与ObservableField相同的功能,而且有以下好处ObservableField只有在数据发生改变时UI才会收到通知,而LiveData不同,只要你postValue或者setValue...

2018-09-04 23:29:00 8357

转载 Objective-C学习笔记-NSNumber与NSInteger

1.由于Objective-C是C的超集,所以C支持的基本数据类型,OC也支持,而NSNumber就是对这些基本数据类型的封装,例如char,short,int,float2.NSNumber可以通过下面两种方法初始化NSNumber n=[NSNumber numberWithInteger:100];NSNumber k=[[NSNumber alloc] initW...

2018-09-04 22:58:00 132

转载 使用ViewModel+Data Binding解决内存泄漏问题

1.在我们写APP的时候经常会遇到这种情况,点击一个按钮后,通过网络异步操作从后台获取信息,然后再展示到UI,例如public class MyActivity extends BaseActivity { private void getUser(){ LoadingDialog loadingDialog=new LoadingDialog(thi...

2018-09-04 15:08:00 773

转载 Objective-C学习笔记-ARC

1.和Java一样,Objective-C中也有自动回收对象的机制ARC,当一个对象没有任何指针指向时,对象就会被释放2.默认的对象指针都是强引用的,假设现在有两个对象,A和B互相引用,那么着两个对象都没有办法通过ARC机制来释放3.可以通过弱引用来解决上面遇到的问题,下面的代码中,如果现在有A,B这两个对象,当代码执行完毕时,A中的B对象由于是弱引用,所以B可以被自动释放,B被...

2018-09-03 23:56:00 65

转载 数学学习笔记-三角函数

1.圆的一周的弧度数为2π,360°角=2π弧度,1°为π/180弧度2.如下图,在一个直角三角形中角A的对边为正对着的那个边a角A的邻边为另外一条直角边b角A的斜边为斜边c其中正弦sin(A)=对边/斜边余弦cos(A)=邻边/斜边正切tan(A)=对边/邻边正割csc(A)=1/sin(A)余割sec(A)=1/cos(A...

2018-09-03 21:41:00 135

转载 数学学习笔记-函数

1.函数是将一个对象转换为另外一个对象的规则,例如f(x)=x22.其中x的取值被称为输入,结果被称为输出3.所有输入来自称为定义域的集合,所有输出来自称为上域的集合4.假设现在有两个函数f,g,这两个函数的规则一样,且函数g的定义域小于f的定义域 我们可以说函数g是由限制f的定义域产生的5.所有可能的输出所组成的集合称为值域,例如f(x)=x2, f的定义域...

2018-09-02 19:03:00 182

转载 Objective-C学习笔记-消息

1.Objective-C是C的超集,所以C能使用的代码,Objective-C也能使用2.Objective-C代码使用.m文件而不是.c/.cpp3.Objective-C导入头文件使用#import "xxx.h"或者import <xxx.h>,#import指令会自动检查之前是否已经导入过这个文件。 所以在头文件里没必要使用#ifndef 或者 #p...

2018-09-02 17:40:00 62

转载 测试驱动要注意的

如果驱动没有正式签名想要测试,需要运行下面的命令bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKSbcdedit -set TESTSIGNING ON但是仅仅这样还是不够的还需要开启调试模式或者打上测试签名,两者满足一个就行bcdedit /bootdebug ONbcdedit /deb...

2018-01-09 21:12:00 166

转载 记第一次解PWN题目

# -*- coding: cp936 -*-from pwn import *g_local=False#不设置log_level为debug会导致程序的输出不显示出来context.log_level = 'debug'if g_local: #启动程序 p = process('./club') #调试器...

2017-11-03 15:07:00 94

空空如也

空空如也

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

TA关注的人

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