首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android MVI框架搭建与使用

本文完成的效果图: 正文   每当一个新的框架出来,都会解决掉上一个框架所存在的问题,但同时也会产生新的问题,瑕不掩瑜,可以在实际开发,解决掉产生的问题,就能够更好的使用框架,那么MVI解决了MVVM...→ Kotlin data class File from JSON,如图所示: 在出现的弹窗复制通过网页请求得到的JSON数据字符串,如图所示:   这里如果觉得看起来不舒服,点击 Format...这里对_state首先赋值为Loading,表示加载,然后进行一个网络请求,结果就是成功或者失败,如果成功,则赋值Wallpapers,View收集到这个状态就可以进行页面数据的渲染了,请求失败,...initView()函数是控件的一些配置,比如给RecyclerView添加布局管理器和设置适配器,给按钮添加点击事件,在点击的时候发送意图,发送的意图被MainViewModelmainIntentChannel...observeViewModel()函数是对状态的收集,在状态为Loading,隐藏按钮,显示加载条,然后网络请求会有结果,如果是成功,则在UI上隐藏按钮和加载条,显示列表控件,并添加数据到适配器

3.1K40

一线大厂Android面试题

最y: 1、对着项目一通问,包括项目结构、自己参与的部分等等 2、OKhttp原理,链式调用、链接复用等 3、对exoplayer、ijkplayer的了解,如果在视频未播放时就调用暂停,会有什么问题?...4、Glide、okhhtp、retrofit等三方库的原理,简单阐述 5、视频播放器封装、弹幕的实现,自己项目的结构和路由框架、新闻列表的实现、mpv的实现等 6、android内存泄露有哪些?...13、一个网格页面、显示9张图片,弱网情况下,滑到下一页,怎么去调度线程加载下一页面的图片?...函数式和面向对象比较 17、商城里有图片、文档、视频,字段有(id,name,type,pic,author,price),选择购买在我的订单页可以查看,可选择下载至手机本地,给出客户端实现方案、写关键代码...,给出数据库实现,写关键sql语句 18、文件每行有一个手机号对应用户信息,给定手机号查找出对应信息,如果手机号排序了,怎么查?

87220

Android开发4年,面试居然只值10K,4年Crud终于悔恨顿悟!

Kotlin 拓展函数怎么实现的?基于什么原理。 Kotlin 属性委托怎么实现的?基于什么原理。 简述 SharePreferences 以及过程遇到的问题。...Kotlin 协程有用过吗?用在什么场景? 协程是个什么东西? 有了解过协程如何切换线程原理吗? Retrofit 和 OkHttp 是什么关系?...Retrofit 是如何通过注解来方便我们 api 调用?基于什么原理。 JetPack 用过哪儿些? ViewModel 用来做什么的? ViewModel 如何实现生命周期绑定?...假设后端接口列表返回了超大图片,你是如何处理优化并正常显示列表的? 使用过 Jetpack 的哪儿些东西,你对它评价怎么说? Jetpack Compose 了解过么?简单谈下个人理解。...或者点击 【这里】 查看获取方式。

47400

Android 9 Pie 现已面向全球正式发布!

△ 在 MessagingStyle 通知,您可以显示对话和智能回复 (左) 或添加图片和表情 (右) 文本放大镜 Android 9 添加文字放大镜工具 (Magnifier widget),以提升文本选择方面的用户体验...HEIF 是目前比较流行的一种的压缩格式,它改善了图片的压缩效果,并减少了图片的储存空间以及网络流量。引入平台支持,开发者能更加方便地从后台服务器传输并使用 HEIF 图像。...一旦确定您的应用与该数据格式兼容,可用于分享或者显示,不妨尝试将 HEIF 设定为应用内图片的储存格式。...我们在 Kotlin 性能方面进行了长期资源投入,同时持续加大对 Kotlin 的支持,优化 Kotlin 代码性能。...点击收看视频或者前往 Google I/O Android 播放列表,了解 Android 9 为开发者准备的精彩新亮点。

9.1K10

kotlin--综合运用Hilt、Paging3、Flow、Room、Retrofit、Coil等实现MVVM架构

前面我们使用Java来运用JetPack的一系列组件,又使用kotlin运用这些组件实现了一系列功能: kotlin--Flow文件下载 kotlin--Flow结合Room运用 kotlin--Flow...结合retrofit运用 kotlin--StateFlow运用 kotlin--SharedFlow运用 接着,Jetpack的Paging3,我们使用的语言是kotlin,相信通过这些项目的对比,...Jason老师的辛勤付出,动脑学院在B站上也有投稿koltin基础的视频,通过视频可以快速学习和上手kotlin 今天来综合使用各种组件,搭建最新MVVM项目框架,利用Paging3实现列表功能,Paging3...就可以将2.我们的MovieEntity转换为MovieItemModel了 class MovieRepositoryImpl( private val api: MovieService,...progress.isVisible = data is LoadState.Loading // 加载失败,显示点击重试按钮

3.3K30

Kotlin入门(32)网络接口访问

Retrofit等等,可谓是百花齐放、百家争鸣。...智能手机普遍提供了定位功能,可是系统自带的定位服务只能获得用户所在的经纬度信息,而这枯燥的经纬度数字令人不知所云,肯定要把经纬度转换为详细的地址信息才方便用户理解。...介绍完了网络图片的存取流程,最终的Kotlin编码一既往地简单明了,下面展示了一个验证码动态显示的页面代码: class HttpImageActivity : AppCompatActivity()...,回到主线程把验证码显示在界面上             uiThread { finishGet(bitmap) }         }     }     //在主线程显示获得到的验证码图片    ...而且,短小精悍的Kotlin代码并未造成任何功能缺失,以上面的图片验证码页面为例,使用Java编码和使用Kotlin编码,最终的显示效果都如下图所示。 ? 点此查看Kotlin入门教程的完整目录

1.7K30

2018 年初值得关注的 25 个新 Android 库和项目

这个库提供: - alpha 触摸动画 - 设置间隙角 - 动画期间自己适配文本域的位置 - 对每一个段设置描述并显示它 - 点击回调 - 点击特效 - 在饼图和环形图之间切换 - 绘制图表时的动画 它有很好的文档...下面的 gif 图片可以显示其直观的效果。 该项目包含了一个示例应用。文档对于入手来说足够丰富,而它是以 MIT 许可发行的。 8....12. kotlin-math https://github.com/romainguy/kotlin-math 这是使得图形数学算法写起来更轻松的 Kotlin API 的集合。...23. retrofit2-kotlin-coroutines-adapter https://github.com/JakeWharton/retrofit2-kotlin-coroutines-adapter...这是用于 Kotlin 协程的 Deferred 的实验性 Retrofit 2 CallAdapter.Factor。

912100

面试|2021金三银四铜五安卓菜鸟被锤历程出炉,所有碰壁的心酸都是技术不牢固带来的

个人简介 5 年工作经验,将近三年技术栈野蛮生长(Flutter、微信小程序、PHP、H5、后台 Api、PS 等...) 96 非本非专,高中学历。...Kotlin 拓展函数怎么实现的?基于什么原理。 Kotlin 属性委托怎么实现的?基于什么原理。 简述 SharePreferences 以及过程遇到的问题。...Kotlin 协程有用过吗?用在什么场景? 协程是个什么东西? 有了解过协程如何切换线程原理吗? Retrofit 和 OkHttp 是什么关系?...Retrofit 是如何通过注解来方便我们 api 调用?基于什么原理。 JetPack 用过哪儿些? ViewModel 用来做什么的? ViewModel 如何实现生命周期绑定?...页面如何预防用户连续点击?如何在项目所有点击事件中使用呢? AOP 知道实现原理吗?适用于哪儿些场景。 动态代理的使用场景有哪儿些? AOP 主要解决哪儿些场景问题? 如何实现一个自定义进度条?

62900

当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试

是怎么实现的 7.泛型是怎么解析的,比如在retrofit的泛型是怎么解析的 8.mvp与mvvm的区别,mvvm怎么更新UI,databinding用得多吗,databinding的原理?...9.kotlin ?的原理 10.在项目中有直接使用tcp,socket来发送消息吗 11.如何在网络框架里直接避免内存泄漏,不需要在presenter释放订阅 12.生命周期都是通过什么调用的?...2.视频播放,一个player怎么实现预加载,避免loading 2.webView加载本地图片,如何从安全方面考虑 3.http1.0,http1.1,http1.2有什么区别 4.https与http...Native 开发工具 Linux 编程 底层图片处理 音视频开发 机器学习 看视频进行系统学习 前几年的Crud经历,让我明白自己真的算是菜鸡的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统...以上这些资料都已打包整理完毕,点击我的GitHub可以看到全部内容。或者点击 【这里】 查看获取方式。

97720

MVVM框架的搭建(三)——网络请求

,请使用 module_[modulename]*的命名规则 * * [project.ext.dependVersion] 创建各个依赖库的版本号控制,需在类库名称增加‘_version’...以Deps结尾,原则上以类库功能分类,比如网络库,图片处理库 * 尽量不要以类库本身的名字命名依赖列表 * * 各个module引用类库时尽量使用项目依赖列表的项目,不要直接使用类库地址的项目...= [kotlin_stdlib_jdk8: "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$dependVersion.kotlin_version" ]...这个接口我们就从网上找了一个关于手机号的省份的api (想和Gsonfromat一样把Json快速生成Kotlin的代码,推荐一个插件JsonToKotlinClass)这样就可以快速根据Json生成...mBinding.remote = mViewMode2 } } 我们可以看到 在Activity当中承担了请求网络的角色 但是 对于数据的处理并没有在这里体现,同时 我们可以看到对于点击的操作以及显示并没有出现在这里

83820

面试官:Handler内存泄露的原因是什么?我:就这?太简单了吧,但我却被挂了...

我们运行项目,点击Profiler——Memory,就能看到以下图片了,一个正在运行的内存情况实时图: image.png 可以看到图片中有两个按钮我标出来了: 捕获堆转储文件按钮,也就是生成hprof...文件,这个文件会展示Java堆的使用情况,点击这个按钮,AndroidStudio会帮我们生成这个堆转储文件并且进行分析。...所以我们打开HandlerActivity,马上finish,然后点击GC按钮,再点击捕获堆转储文件按钮。...AndroidStudio会自动跳转到以下界面: image.png 可以看到左上角有一个Leaks,这就是你内存泄漏的点,点击就能看到内存泄漏的类了。右下角就是内存泄漏类的引用路径。...的内部类与Java有什么不一样吗 其实可以看到,在上述的代码,我都加了一句 btn2.setText("2222") 这是因为在kotlin的匿名内部类分为两种情况: 在Kotlin,匿名内部类如果没有使用到外部类的对象引用时候

5K00

985毕业的“打工人”,Android开发2年被裁,重新出发终于拿下字节offer

重新点击显示哪个?...17、说一下你所了解的设计模式有哪些 18、说下java的线程创建方式,线程池的工作原理。 Kotlin Kotlin协程为什么能以同步代码写出异步逻辑?...5、网络封装框架:Retrofit实现原理 6、响应式编程框架:RxJava实现原理 7、图片加载框架:Glide实现原理 8、Glide如何确定图片加载完毕?...Android开启摄像头的主要步骤 19. ViewPager使用细节,如何设置成每次只初始化当前的Fragment,其他的不初始化? 20. 点击事件被拦截,但是想传到下面的View,如何操作?...子线程对UI的操作方法 如何在应用程序远程调用中表明用户身份 单例模式、建造者模式、中介模式 手写中位数查找算法 三面 聊聊项目 Handler和Looper的底层结构 postRunnable方法的底层实现

1.1K20

小兴逛Google IO 2017(day3实况)

早上跟同事丁教授来到会场准备停车的时候,发现Google把停车位置从之前的大空地转到不远处的大草地上了。停好车,我们绕了一条小路快速向会场方向走去,突然发现路边有很多开了花的树,样子非常像椰菜花。...这块没有来得及整理,大家可以直接点击这里观看视频。我比较赞同Fei-Fei Li访谈的一句话“机器的价值就是人的价值”,让机器为人类创建更多价值吧,AI时代已经来临。...主要介绍可以通过使用Vulkan API(一个低开销、跨平台的二维、三维图形与计算的应用程序接口)来显示控制Command Buffer的提交时机等来让CPU和GPU执行更均衡。...通过这种方式解决图片加载时间从233ms下降到30ms,提升非常明显。 ? 接着介绍如何让动画效果更加流畅。...比如一个正常的页面,可以先将图片在worker线程离屏绘制好,然后再提交到真正的屏幕上,提升绘制性能。 ? 从数据上来看,离屏渲染,内核线程的绘制渲染的耗时提升接近10倍。 ?

1K100
领券