- 博客(307)
- 资源 (31)
- 问答 (2)
- 收藏
- 关注
原创 Flutter 项目实战 自定义选择器 十四
???? Flutter App 实现 底部对话框选择性别 ???????? 底部对话框选择省市区????
2022-02-08 17:53:08 4040
原创 Flutter 项目实战 解决疑难症学会调试 十三
/ 如何看待互联网裁员 // 虽然我技术也很菜//但是/// 我从来没有间断学习//// 我还购买了网络课程///// 恭喜自己最近在学习中快马加鞭获得了火云邪神的称号 // 在谈谈互联网裁员带来的焦虑和恐慌//其实我觉得这是大多数人在环境变化时的反应/// 为什么会有恐慌呢 ? 焦虑呢 ?//// 又一个原因可以对这种恐慌、焦虑进行一个解释/ 那就是自身的能力不足 、每天底气// 难道像我这样的这么菜也有底气吗?/// 因为我是明白人//...
2022-01-30 21:34:57 3340 4
原创 Flutter 项目实战(Dio+MVP+FutureBuilder )五
/ 没有感情万千 、只有默默无闻 /2022年跨年了,又涨了一岁。随着时光的流逝,工作多年的我还是在坚持些代码。互联网都有所谓的大龄危机,我对此毫无畏惧。不要因为社会存在一些大龄危机的恐慌,产生了很多心理上的负担 ,我虽然不再年少轻狂,但激情依旧。你需要懂的法则就是 : 适者生存,优胜劣汰 。你朝思暮想的结果就是 : 冰冻三尺,非一日之寒 。你想太多的结果就是 : 还是在原点 , 人老了 , 留...
2022-01-01 20:33:19 5122 4
原创 Flutter 项目实战 Dio网络请求 四
/ HTTP | HTTPS /HTTP是一个客户端(用户)和 服务端(网站)之间请求和应答的标准,通常使用TCP协议。客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。客户端 (用户代理程序) 向应答服务器 (源服务器) 发起请求 , 从服务器获取需要的资源 (包括 : 文件、图像 、文本、视频 等等) 。客户端和服务端之间 可能存在多个中间层 (例如 : 代理服务器、网关)。HTTP可以在任何互联网协议或其他网络上实现 ,使用TCP...
2021-12-31 16:43:45 5303 5
原创 Flutter 项目实战 架构模式四
从古到今,无论是修建高大的建筑还是几层或者几十层的房屋都需要进行一个架构,正所谓万盏高楼平地起,一切靠架构。团队的管理从基层员工到高层都需要一个体系架构图,这样方便公司更好的运作。
2021-12-19 20:46:55 5626 9
原创 Flutter 项目实战 应用图标启动页三
Android启动图标和启动页mipmap 文件夹用途AndroidManifest.xml 配置 应用图标<application android:icon="@mipmap/ic_launcher" android:label="demo"></application>
2021-12-18 18:43:02 3576 6
原创 Flutter SystemChrome
SystemChrome可以为应用设置一个特定的方向去显示,当应用打开时屏幕水平或竖直显示.水平和竖直显示分别有两个方向,要么正向朝下,要么反向朝上. 手机横向和纵向: 手机竖直放置成为纵向,水平称为横向.在以前开发的日子里,我经常把纵向和横向搞反,有时想想觉得自己也好笑.DeviceOrientationportraitUp 纵向(竖直)朝上如果设备的启动画面显示纵向(竖直),需要设置启动画面属性为portraitUp. 否则设备会在使用的过程中将会顺时针方...
2021-11-27 20:48:36 6432 5
原创 Flutter 常用布局之Container
生活中离不开杯子、碗、盆等容器喝水需要杯子,装饭装肉用的碗,洗脸洗脚用的盆.杯子、碗、洗脸盆都有自己的颜色、宽度、高度;这一切属性根据我们的需求到商店进行了购买.在Flutter开发中接触到的Container(容器),它也有相关的属性供我们使用.Container可以根据属性的设置来展现不同的布局大小和样式,还可以容纳其他Widget.Container只所以可以是容器,因为它可以容纳其它的widget.常用属性 width、height、color、alignment、..
2020-09-23 18:52:36 86082 14
原创 Flutter 实现自动滚动banner
夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远。——诸葛亮安卓个大市场和苹果商店里面的应用,很多功能效果都有相似之处.应用没有创新可言了,都是在借鉴.例如:欢迎页倒计时、广告、首页顶部导航或者顶部导航、首页滚动banner等等.貌似这些功能的出现已经是理所当然了.最近产品经理需要我们实现一个顶部自动滚动的banner,每张banner内容都是圆角.如果用原生来做还是比较容易...
2020-04-24 18:09:42 12437 41
原创 Flutter 插件url_launcher
学无止境。——荀子最近项目需求就是打开一个连接跳转到安卓或苹果默认的浏览器。虽然开始一个简单的要求,其中的一个细节就是执行打开网页这一操作后,不能看上去像在应用内部打开,看上去要在应用外部打开。pub.dev提供了加载网页的插件url_launcher;所谓的插件也是用安卓和苹果原生代码实现的,对插件的代码进行解压可以看到。加载网页的方式:_launchURL() async ...
2020-04-12 17:17:07 24618 40
原创 Kotlin 面试题
注意,协程的取消并不一定会立即停止协程的执行,它只是向协程发送了一个取消的信号,协程可能会在任何时候检查这个信号,并据此决定是否停止执行。的实例在应用程序的生命周期中是单例的或者有一个全局唯一的实例。如果不是这样,你可能需要使用其他的同步机制,例如使用synchronized。这样的Java同步原语。是一个关键字,用于确保在同一时刻只有一个线程可以进入被同步的代码块。类的一个方法,它用于通过一个特定的标签来查找一个已经被添加到。,后续的调用将会等待,直到当前的对话框显示和同步块完成。
2024-04-14 19:11:12 304
原创 Kotlin 面试题
在实际应用中,如果你的协程需要和特定的组件(如Activity或Fragment)的生命周期绑定,那么使用。的整个生命周期内运行,并在生命周期结束时取消协程。创建了一个新的协程范围,并且阻塞了主线程直到协程完成。是一个在ImageView类中定义的方法,用于设置图片资源。是一个协程构造器,它会创建一个新的协程并且立即返回一个Job。如果你想要在主线程中等待一个协程完成,并且你想要使用。,它可以返回一个新的值,在这个例子中,返回的是字符串。对象的一个方法,它会阻塞当前线程直到协程执行完毕。
2024-04-14 16:56:11 724
原创 Kotlin 面试题
当用户点击按钮时,会启动一个新的协程来获取数据,并在1秒后更新TextView的文本。依赖注入是一种设计模式,它允许你将对象(依赖项)的实例传递给需要它们的代码,而不是让代码自己创建或查找这些实例。方法的实现委托给另一个对象。在依赖注入的上下文中,这通常意味着你委托给某个能够为你提供依赖项的对象。库的两个关键函数,它们被广泛用于Android开发中,以简化协程的使用。方法,你需要确保你已经在你的项目中包含了正确版本的 LiveData。的特殊语法糖,它是一个顶层函数,可以在任何表达式中作为闭包使用。
2024-04-14 09:56:35 630
原创 Kotlin by关键字
但是我们要是理解了其真实的实现原理就比较好理解了,下面我们就来分析一下上面这个类委托的示例。我们在类NewList中定义了几个简单的方法,我们并没有让NewList自己去实现这些方法的逻辑。函数中的函数类型的参数拥有一个返回值,该返回值的类型决定了我们被委托属性的类型,我们可以在。不能满足我们的现有的需求时我们完全可以使用委托来实现,我们可以在。表达式中设置任意的类型作为被委托属性的值,我们就可以推断出。函数需要返回一个委托类的对象,委托类中的对象重载的。关键字后面的表达式是该委托,属性对应的。
2024-03-27 11:33:17 420
原创 Flutter 弹窗系列EasyLoading
包含23种loading动画效果、进度条展示、Toast展示。纯Flutter端实现,兼容性好,支持iOSAndroid。将以下代码添加到您项目中的flutter_easyloading: any // 请使用最新版');@override),@override@override),},'\n显示Overlay\n',),),));/// loading的样式, 默认[EasyLoadingStyle.dark].
2024-03-26 16:17:53 1061
原创 flutter 弹窗之系列三
override// 自定义Toast}) {// 创建一个OverlayEntry对象// 外层使用Position进行定位,控制在Overlay中的位置),),),),),});// 往Overlay中插入OverlayEntry// 两秒后,移除Toast@override),_showOverlay(message: "消息");},'\n显示Overlay\n',),),),
2024-03-26 15:24:10 1048
原创 flutter 弹窗之系列二
child:),});//延时关闭child: Text("等待"),),),},},//不设置会默认使用屏幕最大宽度而不是子组件宽度。
2024-03-26 10:21:29 462
原创 flutter 弹窗之系列一
override},// 一些耗时操作},// await 其他耗时操作@override),},'\n点击显示弹窗一\n',),),},'\n点击显示弹窗二\n',),),],)),/// 点击背景是否关闭弹窗/// 页面状态,用来做动画判断/// 动画时长/// 初始化dialog的内容/// [isClose]用来标识动画的状态/// [milliseconds]用来标识动画时长builder) {// 背景。
2024-03-26 09:28:14 2865
原创 IOS面试题编程机制 71-75
71. 简述有哪几种手势通知方法? -(void)touchesBegan:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesMoved:(NSSet*)touched withEvent:(UIEvent*)event; -(void)touchesEnded:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesCanceled:(NSSet*)touchedwi
2024-03-26 03:57:18 657
原创 IOS面试题编程机制 66-70
66. Framework与Library的区别?动态库与静态库的区别? library与Framework的区别: 在iOS中,Library 仅能包含编译后的代码,即 .a 文件。 但一般来说,一个完整的模块不仅有代码,还可能包含.h 头文修的、.nib 视图文件、图片资源文件、说明文档。(像 UMeng 提供的那些库,集成时,要把一堆的文件拖到Xcode中,配置起来真不是省心的事。 Framework 作为 Cocoa/Cocoa Touch 中使用的一种资源打包方式,可以上述文
2024-03-26 03:52:54 308
原创 安卓Java面试题 226- 230
226. 简述ContentProvider的权限管理 ? Content Provider的权限的管理很复杂,所以需要慢慢的说。 一个Provider里面可能有私有数据,也有公有数据。也就是说,有可能有些数据可以公开,有些不能公开。并且,有些 数据可以让别人修改,有些不能让别人修改。 围绕上诉的可能情况,Provider就需要设置读权限(android:readPermission),和写权限 (android:writePermission),或者干脆都设置(android:
2024-03-25 01:23:49 522
原创 IOS面试题编程机制 56-60
56. IOS自动释放池是什么,如何工作? 自动释放池是cocoa提供的帮助我们管理对象内存的一个工具。当我们像一个对象发送autorelease消息时,这个对象就自动加入到最新的自动释放池中,当自动释放池被销毁的时候,会自动向自动释放池中的所有对象发送一条release消息。也就是说我们不再需要手动向每一个对象发送release消息以释放对象,而是将其加入到自动释放池中最后统一释放。使用自动释放池也可以避免一些人为原因导致的内存泄漏。 57. iPhone OS主要提供了几种播放音频的方法?
2024-03-24 21:35:37 633
原创 IOS面试题编程机制 51-55
51. 在iPhone应用中如何保存数据? 有以下几种保存机制: 1).通过web服务,保存在服务器上 2).通过NSCoder固化机制,将对象保存在文件中 3).通过SQlite或CoreData保存在文件数据库中 52. 阐述Block 的理解?并写出一个使用Block执行UIVew动画? Block是可以获取其他函数局部变量的匿名函数,其不但方便开发,并且可以大幅提高应用的执行效率(多核心CPU可直接处理Block指令) [UIView?transitionWith
2024-03-24 21:29:04 320
原创 IOS面试题编程机制 46-50
46. 阐述 Method Swizzle(黑魔法),什么情况下会使用? 1). 在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法 Method Swizzle。 2). Method Swizzle 指的是改变一个已存在的选择器对应的实现的过程。OC中方法的调用能够在运行时通过改变,通过改变类的调度表中选择器到最终函数间的映射关系。 3). 在OC中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据是sel
2024-03-24 02:50:09 493
原创 IOS面试题编程机制 41-45
在objc动态编译时,会被转意为:objc_msgSend(stu, @selector(show));// OC是动态语言,每个方法在运行时会被动态转为消息发送,即:objc_msgSend(receiver, selector)。3). 实际上我们编写的所有OC代码,最终都是转成了runtime库的东西。4). 因此,可以说 Runtime 是OC的底层实现,是OC的幕后执行者。Runtime库里面包含了跟类、成员变量、方法相关的API。方法转成了 Runtime 库里面的C语言函数,
2024-03-24 02:47:07 394
原创 IOS面试题编程机制 31-35
31. KVC和KVO的keyPath一定是属性么? KVC 支持实例变量, KVO 只能手动支持 实例变量。即KVO需要自己在set方法里实现willChangeValueForKey didChangeValueForKey 还要自己实现 automaticallyNotifiesObserversForKey 手动进行监听。 ----------------------------------- // // Student.h // #import @in
2024-03-24 02:40:44 361
原创 IOS面试题编程机制 26-30
26. 简述IOS是如何实现autoreleasepool? autoreleasepool 自动释放池,在池子里的对象如果没有被强引用都会自动释放掉,自动释放池的主要底层数据结构是:__AtAutoreleasePool、AutoreleasePoolPage,调用了autorelease的对象最终都是通过 AutoreleasePoolPage 对象来管理的。 27. GCD的队列(dispatch_queue_t)分哪两种类型? 串行队列和并行队列 串行队列:队列中的任务只会顺序执行
2024-03-24 02:37:30 374
原创 IOS面试题编程机制 21-25
21. IOS使用Runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么? 在ARC下不需要 在MRC中,对于使用retain或copy策略的需 22. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量? 因为编译后的类已经注册在 runtime 中,类结构体中的 objc_ivar_list 实例变量的链表 和 instance_size 实例变量的内存大小已经确定,同时runtime 会调用 class_setIvarLayout
2024-03-24 02:34:11 660
原创 安卓Java面试题 221- 225
人员混杂的项目,没有一个BaseActivity,无法获取到当前的Activity,实现就比较困难,通过网上学习,找到了一种获。出全局的dialog,往往通过广播的方式,交由App中当前显示的Activity来实现,但是项目过大,尤其对于代码量庞大,同样的需求,可以通过弹出一个全局的Activity来实现,虽然同样需要弹出对话框,我们可以在Activity里将布局绘制为。重点来了,上面的代码可能适合快速开发,实现功能测试,但是保存当前的Activity实例,会严重影响程序性能,并且导。
2024-03-24 01:38:16 284
原创 安卓Java面试题 216- 220
216. 简述如何给Activity设置进入和退出的动画 ? 其实设置Activity动画的根本也就是设置View的动画,因为Activity有一个根的View叫DecorView。下面介绍两种设置 Activity的动画 1.修改Activity Theme 然后在themes.xml中 在AndroidMainfest.xml中为Activity指定theme 在styles.xml中输入以下代码 2.使用代码设定 通过调用overridePendingTrans
2024-03-24 01:34:05 786
原创 安卓Java面试题 211- 215
214. 简述在隐式启动中Intent可以设置多个action,多个category吗 & 顺便讲讲它们的匹配规则?
2024-03-24 01:30:34 268
原创 安卓Java面试题 206- 210
206. 简述如何统计Activity的工作时间 ? 如何统计Activity启动所用的时间? 可以通过分析Log得到(这个就是DDMS的那个Log)。 当我们点击触摸时会了类似以下的Log A: 03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn (0=>1) 03-06 03:36:47.865: INFO/PowerManagerService(2486): Ulight 3->7|0
2024-03-24 01:25:04 238
原创 安卓Java面试题 201- 205
3.在里面添加:android:process="xxx.xxx.xxx",这里所有的application都要填写的一样,内容就是process的名字,一般来说Android中process的名字就是manifest中的package的取值。2.在里面添加:android:sharedUserLabel="@string/shared_user_label",这个label必须是一个string资源,不能是raw string。4.所有的application用同样的一个key来sign。
2024-03-23 18:17:05 333
原创 安卓Java面试题 196- 200
196. 简述Android Window的更新过程 ? 说到Window的更新过程,个人认为其实也就是Window里面View的更新过程了,和创建/删除过程一样,最后照样也是到了WindowManagerGlobal里 面执行具体的操作了,具体来讲的话就是执行updateViewLayout方法了, 这个方法里面做了以下几件事: (1):首先获取到最新的View的 LayoutParams属性,然后将其设置到我们当前需要更新的View上面; (2):接着通过数组遍历的方式找到当前Vi
2024-03-23 18:07:52 242
原创 安卓Java面试题 191- 195
我们都知道平常在使用 Activity的过程中,只需要调用Activity的startActivity方法,传入适当的参数就可以启动一个我们想要启动的Activity 了,但是你知道这个过程中经历了些什么吗?(4):最后调用ViewRootImpl 的addView方法,这个方法里面真正的进行View添加操作是通过创建ViewRootImpl的时候创建的Session对象完成的,而在 Session中添加操作实际上是通过WindowManagerService完成的,后期的添加操作是有涉及到IPC通信的;
2024-03-22 23:08:45 243
dataBinding使用
2023-07-28
JetPack下的MVVM
2023-07-27
Android 项目架构 传统MVVM
2023-07-27
Android 项目架构 MVP架构
2023-07-27
Android 项目架构 MVC
2023-07-24
Python Flask构建微信小程序订餐系统 微信小程序工程文件
2023-01-24
Flask构建微信小程序订餐系统 模版文件(templates)、静态资源文件(static)
2022-12-16
flutter + SpringBoot + MySql 实现高德地图定位获取位置信息插入数据库并计算出经纬度之间的距离
2022-08-30
SpringBoot+MySql 实现简单注册
2022-08-14
作为Flutter开发者,你们都是怎么优化的
2020-09-08
关闭Activityandroid.os.Parcel.readException
2014-06-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人