android开发笔记

android开发笔记

Android下拉刷新上拉加载控件,对所有View通用!

     前面写过一篇关于下拉刷新控件的博客下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能。不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~     我...

2019-02-17 09:50:06

阅读数 67

评论数 0

RecyclerView系列之一ItemDecoration

一、添加分割线 1.1 引入ItemDecoration 在上一篇中,我们讲解了RecyclerView的基本使用方法,但有个问题:为什么Item之间没有分割线呢?其实,给RecyclerView添加分割线也非常简单,只需要添加上一句话: DividerItemDecoration  mDivi...

2019-01-19 11:53:42

阅读数 81

评论数 0

RecyclerView系列之四回收复用实现方式二

在上篇中,我们先将摆好所有要显示的新增item以后,再使用offsetChildrenVertical(-travel)函数来移动屏幕中所有item。很明显,这种方法仅适用于每个item,在移动时,没有特殊效果的情况,当我们在移动item时,同时需要改变item的角度、透明度等情况时,单纯使用of...

2018-12-22 15:10:29

阅读数 78

评论数 0

RecyclerView系列之三实现回收复用

一、View的回收与复用 1.1 RecyclerView是否会自动回收复用 想必大家都听说RecyclerView是可以回收复用的,但它会自动复用吗?我们上面写的CustomLayoutManager会不会复用呢? 1.1.1 如何判断是否复用 首先,我们需要知道怎么判断RecyclerVie...

2018-12-22 14:19:26

阅读数 336

评论数 0

RecyclerView系列之二自定义LayoutManager

在这节中,我们先自己制作一个LinearLayoutManager,来看下如何自定义LayoutManager,下节中,我们会通过自定义LayoutManager来制作第一个滚轮翻页的效果。 一、初始化展示界面 1.1 自定义CustomLayoutManager 先生成一个类CustomLay...

2018-12-22 13:21:42

阅读数 178

评论数 0

WebView使用详解(三)——WebChromeClient与LoadData补充

一、WebChromeClient 1、概述 (1)、 与WebViewClient的区别 很多同学一看到这里有Chrome,立马就会想到google 的Chrome浏览器;这里并不是指Chrome浏览器的意思,而是泛指浏览器,WebView的内部实现并不是完全使用Chrome的内核,而是部分使用...

2018-12-08 13:45:46

阅读数 61

评论数 0

WebView使用详解(二)——WebViewClient与常用事件监听

一、WebViewClient 1、概述 前面我们虽然实现了交互,但可能我们会有一个很简单的需求,就是在开始加载网页的时候显示进度条,加载结束以后隐藏进度条,这要怎么做?  这些简单的需求,Android开发的老人们肯定都已经想到了,这些有关各种事件的回调都被封装在WebViewClient类中了...

2018-12-08 12:11:41

阅读数 59

评论数 0

WebView使用详解(一)——Native与JS相互调用

一直在用WebView,还没有系统的总结过它的用法,下面就系统的总结下,分享给大家 一、基本用法 1、加载在线URL void loadUrl(String url) 这个函数主要加载url所对应的网页地址,或者用于调用网页中的指定的JS方法,但有一点必须注意的是:loadUrl()必须在主线程...

2018-12-05 15:14:59

阅读数 142

评论数 0

安卓Handler当做内部类,导致内存泄露的问题

this handler should be static or leaks might occur   How to Leak a Context: Handlers & Inner Classes Context是怎么泄露的:Handlers &amp...

2018-08-20 06:35:14

阅读数 152

评论数 0

安卓 OpenGL ES 2.0 完全入门(三):2D 纹理的裁剪、翻转、旋转、缩放

整体思路 在基本概念和 hello world 中我们提到着色器程序(Shader)的最终目的就是确定图形的顶点(Vertex)坐标和片元(Fragment)颜色。其实这正是 OpenGL 提供的最基本、最核心的操作原语,我们想要用 OpenGL 实现任何效果,无论是静止的光影、色彩、形状,还是...

2018-08-18 07:55:54

阅读数 276

评论数 0

安卓 OpenGL ES 2.0 完全入门(二):矩形、图片、读取显存等

1. 绘制矩形 上篇中有提到,三角形是基本形状,利用三角形我们可以“拼出”其他的任何形状,例如矩形。 绘制两个三角形时,我们可以指定 6 个顶点的坐标,但实际上只有 4 个不同的点,这样有点浪费,OpenGL 支持用另一种方式完成绘制:用一个数组保存顶点数据,用另一个数组保存顶点的绘制顺序: ...

2018-08-18 07:55:48

阅读数 490

评论数 0

安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world

1. 基本概念 在 OpenGL 的世界里,我们只能画点、线、三角形,复杂的图形都是由三角形构成的。 在 OpenGL 里有两个最基本的概念:Vertex 和 Fragment。一切图形都从 Vertix 开始,Vertix 序列围成了一个图形。那什么是 Fragment 呢?为此我们需要了解...

2018-08-18 07:55:42

阅读数 146

评论数 0

Activity切换动画

毫无疑问,动画效果能提高用户体验。我们平时使用最多的动画基本上是属性动画和补间动画了,属性动画很强,基本能定制我们想要的动画,但是你是否知道,API 21(5.0)后系统内置了Activity之间的切换动画,而且非常酷炫,今天我跟大家一起分享一下。我们知道,在两个Activity之间切换,我们一般...

2018-08-08 06:37:24

阅读数 62

评论数 0

View的滚动原理简单解析(二)

   在《View的滚动原理简单解析》一文中对scrollBy和scrollTo做了简单的说明,通过该文可以对scrollTo/scollBy方法有了直观的理解。但是有个小问题就是scrollTo方法在滚动的过程中由于是瞬间的移动到目标坐标点,所以我们没法在滚动的过程中做任何控制,这个在体验上来说...

2018-08-02 06:42:52

阅读数 90

评论数 0

View的滚动原理简单解析

一直对View的滚动了解的不深,说明白了吧也能说出个所以然来,所以我就花了点时间做了一个小小的总结,言归正传,view的滑动分为以下三种: 1)View本身不滚动,指滚动View的内容,这也是View类提供的原始方法,通过scrollTo和ScrollBy方法来实现。 2)使用动画,让View...

2018-08-02 06:42:45

阅读数 97

评论数 0

WebView 缓存机制和资源加载方案

1. Android WebView 存在什么性能问题? Android WebView 里 H5 页面加载速度慢 耗费流量 下面会详细介绍。 1.1 H5 页面加载速度慢 H5 页面加载速度慢的原因 下面会详细介绍: 1.1.1 渲染速度慢 前端H5页面渲染的速度取决于 两个方...

2018-05-23 18:52:04

阅读数 838

评论数 0

Mac上安装Flutter过程详解

1、在 Android Studio 上安装了Flutter 插件,安装 Flutter 插件时,会自动安装 Dart 插件。       安装完插件后,重启  Android Studio。 2、根据 Using Flutter in China 上的说明,在命令行执行以下Shell命令,下载和...

2018-05-03 13:37:54

阅读数 1695

评论数 0

使用SQLiteDatabase管理SQLite

1.创建数据库链接 创建一个SQLiteDatabase对象,第一个参数是数据库名称,第二个参数是打开方式(权限),第三个参数是工厂模式。 SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase("数据库名.db&am...

2018-04-28 17:57:42

阅读数 1344

评论数 0

使用 SQLiteOpenHelper 操作 SQLite 数据库

1、创建继承于SQLiteOpenHelper的类DBHelper,并重写onCreate()和onUpgrade()。 public class DBHelper extends SQLiteOpenHelper { private static final String TAG ...

2018-04-28 17:12:54

阅读数 460

评论数 0

谷歌官方Android应用架构库——Room 持久化库

翻译自:https://developer.android.google.cn/training/data-storage/room/index.html Room提供了一个SQLite之上的抽象层,使得在充分利用SQLite功能的前提下顺畅的访问数据库。 对于需要处理大量结构化数据的App来...

2018-03-15 08:22:00

阅读数 279

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭