Android 读取csv格式数据文件

简介: Android 读取csv格式数据文件

前言


什么是csv文件呢?百度百科上说 CSV是逗号分隔值文件格式,也有说是电子表格的,既然是电子表格,那么就可以用Excel打开,那为什么要在Android中来读取这个.csv格式的文件呢?因为现在主流数据格式是采用的JSON,但是另一种就是.csv格式的数据,这种数据通常由数据库直接提供,进行读取。下面来看看简单的使用吧


正文


首先还是先来创建一个项目,名为ReadCSV

20200720091858242.png


准备.csv格式的文件,点击和风APILocationList


20200720092250286.png


下载ZIP,保存到本地,然后解压,这个时候在你的项目文件中新建一个assets文件夹,注意创建的位置


20200720092643737.png


然后打开刚才解压后的文件夹,把iso3166.csv复制到这个新建的文件夹下。


2020072009292091.png


这里先以Text的格式放置,这个时候你会发现右上角多了一个两个操作选项(如果你是第一次复制csv文件的话),分别是安装插件和同意忽略


20200720093031784.png


Android Studio编译器默认是不能直接使用.csv文件的,所以要安装插件,点击Install plugins ,会出现


20200720093510181.png


等待下载


20200720093548762.png


点击OK就会配置你下载的插件,Android Studio每次配置插件之后都要重启一下,插件才会生效的,再重启之前,再安装一个翻译插件吧,如果你已经安装过了,就直接重启吧。

安装翻译插件,点击File → Settings…


20200720093828120.png


点击Plugins,切换到Marketplace ,输入 Translation,等待搜索结果

20200720094150484.png



如上图所示就是第一个,点击Install进行下载安装,安装好之后


20200720094412631.png


点击Restart IDE 进行重启,静静地等待编译通过,这个时候你可以泡一杯咖啡。


20200720095135816.png


可以看到这个时候你的编译器已经可以正常打开.csv格式文件了,然后这个文件中的第一行到第四行都删掉,因为都是没有用的数据,


20200720102823981.png


可以看到都是用逗号分隔开的,这就映证了百度百科的说法,那么现在就可以开始读取这个文件里的内容了,其实就跟读取txt差不多的。


打开MainActivity

然后在onCreate中写入如下代码


    InputStreamReader is = null;
        try {
            is = new InputStreamReader(getAssets().open("iso3166.csv"));
            BufferedReader reader = new BufferedReader(is);
            reader.readLine();//读取每行
            String line;
            while ((line = reader.readLine()) != null) {
                Log.d("line -->",line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }


代码很简单的,看一下就明白了,运行一下


20200720095916743.png


这样数据就读取到了,那么我们刚才安装的翻译插件起到什么作用呢?你有没有这样的疑惑呢?下面来使用这个翻译插件,选中MainActivity,鼠标右键


20200720100350935.png


第一个是翻译,第二个是翻译和替换,点击第一个


20200720100434884.png


是不是很爽呢?再也不用担心命名的问题了,知道用法之后,我们进入到iso3166.csv,翻译第一行的第一个单词


20200720100617804.png


可以看到是阿富汗,这个时候我们再运行一下


20200720103010571.png


你以为会出现乱码吗?实际上是并没有出现,但是你会发现第一行的数据没了,天杀的AS居然偷我数据。其实这还真不怪AS,这是BufferedReader.readLine()方法读取文件第一行的bug,首行第一个字符会是一个空字符,所以跳过了,这个Bug在我这里并不需要解决,可以利用的,刚好第一行的数据没有实际意思,就类似于表的表头啊,你都跳过了,我就懒得去处理了,何乐而不为呢?你说是吧!这样基本上就说完了,你可以把这些数据存到Sqlite里面,在使用的时候再调用就可以,如果你想看这方便的内容请留言给我,我给你补充上。


相关文章
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
4月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
288 1
|
2月前
|
存储 大数据 数据库
Android经典面试题之Intent传递数据大小为什么限制是1M?
在 Android 中,使用 Intent 传递数据时存在约 1MB 的大小限制,这是由于 Binder 机制的事务缓冲区限制、Intent 的设计初衷以及内存消耗和性能问题所致。推荐使用文件存储、SharedPreferences、数据库存储或 ContentProvider 等方式传递大数据。
77 0
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
124 0
|
4月前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
134 1
|
4月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
102 1
|
4月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
123 0
|
4月前
|
存储 缓存 Java
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
47 0
|
9天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
14天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。