- 博客(30)
- 资源 (28)
- 收藏
- 关注
原创 Android全局异常捕获CrashHandler
在Android开发中在所难免的会出现程序crash,俗称崩溃。用户的随意性访问出现测试时未知的Bug导致我们的程序crash,此时我们是无法直接获取的错误log的,也就无法修复Bug。这就会极大的影响用户体验,此时我们需要注册一个功能来捕获全局的异常信息,当程序出现crash信息,我们把错误log记录下来,上传到服务器,以便于我们能及时修复bug。实现这个功能我们需要依赖于UncaughtExce
2016-01-28 17:06:50 2921 1
原创 Android内存泄漏杂谈
内存泄漏:是指内存得不到GC的及时回收,从而造成内存占用过多,从而导致程序Crash,也就是常说的OOM。 一、static 先来看下面一段代码public class DBHelper { private static DBHelper db= null; private DBHelper() { } public static DBHelper getI
2016-01-27 17:12:56 2568
原创 浅谈Android Handler 消息机制
Handler是Android中提供的一种异步回调机制。 由于Android中的UI线程是基于单线程设计的,所以我们没办法在子线程中更新UI,并且不能在UI线程中执行耗时操作,使用Handler我们就能轻松解决这些问题。 Handler需要依赖于Looper、MessageQueue。接下来我们就来缕一缕这三者之间的关系,以及Handler的实现原理。 我们通常使用Handl
2016-01-25 17:20:38 2234
原创 Android开发技巧、常见的坑和解决方案(二)
一、ViewPager+Fragment动态增删缓存问题 产生原因: 我们在开发中会常常用到ViewPager+Fragment,有时候可能会有这样的需求,需要对ViewPager中的内容进行动态的增删管理,但是我们都知道ViewPager为了保证滑动的流畅性,viewpager在加载当前页的时候已经将pager页左右页的内容加载进内存里了,所以此时我们不进行任何处理的话,是我发达
2016-01-23 13:19:11 2641
原创 Android开发技巧、常见的坑和解决方案(二)
一、ViewPager+Fragment动态增删缓存问题 产生原因: 我们在开发中会常常用到ViewPager+Fragment,有时候可能会有这样的需求,需要对ViewPager中的内容进行动态的增删管理,但是我们都知道ViewPager为了保证滑动的流畅性,viewpager在加载当前页的时候已经将pager页左右页的内容加载进内存里了,所以此时我们不进行任何处理的话,是我发...
2016-01-23 13:18:54 262
原创 Android常用开发工具类汇总
原文地址附源码下载地址 在开发中使用一些工具类,能让代码更加简洁,开发效率也更高,下面是我收集的Android中常用的一些开发工具类,如果大家有更好的工具,欢迎私信我。数据管理的工具类,清理缓存数据[java] view plaincopy import java.io.File; import java.math.BigDecimal; import and...
2016-01-18 17:13:44 108
原创 Android常用开发工具类汇总
原文地址附源码下载地址 在开发中使用一些工具类,能让代码更加简洁,开发效率也更高,下面是我收集的Android中常用的一些开发工具类,如果大家有更好的工具,欢迎私信我。数据管理的工具类,清理缓存数据[java] view plaincopy import java.io.File; import java.math.BigDecimal; import and...
2016-01-18 17:13:40 120
原创 Andorid开发常用开发工具类汇总
原文地址附源码下载地址 在开发中使用一些工具类,能让代码更加简洁,开发效率也更高,下面是我收集的Android中常用的一些开发工具类,如果大家有更好的工具,欢迎私信我。数据管理的工具类,清理缓存数据[java] view plaincopy import java.io.File; import java.math.BigDecimal; import and...
2016-01-18 17:13:01 94
原创 Andorid开发常用开发工具类汇总
原文地址附源码下载地址 在开发中使用一些工具类,能让代码更加简洁,开发效率也更高,下面是我收集的Android中常用的一些开发工具类,如果大家有更好的工具,欢迎私信我。数据管理的工具类,清理缓存数据[java] view plaincopy import java.io.File; import java.math.BigDecimal; import and...
2016-01-18 17:12:58 195
原创 Android 沉浸式状态栏 一体化状态栏实现
原文地址 苹果上的UI基本上都是这个效果,然而Android机上的顶部状态栏总是和app的主题颜色不搭。还好如今的api19以上的版本,我们也能做出这样的效果。 第一步: // 需要setContentView之前调用 private void setTranslucentStatus() { if (Build.VERSION.SDK_INT >= Build.V...
2016-01-15 11:23:43 71
原创 Android 沉浸式状态栏 一体化状态栏实现
原文地址 苹果上的UI基本上都是这个效果,然而Android机上的顶部状态栏总是和app的主题颜色不搭。还好如今的api19以上的版本,我们也能做出这样的效果。 第一步: // 需要setContentView之前调用 private void setTranslucentStatus() { if (Build.VERSION.SDK_INT >= Build.V...
2016-01-15 11:23:14 430
原创 Andorid5.0原生下拉刷新简单实现
这个出来也有些日子了,相对于上一个19.1.0版本中的横条效果好看了很多。使用起来也很简单。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/conta...
2016-01-13 15:52:21 306
原创 Andorid5.0原生下拉刷新简单使用
这个出来也有些日子了,相对于上一个19.1.0版本中的横条效果好看了很多。使用起来也很简单。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container
2016-01-13 13:44:43 2196
原创 浅析Android View(二)
深入理解Android View(一) View的位置参数信息 二、View的绘制过程 View的绘制过程一共分为三个部分: - measure(测量View的大小) - layout(确定View的位置) - draw(画出View) 通常我们的View都是以这样的树结构呈现的,如下图 当然我们这里ViewGroup其实上面其实是放在DecorView中的
2016-01-12 09:53:30 3032
原创 深入理解Android View(二)
深入理解Android View(一) View的位置参数信息 二、View的绘制过程 View的绘制过程一共分为三个部分: - measure(测量View的大小) - layout(确定View的位置) - draw(画出View) 通常我们的View都是以这样的树结构呈现的,如下图 当然我们这里ViewGroup其实上面其实是放在DecorView中...
2016-01-12 09:52:50 100
原创 [干货]Android编程开发规范
在简书里面看到的干货,分享给大家 原文地址 http://www.jianshu.com/p/9b8aeca9b281 约定Activity.onCreate(),Fragment.onActivityCreated(),作为程序入口,不用写入太多代码,尽量保持只调用initXXX()方法,简单明了展示调用过程。如:initData(),initView()。单个方法体不要过长代码任何地方不...
2016-01-08 12:48:29 101
原创 Google的Java编程风格指南(Java编码规范)
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意见。 1.1 术语说明在本文档中,除非另有说明:1、术语class可表示一个普通类,枚举类,接口或是annotation类型(@interface)2、术语comment只用来指代实现的注释(imple...
2016-01-08 12:39:37 291
原创 浅析Android View(一)
Android中的View是Android开发中一个非常重要的知识点,系统提供的基础控件TextView,Button,ListView,ViewGroup等都是基于View。但是很多时候的UI效果,利用系统的提供的基本组件无法满足我们的需求,这时候就需要我们自己自定义组件,然而想要随心所遇的写出满足我们需求的组件,却不是那么容易,但也没大家想象的那么难,只要我们掌握的View的基本原理和相关知识,
2016-01-07 16:37:51 6983 2
原创 Android获取View宽高的几种方式
有时我们会有基于这样的需求,当Activity创建时,需要获取某个View的宽高,然后进行相应的操作,但是我们在onCreate,onStart中获取View的大小,获取到的值都是0,只是由于View的绘制工程还未完成,和在onCreate中弹出Dialog或者PopupWindow会报一个Activity not running原理类似。接下来就为大家介绍几种获取View宽高的方法 一、重写Ac
2016-01-07 10:38:39 4817 3
原创 程序员的最高境界:呆若木鸡
成语“呆若木鸡”来自于《庄子》中的一则小故事。 《庄子·外篇·达生》纪渻子为王养斗鸡。十日而问:“鸡已乎?”曰:“未也,方虚憍而恃气。”十日又问,曰:“未也,犹应向景。”十日又问,曰:“未也,犹疾视而盛气。”十日又问,曰:“几矣。鸡虽有鸣者,已无变矣,望之似木鸡矣,其德全矣,异鸡无敢应者,反走矣。” 按照庄子的说法,斗鸡的成长要经历四个阶段,“呆若木鸡”是最终、最完善的阶段。依本人所见,程...
2016-01-06 14:03:46 240
原创 ListView嵌套GridView解决方案
原文地址有是业务需求需要我们使用ListView嵌套GridView或者ListView嵌套ListView就像下面这样 但是由于由于两个控件会产生滑动冲突,进而导致显示不完整的情况,就行下面这样,会造成数据显示不完整,只显示单排数据的情况,就想下面这样 这是由于在测量绘制的时候造成的,知道原因解决起来就很简单了,第一种解决方案,自定义GridView或者ListView ,重写onMea...
2016-01-06 13:35:56 95
原创 ListView嵌套GridView解决方案
有是业务需求需要我们使用ListView嵌套GridView或者ListView嵌套ListView就像下面这样 但是由于由于两个控件会产生滑动冲突,进而导致显示不完整的情况,就行下面这样,会造成数据显示不完整,只显示单排数据的情况,就想下面这样 这是由于在测量绘制的时候造成的,知道原因解决起来就很简单了,第一种解决方案,自定义GridView或者ListView ,重写onMeasure(
2016-01-06 13:35:05 6243 3
原创 Android面试题整理附答案(二)
什么是Activity? 四大组件之一,一般的,一个用户交互界面对应一个activity setContentView() ,// 要显示的布局 , activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件. button.setOnclickLinstener{}开发常用的的有List...
2016-01-06 12:32:19 296
原创 Java高级特性之反射
老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值一、 什么是反射?二、反射能做什么? 一、 什么是反射? 用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、...
2016-01-06 10:02:24 80
原创 Java高级特性之反射
老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值一、 什么是反射?二、反射能做什么? 一、 什么是反射? 用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或
2016-01-06 09:59:09 5710 3
转载 2015 移动技术白皮书
原文地址2015年,是移动领域新技术取得极大丰收的一年。(一)Android篇这里我不谈Google IO大会的各种新概念新思想,不谈Android 5.0和高逼格的Material Design,那些都是浮云,热闹过后,能沉淀下来用于App应用的干货并不多。我只谈这一年来,我认为Android技术界最激动人心的三件事。最后再聊一聊八卦。首先是插件化技术的百家争鸣。在此之前
2016-01-05 09:14:46 2086 1
原创 Android退出应用最优雅的方式(改进版)
由于应用启动退出之后,会在应用中反复跳转页面,在这个过程中,一部分页面可能会驻留的内存中,导致无法退出应用的情况,今天我们就来讲如何以优雅的方式退出应用
2016-01-04 09:22:28 31473 16
原创 Android常见面试题(附答案)
Android面试题 1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、Arithmeti...
2016-01-02 15:26:14 395
原创 Dialog的高冷用法
新的一年开始了,打开朋友圈、QQ空间、微博,一大波虐狗了,晒图的,炫富的又开始了,今天就带大家做这样一个图文小案例。先看下效果。 列表预览页 图片详情页 业务需求很简单,做一个小图预览,然后点击某个小图,进入大图查看,并且能够左右滑动查看图片。 实现思路也很简单,小图预览页面可以用GridView+ImageView,再为GridView添加onItemClickListener即...
2016-01-02 15:13:47 155
原创 【干货】Dialog的高冷用法
新的一年开始了,打开朋友圈、QQ空间、微博,一大波虐狗了,晒图的,炫富的又开始了,今天就带大家做这样一个图文小案例。先看下效果。 列表预览页 图片详情页 业务需求很简单,做一个小图预览,然后点击某个小图,进入大图查看,并且能够左右滑动查看图片。 实现思路也很简单,小图预览页面可以用GridView+ImageView,再为GridView添加onItemClickListener即可
2016-01-02 15:13:43 6363 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人