iOS模拟器找不到证书? 在模拟器里面怎么都找不到刚刚安装的Charles证书。解决办法:1.把证书下载到本地(保存到桌面),使用命令安装证书image.png2.使用如下命令安装证书:xcrun simctl keychain booted add-root-cert <your_certificate>例如:xcrun simctl keychain booted add-root-cert /Users/xxx/Desktop/charles-ssl-proxying-c
iOS gcd线程死锁问题 案例分析i 同步异步决定是否具备开启线程的能力串行并行决定代码执行的先后顺序先看下这几个场景,每个场景中的代码执行后会打印什么,为什么?场景一:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after.
iOS sqlite使用 研究了几天的数据库,终于把它给搞出来了。Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的。这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如何修改,明白原理,达到举一反三的目的。先来看看效果图 sqlite使用" /> 先来看看数据库方法类,将各个操作都封装在一个类里面,达到代码重用的目的,这是程序员都应该努力去实现的目标
View, surfaceView, GLS… view是最基础的,必须在UI主线程内更新画面,速度较慢。SurfaceView 是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快GLSurfaceView 是SurfaceView的子类,opengl 专用的
如何将将自己混淆的jar或者aar上传到jcenter? 此项目基于Github Novoda修改而来。 改进点:在publish内新增archivesPath参数,可将指定的jar包或者aar包放在此目录下,会指定上传此目录内的压缩包。这样我们便可以很容易上传自己生成的jar,比如混淆过的。新增依赖1.根目录下的build.gradle中加入上传开源库的依赖:classpath 'com.aaron.gradle:bintray-...
使用jenkins自动化构建测试打包apk 1、下载Jenkins并安装官网下载地址:https://jenkins.io/download我们下载上图所示Window版本,下载下来是个.zip的压缩包,我们解压一下会得到一个安装文件,我们双击安装,一直Next,即可安装完成。2、Jenkins配置安装完jenkins会自动在浏览器中打开如下页面:提示说密码在C:\Program Files (x86)\Jenkins\...
在mac上配置Jenkins自动化打包 之前使用jenkins安装包配置过Jenkins,但是配置好之后因为使用安装包安装的jenkins是在机器上新建的账户,所以在配置证书时比较麻烦,会有权限问题,必须把证书和描述性文件拷贝到jenkins账户下才可以,最近使用brewinstall安装jenkins感觉比较方便,可以共用系统的证书和描述性文件1.安装之前先检查是否装有Jenkins依赖的java环境,Jenkins依赖的是JD...
Android 动态创建渐变 Android Shape使用场景:1. 圆角实现2. 实现有边框,有填充的背景3. 实现一个渐变的颜色一般情况上面三种情况我们会选择android的shape,下面分别介绍shape的静态使用和动态使用1. shape的静态使用在drawable中创建一个xml文件,在布局文件中直接引用这个xml文件即可<?xml version="1.0" encoding="...
Groovy之task语法 任务入门定义任务任务属于一个Project对象,并且每个任务都可以执行task接口。定义一个新任务的最简单方式是,执行将任务名称作为其参数的任务方法:task hello其创建了任务,但当你执行时,它不会做任何事情。为了创建一个有用的任务,你需要添加一些动作。初学者通常会犯的一个错误是像下面这样创建任务:task hello{ println 'Hello , worl...
如何在AndroidStudio中自定义Gradle插件(二) 上一篇文章中我们介绍了Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。有些时候,我们会有一些个性化的构建需求,比如我们引入了第三方库,或者我们想要在通用构建过程中做一些其他的事情,这时我们就要自己在系统默认构建规则上做一些修改。这时候我们就要自己向Gradle”下命令“了...
在AndroidStudio中自定义Gradle插件,并上传至maven?(一) 一、什么是Gradle简单的说,Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。Android Studio中默认就使用Gradle来完成应用的构建。有些同学可能会有疑问:”我用AS不记得给Gradle指定过什么构建规则呀,最后不还是能搞出来个apk。“ 实际上,ap...
常用 Git 命令清单 常用 Git 命令清单我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ ...
Android资源混淆 Android资源混淆工具:https://github.com/shwenzhang/AndResGuard/blob/master/doc/how_to_work.zh-cn.md打包时的:用到的签名设置
android反射机制 一、Java反射基础介绍.详细请参考来源网站http://blog.163.com/ahszrj123@126/blog/static/109529029201261473243868/反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。在计算机科学领域,反射是一类应用,它们能够自描述和自控制。这类应用通过某种机制来实现对自己行为的描述和检测,并能根据自身行为的状态和结果,调整
android动态加载外部类 基本信息 Author:kaedeaGitHub:android-dynamical-loading我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装APK就能升级应用的功能,这样一来不但可以大大提高应用新版本的覆盖率,也减少了服务器对旧版本接口兼容的压力,同时如果也可以快速修复一些线上的BUG。 这种技术并不是常规
Android 自定义View 需要知道的几点 1、让View支持wrap_content 这是因为直接继承View或者Viewgroup的控件,如果不在onmesure对wrap_content做特殊处理,那么当外界在布局中使用wrap_content时就无法达到预期的效果。 2、如果有必要,让你的View支持padding 这是因为直接继承View的控件,如果不在draw方法中处理padding,那
使用nineoldandroid.jar包 简单实现全屏滑动 下面代码中ViewHelper需要用到nineoldandroid.jar。@Overridepublic boolean onTouchEvent(MotionEvent event) { int x =(int) event.getRawX(); int y =(int) event.getRawY(); switch (event.
Android的GestureDetector 手势检测,用于辅助检测用户的单机、、滑动、长按、双击等行为。要使用GestureDetector也不复杂。 首先,需要创建一个GestureDetector对象并且实现onGestureListner接口,根据需要我们还可以实现OnDoubleTapLinster从而能够监听双击行为:GestureDetector gestureDetector=new GestureDetect