文件存储、列表控件 ListView 及适配器 SimpleAdapter、BaseAdapter 的使用方 法

本文详细介绍了Android的文件存储,包括内部存储和外部存储的使用方法,以及静态和动态权限申请。此外,还讲解了ListView控件及适配器的工作原理,特别是如何使用SimpleAdapter实现列表展示,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成

一、文件存储
在这里插入图片描述
文件存储
Android中的文件存储分为内部存储和外部存储。

内部存储:将应用程序的数据以文件方式存储到设备的内部(data/【你的APP的包名】/files下),当创建的应用程序被卸载时,其内部存储文件也随之被删除。
外部存储:是将文件存储到一些外部设备上,例如SD卡或者设备内嵌的存储卡,属于永久性的存储方式。

(一)内部存储

获取内部存储路径的几种方法:
在这里插入图片描述
内部存储IO流获取方法:
在这里插入图片描述
内部存储存文件
在这里插入图片描述
内部存储取文件
在这里插入图片描述
写入、读入的四种模式

在这里插入图片描述
(二)外部存储

获取外部存储路径
File file = Environment.getExternalStorageDirectory()
返回外部存储根目录

外部存储IO流获取方法
使用new关键字创建IO流对象

外部存储创建文件

在这里插入图片描述

外部存储存文件

在这里插入图片描述

外部存储取文件

在这里插入图片描述
静态权限申请
静态权限申请的方式适用于 Android 6.0 以下的版本,这种方式是在
AndroidManifest.xml 文件中对所需权限进行声明。申请外部存储读写权限如下所示。
在这里插入图片描述

 动态权限申请
Android 6.0 及以上版本的系统中,Android 将权限分为正常权限和危险权限。正常权限表示不会直接给用于隐私权带来风险的权限,比如请求网络的权限。
危险权限表示涉及用户隐私的权限,申请该权限的应用可能涉及了用户隐私数据,也可能对用户存储的数据或其他应用的操作产生影响。危险权限一共分为九
组,分别为存储(STORAGE) 、照相机(CAMERA)、位置(LOCATION)、日历(CALENDAR)、
联系人(CONTACTS)、传感器(SENSORS)、麦克风(MICROPHONE)、电话(PHONE)、短
信(SMS)的相关权限共 24 个。
申请正常权限时使用静态权限申请即可,而对于危险权限则需要用户授权后才可以使用,因此不仅需要在 AndroidManifest.xml 文件中添加权限,还需要在
代码中进行动态权限申请。

注意:
①外部存储中,Environment的该getExternalStorageState()方法,已被弃用,虽然还可以使用,但是为了用户隐私安全,可以用Context的
getExternalFilesDir(null);方法替代。
②内部存储文件随着应用程序的卸载会被删掉;
外部存储为永久性存储。

二、列表控件ListView和适配器的用法

一个ListView通常有两个职责:

(1)将数据填充到布局

(2)处理用户的选择点击等操作

一个ListView创建需要3个元素:

(1)ListView中每一列的View;(2)填入View的数据或图片等;(3)链接数据与ListView的适配器。

创建适配器的作用:
**适配器是一个链接数据和AdapterView(ListView就是一个典型的AdapterView)的桥梁,**通过它能够有效地实现数据与 AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。这也是Android完全遵循MVC设计模式的体现。

Android提供很多的Adapter,列出常用几个:

ArrayAdapter(T)--------------------------来绑定一个数组,支持泛型操作

SimpleAdapter----------------------------用来绑定在XML中定义的控件对应的数据

SimpleCursorAdapter-------------------用来绑定游标得到的数据

BaseAdapter-----------------------------通用的基础适配器

1.ListView使用SimpleAdapter
实现如图 所示的行星列表效果
在这里插入图片描述

(1)activity_list_view_test_activty.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值