自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gamin

学习和开发中的笔记

  • 博客(810)
  • 资源 (148)
  • 收藏
  • 关注

原创 [Harmony]大文件持久化

在开发过程中,首先需要在module.json5文件中添加权限ohos.permission.READ_WRITE_USER_FILE,以允许读写用户数据,并在string.json中定义权限使用原因。接着,封装了一个大文件数据持久化工具MFLargeDataStorage,使用@ohos.file.fs模块实现文件的读写操作,支持保存和加载JSON格式的用户数据。最后,通过示例展示了如何在应用中使用该工具,包括设置上下文、保存用户数据以及加载并输出数据。整个过程确保了数据的安全存储与高效访问。

2025-05-15 17:43:49 163

原创 [Harmony]获取资源文件中.txt文件中的字符串

文章摘要:本文介绍了如何通过UserDataManager类从src/main/resources/rawfile/userInfo.txt文件中读取JSON字符串。UserDataManager类使用getRawFileContent方法获取文件内容,并通过buffer模块将其转换为UTF-8格式的字符串。示例代码展示了如何在Index组件中调用getTextFromResource方法,并在点击按钮时输出文件中的JSON字符串。该方法适用于在应用中动态读取和解析资源文件。

2025-05-15 17:17:49 178

原创 [Harmony]封装一个可视化的数据持久化工具

本文介绍了在HarmonyOS应用中如何添加权限、封装数据持久化工具及其使用示例。首先,在module.json5文件中声明应用所需的分布式数据同步权限,并配置使用场景。接着,封装了一个基于@ohos.data.preferences的可视化数据持久化工具MFStorageManager,支持初始化、获取、更新和选择性清除缓存数据等功能。工具类中还定义了一个自定义的ConsoleLog类,用于在控制台输出日志时添加前缀。最后,通过一个示例展示了如何在页面中使用MFStorageManager进行用户ID的设

2025-05-15 12:58:06 373

原创 [SwiftUI]如何让Text靠左上对齐并且文本最多只展示两行

有一个需求,要商品名称占用两行的高度,但文本不能居中要左上对齐。

2025-04-27 11:51:41 138

原创 [Error]DevEco新建一个空项目时报错Process finished with exit code 255

目录及其所有子目录的所有权更改为当前用户。文件夹中创建文件或目录。在执行过程中需要访问。

2025-04-23 09:44:29 274

原创 [SwiftUI]切换根视图

切换根视图 @StateObject @EnvironmentObject @AppStorage

2025-04-20 11:20:48 270

原创 [Swift]Xcode模拟器无法请求http接口问题

现在我在Xcode16.3上,这种设置方式在真机上能请求http(应该是设备开启了开发者模式),但在模拟器上请求http是被拒绝的。,因为它不允许所有不安全的连接,但例外列表允许连接到一些没有 HTTPS 的域。这样模拟器上就能正常请求http接口了。默认限制了非 HTTPS 请求。

2025-04-19 22:18:37 733

原创 [Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)

它主要与 Xcode 的脚本执行环境有关,目的是提高构建脚本的安全性,防止脚本对系统或文件进行未经授权的操作。在Xcode中,前往项目的“Build Settings”部分,将属性设置。ENABLE_USER_SCRIPT_SANDBOXING 默认值。在 Swift 或 Xcode 项目中,pod install成功后运行报错。

2025-04-19 12:20:28 451

原创 [Git]克隆仓库报错warning: remote HEAD refers to nonexistent ref, unable to checkout

从远程仓库clone项目,报错warning: remote HEAD refers to nonexistent ref, unable to checkout,只拉取到了隐藏.git文件夹。没有列出任何分支,说明远程仓库确实是空的,或者没有任何有效的分支。如果远程仓库有分支,你可以手动切换到一个有效的分支。注意,这里用git branch获取不到分支明显。这将会切换到你选择的分支并检出代码。切换分支后,重新拉取项目就可以了。如果远程仓库的默认分支是。

2025-03-02 12:20:58 383

原创 [Android]使用WorkManager循环执行任务

使用WorkManager每隔30分钟执行一次任务。这种方式最低适配到SDK=33。

2025-02-22 09:08:46 462

原创 [Android]浏览器下载的apk文件无法识别无法安装问题

在Android电话机上,用浏览器下载apk进行版本更新,出现下载文件没被识别为apk,导致无法安装问题。正常识别的apk文件前会有个Android默认图标,识别不了的时候前面是个文件标识。必须要使用有域名的链接来进行下载,像之前使用华为云的地址就导致下载后文件不识别。注意:使用华为云的链接在手机端是能正常下载安装的,估计是浏览器不一样的问题。

2025-02-21 14:31:17 546

原创 [Android]避免文本太长将右侧标签挤出展示区域之外

【代码】[Android]避免文本太长将右侧标签挤出展示区域之外。

2025-02-21 14:25:53 122

原创 Andorid Studio下载历史版本

https://developer.android.com/studio/archive

2025-02-21 12:00:48 260

原创 [Android]DialogLifeCycle禁止点击背景关闭弹窗

在 Kotlin 中,可以通过设置 Dialog 的 setCanceledOnTouchOutside 方法来避免点击弹窗之外的背景而关闭弹窗。您可以在 DialogLifeCycle 的 show 方法中设置这一属性。

2025-02-21 11:52:51 262

原创 [Android]如何在代码中访问LayoutParams修改layout_weight?

要在 `yearWheelView` 中修改 `layout_weight` 属性,您可以直接访问其布局参数(LayoutParams)并设置新的 `layout_weight` 值。代码如下,如何在代码中修改NumberWheelView的layout_weight?

2025-02-21 11:42:18 310

原创 [Android]App生命周期

// APP生命周期) {// 可选:在 Activity 创建时执行任务// 应用进入前台NSLog("应用进入前台, App has entered the foreground")// 发送广播通知// 可选:在 Activity 恢复时执行任务// 可选:在 Activity 暂停时执行任务// 应用进入后台NSLog("应用进入后台, App has entered the background")// 可选:在保存 Activity 状态时执行任务。

2025-02-21 11:35:21 359

原创 [Android]MD5

【代码】[Android]MD5。

2025-02-21 11:28:41 110

原创 [Android]页面间传递model列表

这样就可以通过 Parcelable 传递 NNBBUUModel 列表到另一个页面。

2025-02-21 11:23:03 310

原创 [Android]应用内更新问题

从 Android 11 开始,即使应用程序请求了 WRITE_EXTERNAL_STORAGE 权限,系统也会将其视为 READ_EXTERNAL_STORAGE 权限。因此,在 Android 11 及更高版本中,应用程序将无法直接写入外部存储,而必须通过其他方式来访问共享文件系统。因此,从 Android 11 开始,开发者需要使用更安全的 Scoped Storage 或其他适当的方式来处理文件访问,以兼容最新的 Android 版本。

2025-02-21 11:17:09 372

原创 [Android]AppCompatEditText限制最多只能输入两位小数

要限制 AppCompatEditText 只能输入两位小数,可以使用 TextWatcher 来实时监控用户输入,并在超出限制时进行处理。:在 XML 布局中定义 AppCompatEditText,如你所示。:在代码中为该 AppCompatEditText 添加 TextWatcher,以便在用户输入时进行验证和格式化。

2025-02-21 10:53:14 472

原创 [Android]使用AlarmManager设置周期性任务

设置周期性任务每隔一小时执行一次任务。

2025-02-21 10:41:31 428

原创 [Android]APP自启动

APP添加自启动权限,重启设备后自动打开APP。

2025-02-21 10:11:32 372

原创 [Android]如何让APP快速被系统杀掉

你可以使用 ADB (Android Debug Bridge)命令来杀掉你的应用进程。首先确保你的设备已经连接并且 adb 已经设置好。你也可以通过模拟内存不足的情况来强制系统杀掉你的应用。你也可以使用一些第三方的 Android 管理工具来强制停止应用,如 Task Killer 应用。你可以通过 Activity Manager 来杀掉你的应用进程。通过这些方法,你可以快速地杀掉你的应用,以便进行恢复和重启的测试。在你的应用代码中,可以通过故意抛出未捕获的异常来模拟应用崩溃。找到你的应用并点击进入。

2025-02-21 10:06:10 735

原创 [Android]让APP进入后台后不被杀掉(保活)

在 Android 系统中,应用在进入后台后,系统可能会因为各种原因(如内存不足、电池优化等)对其进行强制退出。虽然无法完全保证应用永远不会被系统强制退出,但可以采取一些措施来减少这种情况的发生。

2025-02-21 09:54:25 2122

原创 [Android]如何查看APK是使用的什么签名方案

小米上传APK时,有时会提示APK不是V2签名。啊噢,出错了!根据您上传APK包体所适配的安卓版本情况,需要对该应用添加安卓V2签名,请参考进行处理。

2025-02-21 09:41:30 674

原创 [Android]浮点数舍入规则RoundingMode

【代码】[Android]浮点数舍入规则RoundingMode。

2025-02-20 18:05:26 370

原创 [Android]列表弹窗单选

【代码】[Android]列表弹窗单选。

2025-02-20 18:02:06 148

原创 [Android]文本多的时候让TextView的字体自动变小

为了让 TextView 的字体在文本过多时自动变小,以显示全部文本,可以使用 Android 的 autoSizeTextType 属性。该属性允许 TextView 在空间不足时自动调整字体大小。

2025-02-20 17:50:40 502

原创 [Android]代码中如何设置AppCompatTextView的drawable

resources.getDimensionPixelSize(R.dimen.drawablePadding) 获取 drawablePadding 的像素值,确保与 XML 中的 android:drawablePadding="5dp" 保持一致。如果没有定义 R.dimen.drawablePadding,可以直接使用像素值代替,如 5。: 使用 ContextCompat.getDrawable 获取 drawable 资源,确保兼容性。

2025-02-20 17:44:12 328

原创 [Android]NestedScrollView嵌套RecyclerView视图点击事件冲突问题

【代码】[Android]NestedScrollView嵌套RecyclerView视图点击事件冲突问题。

2025-02-20 17:34:44 242

原创 [Android]如何判断当前APP是Debug还是Release环境?

一般情况下,Gradle会为每个构建类型生成一个BuildConfig类,其中包含一个DEBUG字段,该字段在Debug构建中为true,在Release构建中为false。在Kotlin中,可以通过检查应用的BuildConfig字段来判断当前应用是处于Debug还是Release环境。

2025-02-20 17:25:11 430

原创 [Android]将字符串中的1-9替换为a-j

【代码】[Android]将字符串中的1-9替换为a-j。

2025-02-20 17:14:10 99

原创 [Android]上架商店时用户隐私协议要求

① 开发者名称(注:后台上传隐私政策链接中公司名称需与开发者名称保持一致;隐私政策应明确标识发布、生效或更新日期(开头或者结尾的位置)2.首页点击会员、预约,提示功能暂未开放--不通过;1.获取位置权限要主动点击才能获取不能自动获取。1.首次进入应用提前获取位置权限--不通过;2.隐私政策开发者名称“重庆XX有限公司”"弹窗,在同意后再进行初始后。隐私正常直接抄这个内容。在启动页后先添加一个"

2025-02-20 17:03:50 316

原创 [Android]修改XML中定义的约束比例

报错信息指出,ConstraintLayout 中的所有子视图都必须有 ID 才能使用 ConstraintSet。这是因为 ConstraintSet 需要通过视图的 ID 来引用和修改约束。你需要确保所有直接或间接属于 ConstraintLayout 的子视图都有一个唯一的 ID。

2024-06-24 21:52:19 812

原创 [Android]点击返回时强制退出APP

【代码】[Android]点击返回时强制退出APP。

2024-06-24 21:12:28 531

原创 [kotlin]处理延时操作

在 Kotlin 中处理延迟操作可以通过多种方式实现,每种方式都适用于不同的场景和需求。

2024-05-27 16:20:05 2680

原创 [Android]下拉刷新和上拉加载更多

SwipeRefreshLayout 是一个支持下拉刷新功能的布局,它是 Android Support Library 或 AndroidX 库的一部分。BaseQuickAdapter 是一个来自开源库 BRVAH (Base RecyclerView Adapter Helper) 的功能丰富的适配器,用于简化 RecyclerView 的适配器实现。

2024-05-26 20:12:26 860

原创 [Android]在后台线程执行耗时操作,然后在主线程更新UI

Coroutines 提供了一种轻量级的线程管理方式,使得在后台线程执行任务和在主线程更新 UI 变得简单。以下是如何在 Kotlin 中使用 Coroutines 来处理耗时逻辑并更新 UI 的步骤:添加 Coroutines 依赖:首先,确保你的 Android 项目中包含了 Coroutines 的依赖。在你的 build.gradle 文件中添加:

2024-05-22 13:57:45 1728

原创 [Android]项目打包APK时报错PKCS12 keystore not in version 3 format

问题描述中提到的错误 PKCS12 keystore not in version 3 format 表明正在尝试使用一个非PKCS12格式的密钥库文件(在这种情况下是.pk8文件),而Android的签名工具期望一个PKCS12格式的密钥库文件。.pk8文件通常是一个私钥文件,而不是一个完整的密钥库文件,这也是为什么遇到了这个问题。

2024-05-21 13:57:44 883

原创 [Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件

如下,我们有一个platform.pk8和platform.x509.pem。为了打包,需要将私钥(.pk8)和公钥证书(可能是.pem或.crt文件)合并成一个PKCS#12格式的密钥库文件。

2024-05-21 13:54:03 2261

GASuspendViewDemo

一个添加在window上悬浮视图。 可固定,可拖动,还可以限制一个拖动范围。 可限定在只某些页面展示。

2023-03-26

安卓手机与Mac电脑文件互传AndroidFileTransfer

安卓手机与Mac电脑文件互传AndroidFileTransfer

2022-12-02

iOS使用MonkeyDev完成Hook

使用七猫举个例,去移除小说阅读页底部广告和章节之间的广告。

2022-11-24

charles-proxy-4.2.7长期版

charles-proxy-4.2.7长期版-V-

2022-11-20

GAEmptyDataDemo.zip

GAEmptyDataDemo

2021-10-22

GAGradientRampDemo.zip

swift绘制渐变色

2021-08-05

GAAppUpdate.zip

Swift app版本更新

2021-07-29

stdc++.6.0.9.zip

Xcode10:library not found for -lstdc++.6.0.9 临时解决

2021-04-03

GATextViewTestDemo.zip

Cell随着输入文字的换行自动增高 .

2020-10-26

GASimpleCalendar2.zip

弄的一个简单的日历,可以展开完全展示日历,也可以收回只展示已选择那一行。另外添加了选择器切换月份,还可以在列表中跨月选择切换日期。

2020-10-15

GAAVPlayerViewControllerDemo.zip

一个简单的AVPlayerViewController demo,通过控制showsPlaybackControls确定使用系统播放管理样式还是自定义播放器样式。

2020-01-22

GAVideoRecordDemo.zip

一个简单的添加视频的demo,包含从相册选择视频和直接录制视频,然后将mov转为mp4. .

2020-01-20

GACallSoundDemo.zip

音视频聊天时,设置自定义来电铃声,并会根据震动模式设置震动 。

2020-01-06

UIViewController+Present.zip

UIViewController+Present,这个分类是用来适配iOS13之后UIViewController模态弹出问题的. 使用这种方式就不用去项目中挨个找模态弹出了.

2019-11-01

UIButton+Badge.zip

UIButton+Badge,通过运行时的方式对UIButton拓展了标签展示功能 .

2019-11-01

NSString+FileSize.zip

NSString+FileSize,获取到沙盒文件或文件夹路径时,可以通过这个NSString的拓展调用fileSize方法得到文件或文件夹的大小。

2019-10-31

EmptyDataSet-demo.zip

UIScrollView+EmptyDataSet,是因为大佬是使用的UIScrollView的category扩展的功能,使用时调用非常清晰流畅.

2019-10-30

UIView+AZGradient.zip

@property CGPoint az_startPoint; @property CGPoint az_endPoint; + (UIView *_Nullable)az_gradientViewWithColors:(NSArray<UIColor *> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_setGradientBackgroundWithColors:(NSArray<UIColor *> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; @end

2019-10-28

UIView+BorderLine.zip

@interface UIView (BorderLine) /** 增加边框 @param borderWidth 边框宽度 @param borderColor 边框颜色 @param cornerRadius 边框圆角 */ - (void)addBorderLineWithBorderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor cornerRadius:(CGFloat)cornerRadius; /** 增加边框 @param borderWidth 边框宽度 @param borderColor 边框颜色 @param cornerRadius 边框圆角 @param borderType 边框类型 */ - (void)addBorderLineWithBorderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor cornerRadius:(CGFloat)cornerRadius borderType:(UIBorderSideType)borderType; @end

2019-10-26

UITextView+Placeholder.zip

@import UIKit; FOUNDATION_EXPORT double UITextView_PlaceholderVersionNumber; FOUNDATION_EXPORT const unsigned char UITextView_PlaceholderVersionString[]; @interface UITextView (Placeholder) /* 占位文字 */ @property (nonatomic, copy) NSString *placeholder; /* 占位文字颜色 */ @property (nonatomic, strong) UIColor *placeholderColor; @end

2019-10-26

GAIPADemo 2.zip

使用第三方XYIAPKit工具,写了一个简单内购demo, 测试了一下能完美适用于各种购买 。

2019-10-15

价格选择.zip

一个拖动滑块选择minPrice和maxPrice的简单demo [以上]

2019-07-29

GAEditDemo.zip

简单的一个demo,获取点击的点在屏幕上的坐标,获取某个view在屏幕上的位置。 UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; CGRect rect = [tempBut convertRect:tempBut.bounds toView:window];

2019-07-16

VoicePlayerDemo.zip

iOS开发的一个简单的音频录制和播放demo,支持对安卓录制格式(amr)的播放。

2019-07-15

GAEditTextDemo.zip

一个简单的使用ZSSRichTextEditor的一个用于iOS的漂亮的富文本编辑器。它包含了所有的标准编辑器工具

2019-07-11

GAHomeDemo.zip

就是一个简单结构的项目的搭建demo。 首页只是通过下面方法切换控制器: - (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion

2019-07-10

PhotoDemo图片选择器.zip

demo功能包含自定义图片选择器(GACustomSelectPIC)、保存图片到自定义相册、拍照完成可自由裁剪(PureCamera)

2019-05-28

简单KVO Demo

只是一个iOS开发简单使用KVO的demo,只是备份用不着下载。 ps:上传错了,后面删除。

2019-02-12

上传到阿里云OSS的图片处理

上传到阿里云OSS的图片处理,可查看官网文档:https://help.aliyun.com/document_detail/44688.html?spm=a2c4g.11186623.6.1179.4d1f53b3WU0oXy

2019-01-23

选择开始时间和结束时间

一个分段选择开始时间和结束时间的demo,会现在结束时间的选择在开始时间之后。

2019-01-21

WKWebViewDemo

这是一个WKWebView的简单使用demo,包含于H5的一些简单交互。

2019-01-20

自定义图片选择器

demo功能包含自定义图片选择器(GACustomSelectPIC)、保存图片到自定义相册、拍照完成可自由裁剪(PureCamera)

2018-10-31

自定义相机

拍照购demo(自定义相机+结果页动画),类似京东和淘宝APP上的图片搜索...

2018-10-25

自定义相机拍照购

拍照购demo(自定义相机+结果页动画),类似京东和淘宝APP上的图片搜索...

2018-10-23

从控制器中分离出View

方法: objc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key, id _Nullable value, objc_AssociationPolicy policy) 参数: object 关联者 key key与value是一一对应的关系,必须确保key全局唯一。 value 关联的对象 policy 关联策略: 方法: objc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key)

2018-10-10

MVVM模式简单demo

这是一个是MVVM模式实现的在tableview上分层选择省市区的demo

2018-09-29

12.0 (16A366)

iOS开发真机升级12.0系统后,解决xcode未升级之前无法连接手机调试的问题。 解压后放如目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2018-09-28

简单使用UIMenuController

简单使用UIMenuController给UILabel添加复制、粘贴、分享功能

2018-08-27

AutoLayoutDemo

一个简单demo,SDAutoLayout的简单使用....

2018-08-27

MasonryDemo

使用Masonry纯代码约束视图 mas_makeConstraints() mas_remakeConstraints() mas_updateConstraints() equalTo() mas_equalTo() width() mas_width()

2018-07-26

空空如也

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

TA关注的人

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