面试题面试专栏面试搜集

Android面试整理

2019-06-20  本文已影响52人  Anwfly
  1. RecyclerView的上拉加载、下拉刷新怎么实现?RecyclerView原生实现侧滑、拖动?
    public ItemTouchHelper(Callback callback) {
        mCallback = callback;
    }

这个Callback是ItemTouchHelper的内部类,所以我们需要写一个类继承自ItemTouchHelper.Callback ,然后重写里面的方法

  1. 数据的各种存储方式
    (1)SharedPreferences。适用于保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息、解锁口令密码等。
    (2)文件存储数据 。文件存储方式是一种较常用的方法,在 Android 中读取/写入文件的方法,与 Java 中实现 I/O 的程序是完全一样的,提供了 openFileInput()和openFileOutput()方法来读取设备上的文件。
    (3)SQLite数据库存储数据。SQLite 是 Android 所带的一个标准的数据库,它支持SQL 语句,它是一个轻量级的嵌入式数据库。
    (4)使用ContentProvider存储数据。主要用于应用程序之间进行数据交换,从而能够让其他的应用保存或读取此 Content Provider 的各种数据类型。
    (5)网络存储数据。通过网络上提供给我们的存储空间来上传(存储)和下载(获取)我们存储在网络空间中的数据信息。
  2. 断点续传下载,续传上传
    多线程下载的原理实际上与单线程下载的原理并无区别。
  1. app在断网情况下怎么保存用户信息(数据缓存)
    Android客户端缓存机制是android应用开发中非常重要的一项工作了,使用缓存机制不仅可以为客户节省流量,同时提高了用户体验。分为文字缓存和多媒体文件缓存。
    首先是文字缓存:将服务器交互得到的json数据存入sd卡中,并在数据库添加该数据的记录。添加数据库记录时,可以提供2个字段,请求到的Url和本地保存后的文件地址,每次加载数据之前都会根据Url在数据库中检索。
    然后是媒体文件缓存:主要是图片三级缓存,现在流行的图片加载框架都支持三级缓存。如果是自己实现三级缓存,主要 用到的Lrucache。

  2. Activity现场保存,现场恢复

上一篇下一篇

猜你喜欢

热点阅读