自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Little By Little

勤能补拙

  • 博客(19)
  • 资源 (4)
  • 收藏
  • 关注

原创 andrid四大图片加载框架对比分析

图片加载和显示在android开发中是最常见的需求之一,因此图片加载和显示这个问题处理的好坏会直接影响到我们产品的用户体验,尤其是在移动设备的硬件和网络都比较受限的条件下。鉴于此,一些知名的厂商和开发者贡献并开源了他们在这一块的所做的探索和努力,于是就有了目前android开发中最常见的四大图片加载框架:Universal Image Loader,Picasso,Glide和Fresco。他们...

2019-02-13 21:32:23 859

原创 WCDB使用笔记

本地数据加密由于项目涉及到一些用户隐私数据的存储,所以需要对保存在客户端本地的数据进行加密,以防止用户隐私数据在设备被root的情况下出现泄漏。目前android的本地数据存储基本分为file,sharepreference和database,所以对数据的加密操作分为了两种:文件加密和文件内的数据加密。文件加密就是在打开该文件的时候需要获得正确的加密秘钥才能从该文件中读取数据或者写入数据到该文件...

2019-01-23 00:03:31 1876 1

原创 聊聊android列表视图的缓存设计

我们都知道在手机应用中显示列表数据是最常见的一种使用场景,比如新闻、微博、朋友圈等,但是由于移动设备的性能有限(尤其是内存),当我们在绘制列表视图时不可能将成百上千条数据一下子全部绘制到界面上,否则在低配手机上必然会引起应用卡顿甚至OOM,从而导致应用体验很差。在这种情况下我们该如何对应用进行优化呢?android中提供了listview和recyclerview两个列表视图控件来支持大量数据在...

2019-01-22 23:33:37 411

原创 多人协作时gradle配置优化

我们都知道android项目采用的是一套gradle构建机制通过android studio,我们可以很方便的对gradle进行配置从而灵活高效的完成项目的编译和打包。一般android的项目构建配置如下: 从图中我们可以看到,主要是.gradle文件和.properties文件。我们分别来看些配置文件的内容和用途。 - 第一个是项目根目录下的脚本配置文件,用行话来说就是rootPr...

2018-05-19 21:33:31 427

原创 Android权限设置引导

Android中当我们需要的权限被禁用时,需要引导用户去开启该权限(一般是跳转到权限设置页面),这样可以达到优化用户体验的效果。我们知道Android 6.0之后对于部分敏感权限,如电话、短信、SD和相机等需要进行动态申请并得到用户的同意后获得。那么当用户没有开启某个权限A时,我们需要引导用户去开启权限A,由于Android机型众多导致权限设置的入口无法统一,这时我们只能退而求其次...

2018-05-19 19:02:54 3782

原创 Android 7.0适配

目前在项目中遇到Android 7.0及以上系统调用相机拍照时出现崩溃的情况,分析后发现是7.0系统的适配问题引起的,下面将收集到的7.0适配的相关资料整理以备忘。Android 7.0对于文件共享权限做了进一步的限制,比如我们在调用系统相机拍照的时候经常会这样写:void takePhoto(String cameraPhotoPath) { File cameraP...

2018-05-19 19:02:05 160

原创 getWindowVisibleDisplayFrame()使用总结

im类项目的聊天界面中需要在键盘上显示一个输入控制框,所以需要获取到软键盘的高度,这里就需要使用到android中的getWindowVisibleDisplayFrame()方法。收集整理了一些getWindowVisibleDisplayFrame()的相关资料,这里记录一下备忘。getWindowVisibleDisplayFrame()是View类下的一个方法,用来获取当前窗口...

2018-05-19 19:01:05 3367

原创 LruCache使用解读

之前在网上有看到一篇文章《2017下半年,一二线互联网公司Android面试题汇总》,整理的知识点还挺全而且也有一些比较深入的点,最初看的时候有些知识点要么答不上来,要么理解的不够深刻,后面也是查阅了很多相关资料才弄明白。正所谓“好记性不如烂笔头”,为了加深自己的理解以及方便以后查阅,所以打算写一些文章记录下来,于是就有了第一个知识点LruCache。这里我们将通过3W(What,Why...

2018-05-19 18:58:29 657

原创 android动态编程

在Android开发中,我们经常会遇到一些需要大量编写重复代码的情景,比如 - findViewById(),从布局文件中加载UI组件 - cursot.getColumnIndex()和cursor.getInt(),从数据库中读取数据这样做其实没有错,但是编程本身是作为一种工具属性将一些简单重复的事情交由计算机来处理以提高效率的,所以作为程序员的我们就应该尽可能的把一些重复冗余的操...

2018-05-19 18:57:01 262

原创 android gradle使用详解

我们知道Android studio在发布之初就使用了gradle来构建和管理Android项目,所以很多人在开发Android应用的过程中或多或少都和它打过交道,今天就给大家分享下我对gradle的一些理解,以及在Android开发中使用gradle的一些经验。项目自动化构建工具的发展最早在开发的过程中是没有项目自动化构建这个东西的,每次编译项目的时候都是在命令行下对每个...

2018-05-19 18:55:47 645

原创 ListView使用

ListView是我们日常使用非常多的控件之一,所以今天给大家分享一下ListView的使用心得。addHeaderView()和addFooterView()添加头部和尾部,常用于上拉刷新和下拉刷新等场景中,我们需要在setAdapter()之前调用。setAdapter()和getAdapter()设置ListView的适配器,用于提供ListView要展示的数据。注意这里的getAdapte

2017-04-15 20:24:02 446

原创 Android Permission那些事

在Android App开发中我们经常会在AndroidManifest中见到,等标签,这些标签是什么?有什么用?今天给大家讲讲关于Android Permission的那些事。谈到Android Permission,得先来说下Android系统的安全体系。Android构建了一套安全体系,以保证平台上各App之间数据访问的安全性。同时Android是基于Linux内核的,自然也沿用了Linux

2017-04-08 14:47:14 339

原创 Broadcast使用场景解读

在之前的一篇文章《基于场景解读Android四大组件》谈到BroadcastReceiver是Android提供给开发者的一个组件,主要用来完成前台和后台之前的通信,也就是Activity和Service之间的通信。今天我们继续通过使用场景来分析Android中的Broadcaster和BroadcastReceiver。我们知道Android的底层使用了Linux内核,Linux下面提供了很多的

2017-04-06 20:08:52 1274

原创 Service使用场景解读

在之前的一篇文章《基于场景解读Android四大组件》中谈到Service是Android提供给开发者的一个组件,主要用于后台一些耗时任务的处理。其实Android系统中已经存在了很多这样在后台执行一些特定任务的系统级Service,比方说与我们开发中打交道最多的ActivityManager,WindowManager,PackageManager和InputManager等等。

2017-04-02 23:32:20 2178 2

原创 Activity使用场景解读

在之前的一篇文章《基于场景解读Android四大组件》中谈到Activity是Android提供给开发者的一个组件,主要用于前台界面的展示和交互,为了让开发者很方便的达到这个目的,Activity这个组件提供了两大接口:生命周期和启动模式,官方手册上对于这两块描述的很详细,但是我们在实际使用的过程中依然会遇到很多问题,所以今天我们结合实际使用场景来解读Activity的这两大接口。Activity

2017-04-02 14:54:28 1176

原创 基于场景解读Android四大组件

谈到Android四大组件:Activity,Service,Broadcast和ContentProvider,大部分人应该都比较熟悉了,因为会使用这四大组件是作为一个App开发者的基本功。但是,大家想过没有,Android作为一个平台,给开发者提供的为什么是四大组件,为什么不是三个或者五个?我们就得从使用场景的角度来说下这四大组件了。

2017-04-02 14:21:51 1171 1

原创 android笔记之首页框架搭建

首页采用viewpage+fragment实现,底部tab实现活动,消息,动态和个人页面的分类展示,viewpage不可以滑动。这里涉及到以下技术点: 1. pageadapter的选择,android提供了两种显示fragment的pageadapter,fragmentpageadapter和FragmentStatePagerAdapter,它们的区别如下,fragmentpageadapt

2016-06-20 01:31:48 429

原创 android引导页大图

引导页图片一般采用本地图片打包在APK中,并且显示大小为整个屏幕,所以在显示引导页图片时有以下几点需要注意: 1. 最好使用多个尺寸的引导页来保证适配效果,比如在drawable-hdpi, drawable-xhdpi和drawable-xxhdpi里各放一套图。 2. 为了控制包的大小,图片大小要适当控制 3. 优先使用BitmapFactory.createBitmap来解析引导页

2016-06-06 20:15:02 2473

原创 标准输出的缓存问题

今天在编写一道算法问题的代码时,遇到一个和输入输出缓冲有关的问题。代码如下:/* * test_stdout.c * * Created on: 2013-4-20 * Author: Administrator */#include int main(){ int a; printf("Please input a value:"); scanf(

2013-04-21 00:02:14 905

ARM7-SD卡读写系统

1. sdconfig.h: 该文件为SD卡读写模块配置头文件,用户可根据实际硬件条件进行修改. 2. SD目录: SD卡读写模块的全部文件,一般不用修改. 3. 建议sdconfig.h文件不要放于SD目录中,因为SD目录中的文件一般无须修改,而sdconfig.h通常会有改动.

2011-04-12

代码之美中文版(经典)

代码的质量现在也变得越来越重要,相信对于一个被称得上是美的代码,一定会是一位很优秀的程序员才能编写出来的。

2010-01-17

Java解惑(中文)

对于学习java的人无疑是一本很好的参考手册和进阶资料。

2010-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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