自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(517)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java线程池 - (二)内置线程池

Java线程池 - (二)内置线程池ExecutorService接口是Java内置的线程池接口,整体的继承关系如下:其常用方法有:void shutdown() - 启动一次顺序关闭,执行以前提交的任务,但不接受新任务List<Runnable> shutdownNow() - 停止所有正在执行的任务,暂停处理正在等待的任务,并返回等待执行的任务列表<T> Future<T> submit(Callable<T> task) - 执行带返

2021-11-21 21:12:42 958

原创 Java线程池 - (一)自定义线程池

Java线程池 - (一)自定义线程池什么是线程池?线程池就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务为什么要使用线程池?可以根据系统的需求和硬件环境灵活的控制线程的数量,且可以对所有线程进行统一的管理和控制,从而提高系统的运行效率,降低系统运行压力使用线程池的优势1.线程和任务分离,提升线程重用性2.控制线程并发数量,降低服务器压力,统一管理所有线程3.提升系统响应速度,假设创建线程用的时间是T1,执行任务用的时间是T2,销毁线程用的时

2021-11-21 10:25:58 1149

原创 Android MQTT

Android MQTT本地搭建MQTT测试参考:MQTT在Android端的使用详解以及MQTT服务器搭建、Paho客户端使用1.安装emqx安装后,cd到eqmx目录下,使用如下的命令# Start emqx./bin/emqx start# Check Status./bin/emqx_ctl status# Stop emqx./bin/emqx stop启动后打开http://localhost:18083,帐号为admin,密码为public2.Paho客户端

2021-11-05 17:14:40 5429 3

原创 Android Wifi (二)

Android Wifi记录下学习Android 10源码中有关Wifi的知识点知识点WEP 无线加密协议(英语:Wireless Encryption Protocol)WPA 全名为 Wi-Fi Protected Access(Wi-Fi网络安全存取)PSK,预共享密钥模式(pre-shared key (PSK),又称为"-Personal",即“-个人模式”)是针对承担不起802.1X认证服务器的成本和复杂度的家庭或小型公司网络设计和使用的SAE(Simultaneous Authen

2021-11-03 14:15:14 1318

原创 Car术语

Car术语TTS - Text To Speech,语音合成VPA - Virtual Personal Assistant,智能语音助手、AI助手等虚拟个人助理的统称DMS - Driver Monitor System,驾驶员监测系统CPSP - Content provider /Service provider,内容服务,车载音乐、视频软件...

2021-10-29 10:03:12 3563

原创 Robot Framework And Appium

Robot Framework And Appium官方文档:AppiumLibrary.htmlBuiltIn.htmlRobot Framework documentation定位元素比如Android界面上有一个TEST按钮,在Appium中它显示的属性如下:可以通过如下的方式来点击这个按钮通过idClick Element com.example.appiumlibrarytest:id/button1通过classClick Element //andro

2021-09-09 19:23:22 490

原创 Car Radio

Radio记录下学习Android Car Radio源码,源码来源自https://cs.android.com/androidBandDescriptor表示的是无线电波段描述符,它是ModuleProperties波段数组中的一个元素,有两个子类FmBandDescriptorAmBandDescriptorProgramSelectorProgramSelector表示的是调谐到给定电台所需的一组标识符。A set of identifiers necessary to tune

2021-08-30 15:04:58 1758 1

原创 Android系统应用开发

Android系统应用开发android:sharedUserId=“android.uid.system”在AndroidMainfest.xml中添加 android:sharedUserId="android.uid.system" 。通过sharedUserId属性,相同User id的apk配置运行在同一进程中,把程序的User id配置成android.uid.system,也就是让程序运行在系统进程中,这样程序就有权限来读写系统配置。Android push apk to /system

2021-08-27 17:23:39 6369 2

原创 Mac上安装scrcpy

Mac上安装scrcpy在Mac上通过brew install scrcpy来安装scrcpy安装的时候可能会出错,参考brew install not working on Mac (Catalina) #2247 ,可先使用brew update 更新brew设置Homebrew镜像源安装scrcpy的过程很缓慢,可以尝试修改源or使用科学上网工具参考:Homebrew / Linuxbrew 镜像使用帮助查看当前Homebrew的source,参考homebrew查看源配置,如:g

2021-08-26 17:58:56 8534 2

原创 Android WiFi(一)

Android WiFiWiFi相关的知识点,我是第一次接触,所以比较零碎WiFi Scan官方文档对WiFi扫描的说明:WLAN 扫描功能概览比较完整的例子,可参考:Develop a WiFi Scanner for Android按照官方文档,大致的步骤:1.为 SCAN_RESULTS_AVAILABLE_ACTION 注册一个广播监听器,系统会在完成扫描请求时调用此监听器,提供其成功/失败状态2.使用 WifiManager.startScan() 请求扫描3.使用 W

2021-08-23 09:27:38 2482 3

原创 Android WiFi热点

Android WiFi热点项目中有需要对WiFi热点需要进行某些操作,所以记录下一些有关WiFi热点的知识点开启或者关闭热点网上的大部分例子,都是通过反射,调用WifiManager的setWifiApEnabled方法,来开启或者关闭热点,如:Android WiFi开发 (二)Wifi热点三、Android开启wifi热点//热点的配置类WifiConfiguration apConfig = new WifiConfiguration();//配置热点的名称(可以在名字后面加点随

2021-08-19 16:59:52 8122 4

原创 AppiumLibrary使用

AppiumLibrary使用可参考Appium+RobotFramework第一个自动化测试脚本实现第一个自动化测试脚本AppiumLibrary的关键字可参考官方文档:AppiumLibraryOpen ApplicationOpens a new application to given Appium server可以理解为启动一个应用例子如下:Open Application http://localhost:4723/wd/hub platformName=Android

2021-07-27 17:55:30 951 1

原创 appium+robotframework

appium+robotframeworkappiumMac上安装appium参考了网上的很多资料,在appium官网上下载Mac版的安装包安装后需要配置ANDROID_HOME和JAVA_HOME,如果不配置可能在后面的start server时会出错,可能有如下的错误:An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of

2021-07-22 11:49:07 527

原创 创建Bitmap

创建Bitmap使用BitmapFactoryBitmapFactory Creates Bitmap objects from various sources, including files, streams, and byte-arrays.BitmapFactory用于从各种资源、文件、数据流和字节数组中创建Bitmap(位图)对象其主要方法:public static Bitmap decodeResource(Resources res, int id)public static

2021-07-19 15:04:09 1244 1

原创 SurfaceView基础

SurfaceView基础大部分内容来自《Android自定义控件开发入门与实战》一书有时会在Logcat的输出中出现如下的内容:Skipped 60 frames! The application may be doing too much work on its main threadAndroid屏幕的刷新时间间隔是16ms,如果View能够在16ms内完成所需执行的绘图操作,那么界面就是流畅的,否则就会出现卡顿大部分原因是在绘制过程中做了很多逻辑操作,导致没有在指定的16ms内完成绘制

2021-07-16 14:05:09 416 2

原创 PathMeasure

PathMeasurePathMeasure可以计算指定path的一些信息,比如路径总长、指定长度所对应的坐标点等创建方式: public PathMeasure() public PathMeasure(Path path, boolean forceClosed)forceClosed - forceClosed参数对绑定path不会产生任何影响,如果一个折线没有闭合,当forceClosed为true时,PathMeasure计算的path是闭合的,但path本身绘制出来的是不会闭合的。

2021-07-14 17:48:14 189

原创 Cocoapods Swift和Objective-C混编

Cocoapods Swift和Objective-C混编参考:制作Swift和Objective-C Mixed的PodCocoaPods组件化之OC与Swift混编问题如何在模块化/组件化项目中实现 ObjC-Swift 混编?在 Swift Framework 中使用 C 文件的过程探索组件化开发之-如何解决Swift/OC-Framenwork/Library混合创建pod问题...

2021-01-19 15:16:50 1891

原创 Map

Map一些基础知识地理坐标系的介绍:地理坐标系一般是指由经度、纬度和相对高度组成的坐标系,能够标示地球上的任何一个位置经纬度经度(longitude):东经为正数,西经为负数。纬度(latitude):北纬为正数,南纬为负数。...

2021-01-15 16:47:07 156

原创 Shell笔记二

Shell笔记二内容来自:Shell if else语句流程控制[]方括号方括号的一些用法可参考:Shell 中的中括号用法总结Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。文件属性测试,比如一个文件是否存在,[ -e $var ], 是否是目录,[ -d $var ]。字符串比较, 比如两个字符串是否相同, [[ $var1 = $var2 ]]。[] 常常可以使用 test 命

2021-01-04 17:43:35 216

原创 Shell笔记一

Shell笔记一内容来自:Shell简介需要知道是,参考在 Mac 上将 zsh 用作默认 Shell:从 macOS Catalina 版开始,您的 Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell。您还可以在较低版本的 macOS 中将 zsh 设置为默认 Shell。使用$ cat /etc/shells命令来查看系统的可用Shell,在Mac OS系统下,输出结果如下:# List of acceptable shells for chpass(1).#

2020-12-28 16:19:15 217 1

原创 编译选项

编译选项一些文章:NSClassFromString返回结果为nil的原因Building Objective-C static libraries with categoriesOther Linker FlagsXcode 编辑器之关于Other Linker Flags相关问题

2020-11-20 13:41:35 270

原创 Shell

Shell教程资源:jaywcjlove / shell-tutorialbash-simple-guide-chinesedunwu / linux-tutorial52fhy / shell-book

2020-10-29 14:38:59 203 1

原创 静态库、动态库、Framework

静态库、动态库、Framework参考:BASIC OVERVIEW OF STATIC AND DYNAMIC FRAMEWORKS ON IOSFrameworkFor frameworks, we first need to understand the bundle concept (as a framework is a specific kind of a bundle). A bundle is a file directory with subdirectories inside.

2020-10-27 15:03:47 331

原创 Cocoapods:podspec与使用过程中遇到的问题

Cocoapods:podspec在实际使用中,遇到一些疑问,记录下来use_frameworks!为啥要在CocoaPods中使用 use_frameworks!,参考:Why do we use use_frameworks! in CocoaPods?use_frameworks! tells CocoaPods that you want to use Frameworks instead of Static Libraries. Since Swift does not suppo

2020-10-27 14:30:00 1558

原创 Charles抓取HTTPS请求

Charles抓取HTTPS请求按通常的设置,在手机上设置代理在使用Charles抓取HTTPS请求时,如果没有任何设置,可能会提示SSL Proxying not enabled for this host:enable in Proxy Setting,SSL locations参考官网SSL CertificatesEnable SSL proxy on iOS如果是真机设备,要安装证书在Help-> SSL Proxying选择会有如下的弹窗之后去手机的浏览器,访问chl

2020-10-13 14:10:50 638

原创 架构模式-VIPER

架构模式-VIPERiOS架构模式,可参考如下的文章:iOS 架构模式–解密 MVC,MVP,MVVM以及VIPER架构浅谈 MVC、MVP 和 MVVM 架构模式iOS VIPER架构实践(一):从MVC到MVVM到VIPERiOS VIPER架构实践(二):VIPER详解与实现VIPER的全称是View-Interactor-Presenter-Entity-Router。示意图如下:View提供完整的视图,负责视图的组合、布局、更新向Presenter提供更新视图的接口将V

2020-10-12 15:20:16 1222

原创 Flutter-Text组件

Text组件参考:Text class文本及样式其构造方法const Text( String data, {Key key, TextStyle style, StrutStyle strutStyle, TextAlign textAlign, TextDirection textDirection, Locale locale, bool softWrap, TextOverflow overflow, double textScaleFactor, int max

2020-10-11 11:30:20 421

原创 Flutter问题集

Flutter问题集记录Flutter开发中遇到的问题1.iPhone真机调试,提示无法打开“iproxy”,因为无法验证开发者参考:Flutter 常见问题汇总来解决但貌似当前的版本,在libimobiledevice目录下,并不存在idevice_id和ideviceinfo着两个文件那就直接修改iproxysudo xattr -d com.apple.quarantine [your_flutter_path]/bin/cache/artifacts/usbmuxd/iproxy.

2020-09-27 17:11:22 998

原创 Cocoapods安装与SVN使用

Cocoapods安装与使用2020年换了个新电脑,在最新的系统上安装cocoapods,遇到许多问题,一言难尽按cocoapods开发环境搭建来操作先更新rubygem sources --remove https://rubygems.org/gem sources -a https://gems.ruby-china.com/gem sources -lsudo gem update --system安装sudo gem install -n /usr/local/bin

2020-09-26 00:47:07 776

原创 iOS内购三:Receipt

iOS内购三:Receipt可参考:Validating Receipts Locally需验证receipt,可以在本地验证,也可以在服务端验证本地验证,涉及到security和加密,比较复杂而服务端验证相对而言简单些收到transaction后,将receipt发送到自己的服务器自己的服务器连接apple的服务器,做解密和验证apple将结果发送给服务器,服务器再发给你参考:Choosing a Receipt Validation TechniqueLocal -

2020-09-10 11:55:20 2595

原创 iOS内购二:购买和恢复

iOS内购二:购买和恢复购买构建一个SKPayment对象,传递SKProduct。SKPayment被创建后,就会将其加入到SKPaymentQueue队列中然后用户会授权,payment是异步,所以需要一个observer,apple建议observer添加都的AppDelegate中支付之后,app store会返回一个transaction,transaction包含receipt(被加密签名,可以获取购买的信息)和 state最后,还需要让apple知道你已经完成处理这个transac

2020-09-09 11:28:41 6438

原创 Push Notifications

Push Notifications还是参考:Push Notifications Tutorial: Getting Started因为有一些新的变化,做下笔记Mac客户端的推送工具:PushNotificationsAuthentication Key新的APNs协议基于HTTP/2,一种是使用Universal Push Notification Client SSL 证书,一种是使用Token。生成的是一个.p8文件Basic Push Notificationaps内置的

2020-08-28 16:19:41 1498

原创 Optimizing App Startup Time

Optimizing App Startup Time内容来自官方视频Optimizing App Startup TimeMach-OMach-O是运行时可执行文件的文件类型。一些术语表Executable - Main binary for application 可执行文件,应用扩展文件的主二进制文件Dylib - Dynamic library (aka DSO or DLL) 动态库,在其他平台上,可能是DSO 后缀 DLLBundle - Dylib that cannot be

2020-08-17 18:00:16 661

原创 iOS汇编

iOS汇编参考:iOS汇编入门教程(一)ARM64汇编基础iOS开发同学的arm64汇编入门

2020-08-17 12:25:07 278

原创 Mach-O

Mach-O维基百科介绍Mach-O:Mach-O为Mach Object文件格式的缩写,它是一种用于可执行文件,目标代码,动态库,内核转储的文件格式。作为a.out格式的替代,Mach-O提供了更强的扩展性,并提升了符号表中信息的访问速度。Mach-O曾经为大部分基于Mach核心的操作系统所使用。NeXTSTEP,Darwin和Mac OS X等系统使用这种格式作为其原生可执行文件,库和目标代码的格式。而同样使用GNU Mach作为其微内核的GNU Hurd系统则使用ELF而非Mach-O作为其标

2020-08-14 11:52:51 616

原创 文字后面显示展开或者收取

文字后面显示展开或者收取在文字显示时,可能有这样的要求,例如,限制文字为3行,超过3行后,在文字最后显示"查看更多"在网络上搜索了下,有如下的几种方式来实现:1.开源控件,使用TruncationTokenYYLabel 点击展开和收起全文展开label,利用YYText实现文字显示不完末尾添加全文另外TTTAttributedLabel也支持这种方式2.使用CoreText,参考:CoreText进阶(四)-文字行数限制和显示更多3.其它方式,参考:Add “…Read Mo

2020-07-02 11:14:40 1496

原创 FSCalendar使用

FSCalendar使用在项目中经常有使用到日历,大部分使用场景都需要自定义日历,FSCalendar能适应大部分场景参考如下的使用文档:More usageFSCalendar使用介绍(一) - Hello WorldFSCalendar使用介绍(二) - 农历、事件FSCalendar使用介绍(三) - 订制外观FSCalendar大概由如下的几部分组成:FSCalendarHeaderTouchDeliver - 为FSCalendarHeaderView和FSCalenda

2020-06-02 17:20:31 7891 1

原创 CocoaPods使用中遇到的问题

CocoaPods使用中遇到的问题1.pod install与pod update的区别

2020-05-21 11:43:56 871

原创 Automatically manage signing

Automatically manage signing参考:iOS开发之带你玩转Xcode自动管理证书iOS Code Signing虽然现在xcode推荐使用Automatically manage signing,但在使用过程中还是遇到一些问题1.Provisioning Profile的位置位于如下的位置,可能有时候需要手动删除~/Library/MobileDevice/Provisioning Profiles/下载Provisioning Profile,可在Xcode

2020-05-20 15:38:29 3026

原创 Charts使用

Charts使用Charts是一个开源的绘图框架,来源自Android的MPAndroidChart,是一个跨平台的框架。支持Swift和Objective-C其具体使用文档可参考:mpandroidchart -

2020-05-19 17:06:25 2544

iOS Drawing Practical UIKit Solutions

Apple lavished iOS with a rich and evolving library of resolution-independent 2D drawing utilities. Its APIs include powerful features such as transparency, path-based drawing, anti-aliasing, and more. Harness these low-level, lightweight drawing routines in your apps to build images, to create PDFs, to display views, and to print.

2016-03-06

NSOperation例子

一个NSOpration的例子,转载自raywenderlich

2015-04-01

iOS Programming- The Big Nerd Ranch Guide 第4版

iOS Programming- The Big Nerd Ranch Guide 4ed,iOS开发教程,第4版

2015-06-01

AVCaptureSession

AVCaptureSession可以用来自定义照相机,这两个demo,也是在网上找的,可以作为参考

2014-10-11

SDWebImage

SDWebImage 第三方库,很好用的图片缓存与下载

2014-06-26

TKAlertCenter

效果很不错,由小到大显示,一两秒钟后由大到小消失

2014-06-20

iOS模糊效果Demo

ios 中 实现模糊效果,主要是扩展了image,有两个例子,可以参考

2014-07-02

空空如也

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

TA关注的人

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