- 博客(1427)
- 资源 (10)
- 收藏
- 关注

原创 开发新项目注意事项
4共性的东西一定要抽象出来,做好base Library----(写项目的注意事项也可做为面试题)2Review代码的重要性,代码不断升级的过程就是能力不断提高的过程。3设计的重要性,开发之前先做好足够的设计,边做边想那是新手的体现。6开发小组的重要性—找到志同道合的小伙伴,一起进步。5有问题做好笔记,不断总结提高。1注释的重要性,勤加注释。
2022-08-22 09:26:22
234

原创 Adapter中自定义回调接口
private onItemClick listener;viewHolder.llShopcaritem.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(listener!=null){ Log.e("wy", "76onClick: " ); .
2022-04-12 10:02:14
824

原创 java多线程问题(代码示例)
前言:实际开发中光听说多线程问题,多线程问题,到底啥是多线程问题?解释:多线程问题是指:多个线程(2个及以上)在长循环中同时操作同一个变量(可延伸为内存空间),会导致变量错乱问题(可能不是我们想要的结果)mThread.join();等待线程执行完毕final int[] num = new int[1]; Thread mThread = new Thread() { @Override public void run() {
2021-03-23 17:37:37
331
2
原创 ACTIVITY跟FRAGMENT的通信方式
接口回调原理:在 Fragment 中定义接口,Activity 实现该接口,Fragment 通过接口方法将数据传递给 Activity。实现接口:Activity 实现该接口,并实现接口中的方法。通过 Activity 实例直接访问原理:在 Fragment 中获取 Activity 的实例,然后直接调用 Activity 的公共方法或访问其公共属性。步骤:获取 Activity 实例:在 Fragment 中通过 getActivity() 方法获取关联的 Activity 实例。
2025-09-08 20:24:55
94
原创 安卓服务的两种启动方式有什么区别
启动与生命周期startService() :通过调用 startService(Intent) 启动服务,服务会进入后台独立运行,即使启动它的组件(如 Activity)被销毁,服务仍会继续运行,直到被 stopService() 或自身 stopSelf() 停止。bindService() :通过调用 bindService(Intent, ServiceConnection, int) 启动服务,服务与调用者(如 Activity)绑定,调用者销毁时,服务通常也会随之销毁。
2025-09-08 20:16:57
122
原创 有个需求:切换车队身份实现Fragment的Tab隐藏显示(车队不显示奖赏)
2借助eventbus实现通知Fragment的tab更新。1使用mmkv保存切换的身份。
2025-08-30 17:45:22
182
原创 (打包失败)A problem was found with the configuration of‘:flutter:copyFlutterAssetsRelease‘(type ‘Copy‘)
在项目级别里添加
2025-08-28 09:34:22
167
原创 pack has bad object at offset 1704226926: inflate returned 1fetch-pack: invalid index-pack output
git clone大文件下载出错。
2025-08-25 14:34:04
118
原创 组装参数(外面再包一层param)
改造核心:把param后面当做一个json串处理,借助tojson方法进行转化GsonUtils.toJson(jsonMap)
2025-08-18 09:00:24
251
原创 clp切换新项目注意事项
2把flutter项目下载下来git clone flutter代码地址;安卓studio打开切换到巴西的分支,执行fvm flutter pub get。4android studio打开安卓原生项目,一定要切换到对应的分支;setting.gradle要改掉,改成跟本地一致的。3sidekick 把flutter项目添加上,猜测:好进行fvm管理。
2025-08-14 11:50:14
195
原创 适配安卓15(对应的sdk是35)
工程级别的,gradle.property。switch case搞成if else。room版本号有2.4.3换成2.5.0。
2025-08-13 17:52:28
345
原创 gradle编译过慢怎么办(Task :sqflite:generateDebugRFile 耗时太久咋办)
把gradle改成离线模式(找到gradle模块,点击小云朵),会改善很多,就会优先使用本地已有资源。之前联网40多分钟,现在离线后5分钟。
2025-08-02 17:59:25
240
原创 kotlin扩展函数消灭工具类,丰富的语法糖用编程更简洁!
Kotlin 标准函数就已经为我们提供了相关扩展函数,帮助我们消灭 TextUtils。现在:kotlin里面可以直接调用判空方法。比如之前借助工具类判空。
2025-08-01 16:17:16
111
原创 kotlin类型可为空,进行空安全的区别
T 代表不可为空类型,编译器会检查,保证不会被 null 赋值。使用 instance?.fun() 进行空安全调用。定义一个可为空的变量b(),相当于进行了判空操作。
2025-07-30 15:27:11
308
原创 Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings
核心就是禁用掉uploadCrashlyticsMappingFileRelease这个任务。FirebaseCrashlytics 提示mapping上传超时。
2025-07-23 17:33:43
164
1
原创 突然网页打不开,钉钉登不了,但是微信能登陆
Chrome 菜单 >“设置”>“显示高级设置…”>“更改代理服务器设置…”>“LAN 设置”,最后排查跟梯子软件有关系;打开这个软件能登录了;可能昨天电脑关机这个软件没正常退出就强制关机了。
2025-07-22 09:08:35
505
原创 kotlin作用域函数let, also, with, apply,run区别(kt面试必问)
在 Kotlin 中, let , also , with , apply 是四个常用的作用域函数,它们都用于在特定上下文中执行代码块,但各有特点和用途。
2025-07-21 19:39:03
289
原创 在安卓开发中,多次点击启动 Service 会有什么问题?
为了避免这些问题,可以在代码中进行适当的处理,例如在启动 Service 之前检查 Service 是否已经在运行,或者使用 bindService() 方法来绑定 Service ,以确保 Service 只被启动一次。2解决:在启动 Service 之前检查 Service 是否已经在运行,或者使用 bindService() 方法来绑定 Service ,以确保 Service 只被启动一次。生命周期管理问题:多次启动 Service 会影响其生命周期管理。
2025-07-21 19:33:19
283
原创 tools的作用:预览
tools:text是Android布局文件中用于预览显示的临时属性,主要用于在开发阶段为视图组件(如TextView、EditText等)设置预览文本,而不会影响实际运行时显示效果。预览显示:在Android Studio布局预览时,tools:text会覆盖原有文本属性(如android:text),方便开发者直观查看布局效果。临时替代:当开发者需要动态设置文本时,可先用tools:text预设默认值,运行时再通过代码修改为实际内容。
2025-07-16 17:06:46
178
原创 使用远程的某个分支开发
背景:有一个新需求,需要创建一个新分支,但是同事在远程抢先创建了master_clp_会员管理分支,怎么用他已创建的新分支呢。执行 git fetch origin 远程分支名:本地分支名 命令,将远程分支拉取到本地。3 切换到本地分支master_clp_会员管理,可以愉快的开发了。肯呢个有很多,看不到就回车继续找,确认远程已创建新分支。4确认一下 git branch。本地输入查看远程所有分支命令。
2025-07-16 10:18:04
142
1
原创 gravity layout_gravity区别
layout_gravity 控制控件在父布局中的位置,如textview在LinearLayout中的位置(layout指父布局的意思)gravity 控制控件本身,如textview本身字体的显示。
2025-07-14 16:54:09
423
原创 LinkedHashMap 跟 TreeMap的区别
你使用的是 TreeMap,它会根据键的自然顺序进行排序,而不是插入顺序。因此,尽管 showAllLabelDistrict 是最先加入 disMap 的,但由于后续插入的键值会按照字母顺序排列,它不会保留在第一位。如果你希望保留插入顺序,请使用 LinkedHashMap 代替 TreeMap。总结:TreeMap按自然字母排序;LinkedHashMap 按插入顺序排序。
2025-07-09 11:47:20
133
ReclyclerView去掉最后一个条目分割线
2017-07-17
终于找到一个快速嵌入项目、简单、好用的TabLayout+ViewPager的Demo了(付费与免费的差距,你懂得)
2017-06-27
universal-image-loader-1.9.5.jar
2016-08-18
CoordinatorLayout与AppBarLayout
2017-06-28
mvi是解决什么问题的
2022-09-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人