作者:feintkotlin(Kotlin学习网)

说明:这次更新对一些小的细节进行了改进,并增加了SQLite的操作.该应用支持6.0及以上android系统

更新:当有网络时,将前5条数据保存到数据库中.

网络不可用时,加载SQLite中存储的信息.

监控网络变化,当网络变得可用时,自动加载还未加载的数据.

使用多类型的recyclerview(在列表的底部添加了底线)

更新展示

多类型的recyclerview

框架制作一个完整的App,第二集" />

为列表添加了底线

在这里是通过多类型的recyclerview实现的.在RecyclerView的Adapter中有一个叫做 getItemViewType的方法,通过这个方法,我们可以自定义每一项的视图类型.

要想使用多类型的recyclerview,首先你得创建一个继承至ViewHolder的类,作为所有你使用到的ViewHolder的父类.这个类中需要包含所有你在子类中可能会使用到的View.

在子类中根据实际的布局情况实例化相应的View.

然后我们只要在 onCreateViewHolder中根据 ItemViewType 来创建对应的ViewHolder即可

Sqlite数据库操作

关于Anko 对于 SQLite操作的详细内容,可以Kotlin学习网上的文章:《Android框架Anko的SQLite模块知识点总结》

在Anko款家中有一个 ManagedSQLiteOpenHelper,可以更加便捷的创建一个Sqlite的数据库.我们主要实现其中的两个方法:onCreate(db:SQLiteDatabase?), onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int)

在onCreate方法中,我们创建需要用到的数据表:

db.createTable():第一个参数是表的名称,第二个参数表示是否在表不存在的情况下创建表;第三个参数是用来定义字段的.

表创建好之后,就是执行相应的插入和查询操作.

插入数据:

查询数据:

在Anko中通过rowParser函数,将查询的数据行转化为相应的对象.红框中的内容需要注意,参数的顺序一定要和定义数据表时的字段的顺序一致.当然你也可以直接在select函数中指明需要查询的字段.

比较重要的内容就是这些,其它一些更改,可以到咱的github上下载源码.

监听网络变化

结尾

源码地址(Github):github.com/feintKotlin/android

Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集相关推荐

  1. 一个完整直播app功能分析

    1.一个完整直播app功能 1.聊天 私聊.聊天室.点亮.推送.黑名单等; 2.礼物 普通礼物.豪华礼物.红包.排行榜.第三方充值.内购.礼物动态更新.提现等: 3.直播列表 关注.热门.最新.分类直 ...

  2. android数据库开发案例教程,Android Studio项目开发教程 第6章 数据库编程(30页)-原创力文档...

    ;目录;;;;;;6.3 SQLite数据库的操作;;;;表 6.1 Cursor类提供的常用方法;;;;;6.5购物商城的数据库编程;使用Activity类中的 getPreferences方法获取 ...

  3. Android开发之关于MVVM架构中视图数据绑定框架dataBinding的基本用法

    dataBinding是Google官方开发的第三方视图数据绑定框架.优缺点如下: 优点:很好用 缺点:调试bug不易,部分AS版本中不太友好 首先说下如何使用: 在gradle中的android模块 ...

  4. android studio教程,Android Studio一个完整的APP实例

    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开 ...

  5. Android slideback框架,SlideBack 一个仿 即刻 APP 滑动返回效果的 Demo @codeKK Android开源站...

    一个让你的页面支持 滑动返回 的小东西 效果 使用方法: Step 1. 在你项目的根 build.gradle 中添加 jitpack.io 库 allprojects { repositories ...

  6. [错误解决]centos中使用kubeadm方式搭建一个单master的K8S集群

    安装步骤 参考该大佬博客 --------- [ningan@k8s-master pv]$ kubectl get pod The connection to the server localhos ...

  7. 3天时间,给你一个完整的APP设计模型

    第一步:需求梳理.分析 1.产品功能导图:Xmind 2.构思产品功能列表: 第二步:产品原型图绘制 产品功能需求梳理清楚之后,就可以绘制产品原型图.搞清楚各个功能板块如何在APP上排布. 同时根据具 ...

  8. java中位于集合框架顶层位置的是,CoreJava第二次内测有答案

    <CoreJava第二次内测> 一.单选题(共30分,每题2分) 1.定义一个只能接收整型数字的ArrayList,下面正确的是(c) A.ArrayListal=new ArrayLis ...

  9. android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

    在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能.Android的App版本号相关内容比iOS的App版本号内容要多,而 ...

最新文章

  1. sql server 的一些记录
  2. 两个免费转换视频的软件,实现服务器端Video2FLV
  3. 皮一皮:直男只想说一句,表白?是表特别白吗?
  4. UML在powerDesigner的使用及其相关概念
  5. io流不关闭会怎么样_幸福树一个月不浇水会怎么样
  6. php sql中文乱码怎么解决,php显示mssql中文乱码怎么办
  7. 附录 D:保护 Active Directory 中的内置 Administrator 帐户的安全
  8. 简单的python案例_实现的简单python例子
  9. Mac 安装和配置 Maven
  10. Win10下NTFS分区变RAW修复的一种错误方法
  11. Matlab中的图怎样插入Word效果最好
  12. 台式计算机32位和64位的区别,电脑操作系统中32位和64位到底有哪些区别?
  13. Java的excel去除空行(包括带有格式的空行)
  14. h5仿微信聊天室案例|仿微信聊天IM界面 weui
  15. 用易拉罐自制的“蜘蛛音箱”,效果出乎意料
  16. PTA 6-1 在数组中查找指定元素 (25分)
  17. 硬件分析之:有源精密检波电路的分析
  18. 【k8s记录系列】实操kubeadm安装部署Kubernetes集群全过程 V1.20.5
  19. linux bus、driver、device及三者的关系
  20. 关于微信第三方redirect_uri 参数错误录(10003)

热门文章

  1. SAP BSP应用有状态和无状态行为差异比较
  2. SAP CDS view里association和join的区别
  3. CRM BP attachment read debug
  4. what does fullScreenPageRoutes in SAP UI5 mean
  5. metadata model entry in /IWFND/CL_MED_MDL_SVC_GRP
  6. Backbone - create model的实现原理
  7. 变量不同作用域的测试
  8. BDOC generated after customer product id is changed in CRM - CUST_MAT_INF
  9. Marketing Cloud里如何创建新的query视图并设置为默认显示界面
  10. How to use Chrome HAR save HTTP performance