登录
  • 欢迎访问Sharezer Blog

sharezer的文章

IOS

CocoaPods国内镜像

国内Specs 清华大学镜像 https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git 上海大学镜像 https://mirrors.shu.edu.cn/CocoaPods (仅HTTP/HTTPS访问,不支持git拉取) https://mirrors.shu.edu.cn/mgit/Specs (仅git访问) https://git.shuosc.org/CocoaPods/Specs (均支持) 中国区镜像表项 git://cocoapodscn.com/Specs.git 使用方法 对于旧版的 CocoaPods 可以……继续阅读 »

Android

Gradle 插件结合 asm 实现 android AOP 埋点

本文由 简悦 SimpRead 转码, 原文地址 https://www.jianshu.com/p/067b1399158d 1、在 buildsrc 中新建 AsmInjectPlugin 插件 public class AsmInjectPlugin implements Plugin<Project>{ @Override void apply(Project project) { System.out.println("========================") System.out.pri……继续阅读 »

Android

Gradle 自定义插件以及发布方法

本文由 简悦 SimpRead 转码, 原文地址 https://www.jianshu.com/p/d1d7fd48ff0b 前言 我们平常在进行 Android 开发时,都会使用 Gradle 来进行项目配置,通常在对应的 module:app 的build.gradle中,在最上面的一句话一般都为: apply plugin: 'com.android.application' 这句话就是用来加载 gradle 的android开发插件,然后,我们就可以使用该插件提供的配置方法进行 Android 项目的配置了,即如下所示: android { compileSdkVers……继续阅读 »

Android

Android 中常用设计模式

介绍 Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 1、单例设计模式 最好理解的一种设计模式,分为懒……继续阅读 »

IOS

iOS获取照片EXIF信息

废话不多说,直接上代码。 let options = PHImageRequestOptions() options.version = PHImageRequestOptionsVersion.current; options.deliveryMode = PHImageRequestOptionsDeliveryMode.highQualityFormat; options.isSynchronous = true; let phImageManager = PHImageManager.default() phImageManager.requestImageData(for: phot……继续阅读 »

IOS

AVFoundation Programming Guide(官方文档翻译)完整版中英对照

新博客: 完整版 - AVFoundation Programming Guide 分章节版: – 第 1 章:About AVFoundation - AVFoundation 概述 – 第 2 章:Using Assets - 使用 Assets – 第 3 章:Playback - 播放 – 第 4 章:Editing - 编辑 – 第 5 章:Still and Video Media Capture - 静态视频媒体捕获 – 第 6 章:Export - 输出 – 第 7 章:Time and Media Representations 时间和媒体表现 版权声明:本文为博主原创翻译……继续阅读 »

Android

Android&iOS一键分享

[TOC] Android与iOS不嵌入微信SDK的情况上发送一份文件给微信好友。 1. iOS 一键分享 let activityVC = UIActivityViewController(activityItems: ["需要分享文件asset" as Any], applicationActivities: nil) activityVC.popoverPresentationController?.sourceView = self.view self.present(activityVC, animated: true, completion: nil) 效果如……继续阅读 »

Android

JNI中多线程回调Java方法问题

1. 背景 在JNI中使用中需要在一个c层的回调方法中调用Java层的静态方法,一开始的设想是初始化的时候保存JNIEvn与jclass为全局变量,需要的时候直接使使用。在实际使用中发现,直接使用会出现奔溃。 初步猜测可能是多线程引起。 2. 问题排查 2.1 步骤1 子线程中使用全局JNIEnv与jclass 使用方法 jmethodID mid = (*g_env)->GetStaticMethodID(g_env, g_cls, "print", "(Ljava/lang/String;)V"); jstring param = (*g_env)->NewStringUTF(……继续阅读 »