当前位置: 首页 > article >正文

不联网新华字典

介绍

首页字典

更多

 

 

 包含内容

内容对应Json数据文件
百家姓baijiaxing.json
曹操诗集caocao.json
弟子规dizigui.json
成语idiom.json
论语lunyu.json
纳兰性德诗集nalanshiji.json
千家诗qianjiashi.json
千字文qianziwen.json
三字经-传统版sanzijing_ct.json
三字经-新版sanzijing_xb.json
诗经shijing.json
水墨唐诗shuimotangshi.json
唐诗三百首tangshisanbaishou.json
新华字典word.json
歇后语xiehouyu.json
朱子家训zhuzijiaxun.json

依赖库

我这里用了应用更新,所以更新的时候需要网络,其他数据读取本地json数据不需要联网

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.1.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.4.+'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    //recyclerview
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
    //cardview
    implementation 'androidx.cardview:cardview:1.0.0'
    //gson数据解析
    implementation 'com.google.code.gson:gson:2.10.1'
    //沉浸状态栏基础依赖包,必须要依赖
    implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
    implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.2'
    //工具库
    implementation 'com.github.yechaoa.YUtils:yutilskt:3.2.2'
    //glide图片加载
    implementation 'com.github.bumptech.glide:glide:4.15.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.15.0'
    //网络请求所需
    implementation "io.reactivex.rxjava2:rxjava:2.2.8"
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'com.squareup.retrofit2:retrofit:2.6.2'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    //下载更新
    implementation 'com.github.azhon:AppUpdate:3.0.5'
}

本地json数据加载与解析

import android.content.Context
import com.yechaoa.yutilskt.YUtils
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader

class JsonFileUtil {

    companion object {
        fun loadFile(context: Context, fileName: String): String {
            val stringBuilder = StringBuilder()
            try {
                val inputStream = context.resources.assets.open(fileName)
                val isr = InputStreamReader(inputStream)
                val reader = BufferedReader(isr)
                var jsonLine: String?
                while (reader.readLine().also { jsonLine = it } != null) {
                    stringBuilder.append(jsonLine)
                }
                reader.close()
                isr.close()
                inputStream.close()
                YUtils.hideLoading()
            } catch (e: IOException) {
                e.printStackTrace()
                YUtils.hideLoading()
            }
            return stringBuilder.toString()
        }
    }
}
private lateinit var mapBeanList: MutableList<Word>

val str = JsonFileUtil.loadFile(this, "word.json")

val mapBeanListType: Type = object : TypeToken<ArrayList<Word?>?>() {}.type
mapBeanList = Gson().fromJson(str, mapBeanListType)

initAdapter(mapBeanList)

private fun initAdapter(list: MutableList<More>) {
    //设置布局排列方式
    val staggeredGridLayoutManager = StaggeredGridLayoutManager(2, LinearLayoutManager.VERTICAL)
    binding.rv.layoutManager = staggeredGridLayoutManager

    //加载适配器
    moreAdapter = MoreAdapter(this, list)
    binding.rv.adapter = moreAdapter
}

代码详情

https://gitee.com/juer2017/xinhuazidian

下载

用手机浏览器输入这个网址:  https://spark.appc02.com/4jc9

或者gitee下载:https://gitee.com/juer2017/xinhuazidian/blob/master/app/release/app-release.apk


http://www.kler.cn/a/7079.html

相关文章:

  • nodejs+mysql+vue3 应用实例剖析
  • 「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号
  • Ubuntu22.04 安装mysql8 无法修改端口及配置的问题 坑啊~~~~
  • MYSQL_深入理解自连接_图书借阅情况(2/2)
  • 51单片机应用开发---LCD1602显示应用
  • 2.STM32之通信接口《精讲》之USART通信
  • 【docker-compose】安装 Harbor
  • 前端从零开始写一个简单的响应式
  • 【软考五】数据库(做题)
  • Flutter-Scaffold组件
  • 软考试题难不难?怎么复习备考?
  • P3975 [TJOI2015]弦论(SAM DAG、parent树上dp计算不同子串数 递归输出字典序第k大子串)
  • 前后台协议联调拦截器
  • 快速玩转 CNStack 2.0 流量防护
  • 逍遥自在学C语言 | 逻辑运算符
  • 学习HCIP的day.2
  • vue echarts 画饼图
  • 704. 二分查找
  • vue3项目快速开发模板
  • 论文阅读《LargeKernel3D: Scaling up Kernels in 3D Sparse CNNs》
  • PHP防止站外表单跨站提交的几种办法详解
  • std::invoke()不支持重载函数
  • 【Linux】理解Linux中硬链接和软链接
  • 蓝桥杯真题2021c++省A题解
  • Vue3+vite2 博客前端开发
  • 【Verilog基础】二进制比较器