09 2019 档案
摘要:作为Swift中最重要的特性之一,泛型使用起来很巧妙。很多人都不太能理解并使用泛型,特别是应用开发者。泛型最适合libraries, frameworks, and SDKs的开发。在这篇文章中,我将用不同于其他教程的角度来讲解泛型。我们将使用餐馆的例子,这个餐馆能从SwiftCity的城市理事会中获得授权。为了保持简洁,我将内容控制在以下四个主题: 1、泛型函数和泛型类型 2...
阅读全文
摘要:鉴于昨天开会部门会议讨论的时候,发现有些朋友对枚举的用法还是存在一些疑问,所以就写下这个文章,介绍下Swift下的枚举的用法。 基本的枚举类型 来,二话不说,我们先贴一个最基本的枚举: enum Movement { case letf case right case top case bottom
阅读全文
摘要:蓝牙广播中对服务 UUID 格式定义都有三种 16 bit UUID、32 bit UUID、128 bit UUID。 但是熟悉安卓开发的小伙伴都知道接口都 UUID 格式,fromString 时候 16bit 的 UUID 该咋办呢? 16bit 和 32bit 的 UUID 与 128bit
阅读全文
摘要:在本文中我将介绍如何在Mac OS X上使用apktool.jar、dex2jar、jd-gui来进行apk的反编译和查看源码。下面会提供每个工具的下载地址。 测试环境:OS X EI Capitan 10.11.4 1.下载脚本 右键这里,把它存储命名为apktool,记得不要带后缀,要把后缀去除
阅读全文
摘要:一分钟读懂低功耗蓝牙(BLE)连接数据包 1.概述 BLE 连接过程中有三个重要的数据包:SCAN_REQ, SCAN_RSP 和 CONNECT_REQ。 SCAN_REQ: 扫描请求,由主设备(MASTER DEVICE)向从设备(SLAVE DEVICE)发出,目的是为了获得从设备的响应以得到
阅读全文
摘要:基本概念和问题 1、蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构。手机通过连接蓝牙设备,可以读取蓝牙设备上的信息。手机就是客户端,蓝牙设备是服务端。 手机做为客户端可以连接多个蓝牙设备,所以手机又可以叫中心设备(Central),蓝牙设备叫外围设备(
阅读全文
摘要:文章出处:https://www.jianshu.com/p/303e69e378ba 写这篇文章的目的 一直以来,在项目中需要进行代码混淆时每次都要去翻文档,很麻烦。也没有像写代码那样记得那么多。既然要查来查去,就不如自己捋一捋这个知识点了,被人写的终究还是别人的。所以自己去翻看了很多文章和官方文
阅读全文
摘要:Android Jetpack 组件是库的集合,这些库是为了协同工作而构建的,不过也可以单独采用,接下来会一一详细地学习这些库, 下面源码版本是com.android.support:appcompat-v7:28.0.0, 以及库android.arch.lifecycle:extensions:
阅读全文
摘要:本文涉及的源码版本如下: com.android.support:appcompat-v7:27.1.1 android.arch.lifecycle:extensions:1.1.1 android.arch.lifecycle:viewmodel:1.1.1 android.arch.lifec
阅读全文
摘要:概述 ViewModel,从字面上理解的话,它肯定是跟视图(View)以及数据(Model)相关的。正像它字面意思一样,它是负责准备和管理和UI组件(Fragment/Activity)相关的数据类,也就是说ViewModel是用来管理UI相关的数据的,同时ViewModel还可以用来负责UI组件间的通信。 之前存在的问题 ViewModel用来存储和管理UI相关的数据,可于将一个Activ...
阅读全文
摘要:Android 平台上的数据库框架非常多,但是有一个共同特点就是基于对象关系映射(ORM)模型的。实现的目标也都是不需要写SQL语句,通过对对象的操作保存和操作数据。要是从语法的简洁性来说都有自己的特点,总的来说不相上下,因此只能从数据的性能上来抉择了。 首先我们先看看目前最常用的数据库框架介绍(排
阅读全文
摘要:苹果蓝牙后台的限制,原本广播会有两个段分别是localName和serviceUUID这两块,但现在后台广播时,是不发送在这两段的 手机app可以作为一个蓝牙外设端来模拟外设硬件,但广播包里的数据只能包含localName和serviceUUID,相对于外设硬件来说还是有一些不足之处。 一个128位
阅读全文
摘要:XOR运算 XOR运算,中文称为“异或运算”。 它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值是否不同。 对应的真值表如下: XOR 应用 XOR 运算有一个很奇妙的特点:如果对一个值连续做两次 XOR,会返回这个值本身。 加密数据 iOS加密数据如下
阅读全文