自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flutter 包发布到pub.dev

3、测试发布flutter packages pub publish --dry-run,如果成功将会显示。5、发布 flutter packages pub publish ,如果成功将会显示。2、发布到github上。

2022-08-11 18:18:03 730 1

原创 sql 查询数据库最后10条降序排序

让人

2022-03-01 10:20:02 1418

原创 flutter:initialRoute

initialRoute主要功能主要是控制app启动的时候进入的是哪个页面。等同于iOS 的self.window.rootViewController = splashViewController;class _RootPageState extends State<RootPage> { bool _ignoring = false; @override Widget build(BuildContext context) { return MaterialApp(

2022-01-19 18:16:48 2873 1

原创 flutter ListView.separated使用

ListView.separated 在flutter使用中主要是修饰列表的分割线Scrollbar( child: ListView.separated( itemCount: _dataList.length,// itemExtent: 40.0, separatorBuilder: (BuildContext context, int index) { return index % 2 == 0 ? _divider2 : _

2022-01-19 14:00:15 3814

原创 DTCoreText学习

DTCoreText主要用于富文本倒入头文件#import <DTCoreText/DTCoreText.h>创建@property (nonatomic, strong) DTAttributedLabel *contentLabel; [_viewContent addSubview:({ _contentLabel = [DTAttributedLabel new]; _contentLabel.numberOfLines = 0;

2022-01-14 11:32:55 676

原创 iOS添加日历标记事件

1、获取权限+ (void)requestPermission:(void(^)(EKEventStore *eventStore))completion { EKEventStore *eventStore = [[EKEventStore alloc] init]; //06.07 使用 requestAccessToEntityType:completion: 方法请求使用用户的日历数据库 if ([eventStore respondsToSelector:@selecto

2022-01-13 16:37:34 1776

原创 iOS-打开手机通讯录

倒入头文件 #import <ContactsUI/ContactsUI.h>#import <ContactsUI/ContactsUI.h>协议CNContactPickerDelegate协议方法// 如果实现该方法当选中联系人时就不会再出现联系人详情界面, 如果需要看到联系人详情界面只能不实现这个方法,- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(

2022-01-13 16:13:51 237

原创 flutter:修改状态栏颜色

黑色SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);白色SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);

2022-01-12 17:48:54 304

原创 flutter 文字渐变和文字添加边框

文字渐变 Text( '88', style: TextStyle( fontSize: 100, foreground: Paint() ..style = PaintingStyle.fill ..strokeWidth = 10

2022-01-12 17:14:38 1553

原创 flutter路由创建使用

1、创建路由表ap<String, WidgetBuilder> routers = { "文本输入框简单的 Controller11":(context) => ControllerDemoPage(), "实现控件圆角不同组合": (context) { return new ClipDemoPage(); }, "列表滑动监听": (context) { return new ScrollListenerDemoPage(); }, "滑动

2022-01-12 16:08:24 646

原创 使用YYModel 字典转换模型

1、模型中包含数组模型,在.m文件中加入modelContainerPropertyGenericClass方法@interface XMallSpecificationModel : NSObject <YYModel>@property (nonatomic, copy) NSString *carSpecificationName;@property (nonatomic, copy) NSString *iconPicFileUrl;@end@interface XMa

2021-11-29 11:04:41 1947

原创 ios 将数组分段

NSUInteger itemsRemaining = predicateArr.count; int j = 0; while(itemsRemaining) { NSRange range = NSMakeRange(j, MIN(1500, itemsRemaining)); NSArray *subLogArr = [predicateArr subarrayWithRange:range]...

2021-11-29 10:51:15 285

原创 给view添加单边阴影

-(void)addSingleSidesShadowToView:(UIView *)theView withColor:(UIColor*)theColor{ //阴影颜色 theView.layer.shadowColor = theColor.CGColor; //阴影偏移 theView.layer.shadowOffset = CGSizeMake(0, theView.frame.size.height ); //阴影透明度,默认0 theVie

2021-11-29 10:48:41 1662

原创 高德地图设置地图等级

//// MKMapView+XExpMapView.h// xpmobile//// Created by xpeng on 2021/11/9.//#import <MapKit/MapKit.h>NS_ASSUME_NONNULL_BEGIN@interface MKMapView (XExpMapView)@property(nonatomic,assign) int zoomLevel;- (void)setCenterCoordinate:(CLLoc

2021-11-23 10:35:24 879

原创 ReactiveObjC使用

下载地址导入文件#import <ReactiveObjC/ReactiveObjC.h>UITextField监听在这里插入代码片 [[_textField rac_textSignal]subscribeNext:^(NSString * _Nullable x) { NSLog(@"%@",x); }]; //filter 监听文本 p满足文本长度执行,列如控制输入密码长度 [[[_textField rac_textSignal]fi

2021-10-19 18:53:38 645

原创 runtime使用

需要用到的方法 <objc/runtime.h>获取类的方法:Method class_getClassMethod(Class cls , SEL name)获取类的实例对象方法:Method class_getInstanceMethod(Class cls , SEL name)交换两个方法的实现:void method_exchangeImplementations(Method m1 , Method m2)1、交换方法// 获取两个类的类方法Method m1 = cla

2021-09-18 23:39:00 106

原创 runloop使用场景

1 NSTimer的使用//首先是创建一个子线程- (void)createThread{ NSThread *subThread = [[NSThread alloc] initWithTarget:self selector:@selector(timerTest) object:nil]; [subThread start]; self.subThread = subThread;}// 创建timer,并添加到runloop的mode中- (void)timer

2021-09-18 23:07:00 114

原创 FFmpeg打开rtsp流

函数 avformat_open_input代码 AVFormatContext *qFormatCtx = NULL; //封装格式上下文 是描述一个媒体文件或媒体流的构成和基本信息的结构体 //获取文件路径 const char *out_filename="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" ; //注册FFmpeg组件 avformat_netwo

2021-09-12 12:56:30 552

原创 FFmpeg解封装

解封装解析:将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如 MP4,MKV,RMVB,TS,FLV,AVI 等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV 格式的数据,经过解封装操作后,输出 H.264 编码的视频码流和 AAC 编码的音频码流。基本概念图解封装流程:1.分配解复用器上下文avformat_alloc_context2.根据url打开本地文件或网络流avformat_open_input3

2021-09-12 00:44:18 181

原创 swiftUI-View

let view1=UIView(frame: CGRect(x: 10, y: 10, width: 200, height: 200))view1.backgroundColor=UIColor.redself.view.addSubview(view1)//点击事件let viewtap1 = UITapGestureRecognizer.init(target: self, action: #selector(tapView_action1));view1.addGestureRecog

2021-09-10 14:44:48 93

原创 安卓蓝牙开发

在AndroidManifest.xml文件中申请权限<!-- 蓝牙权限 --><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />打开蓝牙,在搜索设备之前需要询问打开手机蓝牙 //获取系统蓝牙适配器管理类 private Bluetoo

2021-09-10 10:49:25 79

原创 安卓-客户端与服务器通信-mqtt

MQTTServicepackage com.ls.keyalarm.mqtt;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.Service;import android.content.Context;import android.content.Intent;import android.

2021-09-10 00:49:33 202

原创 GCDAsyncSocket-ios

@property (nonatomic, strong) GCDAsyncSocket *socket;连接 //连接上 [self.socket setDelegate:nil]; [self.socket disconnect]; self.socket=nil; self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:disp

2021-09-10 00:27:00 177

原创 iOS-蓝牙开发

1.CBCentralManager //系统蓝牙设备管理对象,可以把他理解为主设备,通过他,可以去扫描和链接外设 CBCentralManager *_manager;2.取消连接// if(_discoveredPeripheral) { [_manager cancelPeripheralConnection:_discoveredPeripheral]; }3.初始化蓝牙 //初始化并设置委托和线程队列,最好一个线程的参数可以为nil,默认

2021-09-09 23:58:56 373

原创 des加密

LCdes.h//加密+ (NSString *)lcEncryUseDES:(NSString *)string;//解密+ (NSString *)lcDecryUseDES:(NSString *)string;在这里插入代码片#import "LCdes.h"+ (NSString *)lcEncryUseDES:(NSString *)string{ NSString *str=[self encryptUseDES:string key:@"E9D01EBC"]

2021-09-08 13:17:01 46

原创 ffmpeg-iOS编译

1.下载gas-preprocessor.pl下载地址:https://github.com/libav/gas-preprocessor.git下载成功后如图所示将gas-preprocessor.pl复制到/usr/local/bin/路径下在终端执行chmod 777 /usr/local/bin/gas-preprocessor.pl2.安装yasm3.下载脚本脚本地址:https://github.com/kewlbear/FFmpeg-iOS-build-script在终端cd

2021-05-06 11:54:40 50

原创 安卓工程集成ffmpeg

最近在学习ffmpeg框架,网上找了很多资料,对着操作但还是报了很多错误,摸索了很久也没有摸到窍门,但是今天终于成功了,下面把集成过程写一下,以免以后忘记了。1.创建c++工程2.添加库文件将编译后的so文件加入libs文件夹中,将include文件夹加入cpp文件夹下ffmpeg文件夹如图所示添加so文件如下图展示设置ndk:ndk选择r17c,一定要选择合适的ndk,要不然会报错3.将so文件与工程结合CMakeLists.txt展示,这里主要是绑定so文件# For

2021-04-19 14:22:40 138

原创 音频合并

1.音频合并,取视频1的是视频,视频2的音频合成一个新的视频 int videoIndex = -1; int audioIndex = -1; try { mediaExtractor.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/ss/" + "2.mp4"); int trackCount = mediaExtractor.g

2021-04-01 16:24:20 220

原创 MediaRecorder简介

1.Android系统实现录音功能MediaRecorder初始化 private MediaRecorder mMediaRecorder; mMediaRecorder = new MediaRecorder();MediaRecorder主要方法void prepar():准备录制void start():开始录制void stop():停止录制void reset():重置void release():释放资源void setAudioEncoder(int):设置音频记录的

2021-03-30 13:36:05 2507

原创 安卓子线程使用和回到主线程过程

子线程//启动线程(new CheckPB9Thread()).start(); private class CheckPB9Thread extends Thread { public CheckPB9Thread() { super(); } @Override public void run() { super.run(); while (true) {

2021-03-26 14:37:55 188

原创 安卓 发送指令为AT+CPIN?\r给硬件时数据转化

指令为 AT+CPIN?\r需要先将字符串AT+CPIN?转化为十六进制的字符串 public static String convertStringToHex(String str){ char[] chars = str.toCharArray(); StringBuffer hex = new StringBuffer(); for(int i = 0; i < chars.length; i++){ Log.d

2021-03-26 14:32:50 381

原创 SerialPortManager学习

SerialPortManager主要是与硬件串口通信SerialPortManager初始化 private SerialPortManager mSerialPortManager; mSerialPortManager = new SerialPortManager();串口是否打开监听 mSerialPortManager.setOnOpenSerialPortListener(new OnOpenSerialPortListener() {

2021-03-26 14:23:37 813

原创 EC20 TCP/IP AT指令(安卓串口通信开发)

指令过程1.等待串口接收字符串"RDY"模块系统启动成功。2.发送"AT+CPIN?\r",等待"+CPIN: READY",SIM准备就绪。3.发送" AT+CSQ\r",等待"+CSQ: 25",网络信号值要大于10通信才稳定。4.发送" AT+CREG?\r",等待" +CREG: 0,1",网络注册成功后才能上网。5.发送"AT+QIACT=1\r",等待" ok",激活移动场景。6. AT+QIACT?\r",等待" +QIACT: 1,1,1,",是否获取到了IP地址如:“+QIAC

2021-03-26 13:06:45 870

原创 使用AudioRecord进行音频采集

1.AudioRecord 可以获取到一帧帧PCM数据,然后转化成wav格式。2.pcm是一种数据编码格式,CD唱盘上刻录的就直接用pcm格式编码的数据文件;3.wav是一种声音文件格式,wav里面包含的声音数据可以是采用pcm格式编码的声音数据,也可以是采用其它格式编码的声音数据,但目前一般采用pcm编码的声音数据4.AudioRecord的基本参数audioResource:音频采集的来源audioSampleRate:音频采样率channelConfig:声道audioFormat:音

2021-03-19 16:11:26 835

原创 2020年手机号码正则表达式

//-(BOOL)phoneNumber:(NSString *)phoneNumber{ //134、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、195 、198、197 /** * 移动号段正则表达式 */ NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7

2021-01-11 10:47:21 379

原创 保留小数位数和精确数字

/* NSRoundPlain:四舍五入 NSRoundDown:向下取正 NSRoundUp:向上取正 NSRoundBankers:(特殊的四舍五入,碰到保留位数后一位的数字为5时,根据前一位的奇偶性决定。为偶时向下取正,为奇数时向上取正。如:1.25保留1为小数。5之前是2偶数向下取正1.2;1.35保留1位小数时。5之前为3奇数,向上取正1.4) scale:精确到几位小数 raiseOnExactness:发生精确错误时是否抛出异常,一般为NO...

2021-01-05 14:50:13 205

原创 打开描述文件报错Failed to install one or more provisioning profiles on the device.

直接从Xcode中下载

2021-01-05 14:05:51 1475

原创 图片地址中含有中文处理方式

NSString *url = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<> "].invertedSet]; [_imgView sd_setImageWithURL:[NSURL URLWithString:url] placeholderI...

2020-12-28 15:50:50 471

原创 AFURLSessionManager下载文件

-(void)downloadFile:(NSString *)urlString{//创建会话管理对象(通过默认配置)AFURLSessionManager *manager = [[AFURLSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];NSURLSessionDownloadTask *task = [manager dow

2020-12-28 15:40:08 324

原创 The application does not contain a valid bundle identifier.解决方法

不小心删除 删除Bundle identifier ,添加就可以了

2020-12-28 15:23:03 559

空空如也

空空如也

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

TA关注的人

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