Fork me on GitHub
文章目录
  1. 1. 前言
  2. 2. Android Studio的不支持HttpClient的问题
  3. 3. 关于Android的滑屏问题,scrollTo()和scrollBy()的纠结
  4. 4. 关于SQLiteOpenHelper这个辅助类
  5. 5. 感谢

前言


在Android开发中,有各种各样的坑,本文为一些问题提供一些解决思路.

Android Studio的不支持HttpClient的问题


在Android高版本中,移除了对HttpClient的支持,如果项目中使用之,会报错,解决方法有二:

  1. 添加legacy支持,在build.gradle中添加,

    1
    2
    3
    android {
    useLibrary 'org.apache.http.legacy'
    }
  2. 将项目的SDK降到API21或者以下.

关于Android的滑屏问题,scrollTo()和scrollBy()的纠结


相信很多童鞋和我一样,都曾经被这个问题搞得焦头烂额,不懂啊,也一定看过很多的文章,但是越看越糊涂,因为信息太爆炸,互联网的信息真真假假,对对错错,有很多错误的观点一直在误导我们,所以尽量看一些大V写的文章比较好.扯远了,快回来.

关于滑屏问题,我觉得比较好的是:

  1. Android中滑屏初探 —- scrollTo 以及 scrollBy方法使用说明

下面说一下我的一些见解,如有问题,请留言:

  1. Android View视图是没有边界的,Canvas是没有边界的,你看不到只是因为他没有绘制出来,但是客观上是存在的.所谓不因你的存在而存在.
  2. 一个视图的在屏幕的起始坐标位于视图坐标起始处.
  3. 自始自终,View的位置是不会变化的,即scrollTo和scrollBy不会改变View的位置,改变的只是View上面绘制的内容也就是画布一直在变,而我们知道,画布是没有边界的.
  4. 当前视图内容指的是当前时刻绘制在当前坐标处的内容.
  5. 关于scrollTo
    1
    说明:在当前视图内容偏移至(x , y)坐标处,即显示(可视)区域位于(x , y)坐标处。

在理解的时候,可以以视图原点(不是屏幕的左上角!)为参考点.以scrollTo(0, 100)为例,调用这个方法之后,View是不动的,动的是View原点处显示的内容,也就是移动画布,这里应该是显示画布(0, 100)处的内容,需要注意的是,画布的原点和View的原点是一样的,不过画布的原点在变化(因为画布在移动),可以参考下图,scrollTo(0, 100)的实际效果就是将画布上移,相当于隐藏了一部分内容
图片说明
6.关于scrollBy

1
说明:在当前视图内容继续偏移(x , y)个单位,显示(可视)区域也跟着偏移(x,y)个单位。

只要理解了scrollTo,这个应当也不难理解,这是相对移动,而不是scrollTo的绝对移动,一点差别而已.

关于SQLiteOpenHelper这个辅助类


getReadableDatabase()和 getWriteableDatabase()都可以得到一个可既可以读又可以写的数据库对象,不同的是,当磁盘空间满了之后, getReadableDatabase()得到的是一个只读的对象,而 getWriteableDatabase()则会抛出异常。

感谢

感谢访问我的个人博客的朋友,如果您感觉本站对您搜索的问题有所帮助,并感觉对本站还满意的话,顶一下吧,希望您把本站分享给您的朋友!在此对您表示由衷的谢意! :-)