- 博客(114)
- 收藏
- 关注
原创 OpenLayers 使用高德地图并绘制一些线,并用Android原生触发
这是一份OpenLayers使用高德地图并绘制一些线代码,这高德来源好像不太正规建议自己去开发者平台逛逛。代码都有住宿我就不过多介绍了。
2024-08-14 19:25:34
367
原创 Android Camerax 旋转角度(setTargetRotation)无效?
Camerax 旋转角度(setTargetRotation)无效
2024-05-24 19:15:00
1032
原创 Unable to resolve module missing-asset-registry-path from XXX
Unable to resolve module missing-asset-registry-path from D:
2024-05-15 18:45:00
650
原创 git提交常用
2.大型文件添加到lfs管理 git lfs track "*.mp4"(后缀) "res/*"(文件夹)"xxxx"(文件) 具体表现在git本地仓库中构建了一个文件.gitattributes。5.连接在码云准备好的远程仓库 git remote add origin https://gitee.com/yangguizhong/weather.git。4.提交缓冲区文件到本地仓库 git commit -m "创建仓库"4.正常git add git commit git push就行。
2024-04-26 15:48:18
265
原创 Android com.facebook.react:react-native:+ 版本问题
当然以防万一你可以强制指定了要使用的版本是 0.xx.0,并且在编译过程中不会允许任何其他版本的 React Native 被使用。将 + 替换为项目指定版本。
2024-02-22 22:00:00
1113
原创 React Native Android设备连接到ADB后 yarn start操作后找不到设备
因为你没有连接到开发服务器所以npx react-native run-android能跑但是yarn start操作后 "r" "d" 提示,确保您的应用程序正在模拟器或通过USB连接的手机上运行。
2024-02-22 19:45:00
1439
2
原创 HarmonyOS Stage模型 权限申请
例:有 'ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION', 'ohos.permission.CAMERA'三个权限 已授权前两个调用结果如下。在module.json5配置文件中声明权限。不论是system_grant还是user_grant类型都需要声明权限,否则应用将无法获得授权。
2024-02-20 08:00:00
1749
原创 Kotlin协程 SharingStarted
在这种共享模式下,共享在第一个订阅者出现时开始,而在最后一个订阅者消失时立即停止。可以设置 stopTimeoutMillis 来指定停止的超时时间,以及 replayExpirationMillis 来指定回放缓存的过期时间。许您对流的共享行为进行更灵活的控制,以满足您的特定需求。在这种共享模式下,共享在第一个订阅者出现时开始,并且永不停止。作用:用于定义在 shareIn 和 stateIn 操作符中启动和停止共享协程的策略。在这种共享模式下,共享立即开始,并且永不停止。
2024-01-25 22:00:00
760
原创 Kotlin 协程库v1.7.1的核心模块(kotlinx-coroutines-core)-- kotlinx.coroutines.flow篇
协程库中的一个抽象类,用于创建具有状态的 Flow 实现。它跟踪了用于上下文保留的所有属性,并在任何属性被违反时抛出 IllegalStateException。// 处理收集到的每个值collectedCounter.incrementAndGet() // 增加收集计数values.forEach { // 发射所有的值。
2024-01-25 12:00:09
1638
原创 HarmonyOS Stage模型 UIAbility生命周期状态
WindowStageCreate回调,UIAbility实例创建完成之后,在进入Foreground之前,系统会创建一个WindowStage。每一个UIAbility实例都对应持有一个WindowStage实例。WindowStage为本地窗口管理器,用于管理窗口相关的内容,例如与界面相关的获焦/失焦、可见/不可见。可以在onWindowStageCreate回调中,设置UI页面加载、设置WindowStage的事件订阅。
2024-01-12 20:30:00
2741
原创 HarmonyOS自定义组件生命周期函数介绍
在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。在自定义组件析构销毁之前执行。页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效。页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景,仅@Entry装饰的自定义组件生效。当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效。
2024-01-11 22:00:00
593
原创 HarmonyOS 工程目录介绍
工程目录 AppScope:存放应用全局所需要的资源文件 base element:文件夹主要存放公共的字符串、布局文件等资源 media:存放全局公共的多媒体资源文件 app.json5:应用的全局的配置文件,用于存放应用公共的配置信息 { "app": { "bundleName": "com.xiaotie.testapplication",//包名 "vendor": "example",//应用程序供应商 "versionCode"
2024-01-11 21:45:00
733
原创 Kotlin:Set其实是有插入的顺序?
MutableSet的默认实现是LinkedHashSet,LinkedHashSet是有保留元素插入的顺序。MutableSet怎么能调用indexOf去获取它的插入顺序呢?翻不了墙的看下面 (
2024-01-05 10:56:23
645
原创 Kotlin 协程库v1.7.1的核心模块(kotlinx-coroutines-core)-- kotlinx.coroutines篇
扩展函数,它的作用是将指定的协程上下文(CoroutineContext)添加到当前协程作用域 (CoroutineScope) 中,并覆盖当前作用域上下文中的相应键。如果此范围内的任何子协程失败,则此范围失败,其余的所有子协程都会被取消。一种特殊类型的 Job,它用于创建协程的层级结构,其中子协程的失败不会影响其它子协程。介绍:为协程构建器的实现提供一个辅助函数,是为了防止异常丢失而设计的,是一种最后的手段。这是一个方便的方法,可以等待多个协程的完成,而不必在代码中使用 job.join() 多次。
2023-12-16 16:00:00
3447
2
原创 Android studio 无法查看源码
Android studio 查看源码时提示 Decompiled .class file,bytecode version:52.0(java 8)1、检查 buildToolsVersion。2、检查相关资源文件。
2023-12-12 21:00:00
1197
原创 根据InputStream判断是否JPEG/PNG/GIF
注意:如果报错 IOException: mark/reset not supported。
2023-12-08 16:43:25
478
原创 Android Gradle 构建脚本中使用了不安全的协议
这个警告表明在你的 Gradle 构建脚本中使用了不安全的协议(例如 HTTP)来访问 Maven 仓库。Gradle 强制使用安全协议(例如 HTTPS)来访问远程仓库,以提高安全性。要解决这个问题,你可以按照警告中提供的链接去查看文档,了解如何配置 Maven 仓库使用安全协议,或者允许使用不安全的协议。通常情况下,为了保障安全性,建议将仓库配置为使用 HTTPS。
2023-11-22 19:00:00
831
原创 Android 模块导入AAR时报错
Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR. Previous versions of t
2023-11-20 20:00:00
893
原创 【无标题】
writeCharacteristic(BluetoothGattCharacteristic characteristic)方法。BluetoothGattCharacteristic的。setValue(byte[] value)方法。
2023-11-18 11:14:38
499
原创 设计模式 -- 装饰器模式(Decorator Pattern)
装饰器模式:属于结构型模式,作为现有的类的一个包装,向一个现有的对象添加新的功能,同时又不改变其结构。介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活主要解决问题:在不想增加很多子类的情况下扩展类优点:装饰类和被装饰类可以独立发展,不会相互耦合缺点:多层装饰比较复杂。
2023-11-17 23:30:00
469
原创 设计模式 -- 适配器模式(Adapter Pattern)
适配器模式:属于结构型模式,结合了两个独立接口的功能,作为两个不兼容的接口之间的桥梁。介绍意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。、系统需要使用现有的类,而此类的接口不符合系统的需要。2、想要建立一个可以重复3、通过接口转换,将一个类插入另一个类系中。关键代码:1、优点:1、
2023-11-17 20:45:00
283
原创 设计模式 -- 工厂模式(Factory Pattern)
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。我们明确地计划不同条件下创建不同实例时使用,主要解决接口选择的问题。主要解决接口选择的问题。优点:1、一个调用者想创建一个对象,只要知道其名称就可以了。2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。3、屏蔽产品的具体实现,调用者只关心产品的接口。
2023-11-16 23:00:00
833
原创 设计模式 -- 建造者模式(Builder Pattern)
主要解决问题:一些基本部件不会变,而其组合经常变化的时候。需要生成的对象具有复杂的内部结构,需要生成的对象内部属性本身相互依赖。意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。建造者模式: 属于创建型模式 提供了一种创建对象的最佳方式,这个模式以前也义Android-kotlin的场景下讲过。使用多个简单的对象一步一步构建成一个复杂的对象。、如果内部变化复杂,会有很多的建造类。以建造一个三角形圆形矩形的图形为例。关键代码:实现与被代理类组合。、建造者独立,易扩展。
2023-11-16 21:00:00
355
原创 设计模式 -- 代理模式(Proxy Pattern)
代理模式:一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。关键代码:实现与被代理类组合。优点:1、职责清晰。2、高扩展性。3、智能化。缺点:12、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。
2023-11-14 22:00:00
890
原创 设计模式 -- 单例模式(Singleton Pattern)
保证一个类仅有一个实例,并提供一个访问它的全局访问点。一个全局使用的类频繁地创建与销毁构造函数私有化。优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。2、避免对资源的多重占用。缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。注意:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。
2023-11-14 16:17:31
303
原创 设计模式 -- 状态模式(State Pattern)
允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。关键代码:通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个方法。而且,状态模式的实现类的方法,一般返回值,或者是改变实例变量的值。也就是说,状态模式一般和对象的状态有关。实现类的方法有不同的功能,覆盖接口中的方法。状态模式和命令模式一样,也可以用于消除if...else等条件选择语句。优点:1、封装了转换规则。2。
2023-11-09 22:00:00
749
1
原创 设计模式 -- 命令模式(Command Pattern)
关键代码:抽象类里面聚合它自己(聚合和抽象类我在设计模式的六大原则-CSDN博客有介绍和示例),在里面判断是否满足条件,如果没达到条件则向下传递。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。主要解决问题:行为请求者与行为实现者的关系紧耦合,将"行为请求者"缺点:使用命令模式可能会导致某些系统有过多的具体命令类。命令模式:一种数据驱动的设计模式也属于行为型模式,你认为是命令的地方都可以使用命令模式。、降低了系统耦合度。
2023-11-09 20:30:00
831
1
原创 设计模式 -- 责任链模式(Chain of Responsibility Pattern)
系统性能将受到一定影响,而且在进行代码调试时不太方便,可能会造成循环调用。3、可能不容易观察运行时的特征,有碍于除错。、增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增。创建一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种模式中,通常每个接收者都包含对另一个接收者的引用。和上一篇策略模式一样也是行为型模式。使得对象不需要知道链的。还这个绘制三角形、圆形、矩形图案例子。、增加新的请求处理类很方便。创建不同类型的责任编排成链。
2023-11-08 22:00:00
518
1
原创 设计模式 -- 策略模式(Strategy Pattern)
这些设计模式特别关注对象之间的通信。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context。举个例子:绘制三角形、圆形、矩形图案(Android Kotlin 自定义View)的情况下,使用 if...else 所带来的复杂和难以维护。2、所有策略类都需要对外暴露(这有点违背。策略对象改变 context。,把它们封装成一个一个的策略类,策略模式:一种行为型模式,、避免使用多重条件判断。创建实现接口的实体类。、算法可以自由切换。步骤1:创建一个接口。
2023-11-07 22:00:00
529
原创 设计模式的六大原则
是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合。这个原则是开闭原则的基础,具体内容:针对对接口编程,依赖于抽象而不依赖于具体。
2023-11-06 22:00:00
1027
2
原创 Android onBackPressed()已被弃用
ComponentActivity.onBackPressed()现在已被弃用,取而代之的是用于回处理的API。或者用新的预测性后退回调。而不是重写此方法。
2023-11-05 13:00:00
1084
1
原创 关闭 Android SplashScreen(闪屏)
如果你想自定义SplashScreen 可以继承R.style.Theme_SplashScreen 或者 R.style.Theme_SplashScreen_IconBackground.参考。SplashScreen在Android 12上是强制的,如果你什么都不做,你的App在Android 12上就会自动拥有SplashScreen界面。其实也没什么他主要作用是为了在App启动初始化的时候避免让用户在一个空白界面等待过长时间,一定程度上提升用户体验。
2023-11-03 22:00:00
4590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人