学习Kotlin实现一个简易天气APP(MVVM+JetPack组件+Databinding)

SmileWeather之项目简单介绍

前言

本系列文章将以SmileWeather为实例来记录一下如何开发一款简单的APP,麻雀虽小五脏俱全。

因为最近在学习Kotlin所以准备通过写一个小项目来试试水,所以这个简易版天气APP出来了

描述

ps:图片加载不出来可以查看优快云博客

Jetpack是什么

总结成一句话,Jetpack就是Google为了帮助Android开发者更加轻松和高效开发Android应用程序推出的一系列工具。主要分为四大类:Foundation(基础组件)、Architecture(架构组件)、Behavior(行为)以及UI(界面组件)。

什么是MVVM

  • MVVM对应的就是Model,View,ViewModel。
  • Model:负责获取数据模型
  • View:负责页面的绘制和与用户的交互
  • ViewModel:将Model与View进行关联,负责处理一些业务逻辑和处理数据,然后通知View层刷新。当然View层的交互也同样可以影响到ViewModel,这种实现可能就需要通过框架了(Databinding)

简单了解一下Databinding

Databinding是属于Jetpack组件中一部分,它的使命主要是将数据与UI进行绑定,既支持单向绑定,也支持双向绑定。怎么理解呢?单向绑定就是数据绑定了UI,当数据改变的时候,UI改变;双向绑定就是UI改变的时候数据也会改变,举个栗子,EditTextView,用户输入内容了,具体的内容会映射到绑定的数据体,这个在该项目中已经使用了。多说一句单向绑定和双向绑定的区别就是双向绑定前面多了一个= android:text="@={ viewModel.mInputCity }"

当然Databinding还支持很多自定义方法来完成我们的一些奇葩需求。

技术点分析

本项目采用Kotlin编写。

  • 项目基础架构MVVM
  • 网络请求:Retrofit+LiveData
  • 数据库:Room
  • 依赖注入:Hint
  • 自定义Databinding
  • 自定义温度柱状条
备注

觉得对你有帮助的麻烦给一个小星星了。文章陆续更新
项目地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值