自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (3)
  • 收藏
  • 关注

原创 java.util.ConcurrentModificationException异常处理

对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常Caused by: java.util.ConcurrentModificationExceptioneg:ArrayList mWidgets = new ArrayList; mWidgets.add(

2018-01-16 09:42:43 996

原创 adb之am、pm命令

PM命令 pm即package manager,使用pm命令可以去模拟android行为或者查询设备上的应用信息等1、命令格式:pm 2、命令列表: 命令 功能 实现方法 dump dump信息 AM.dumpPackageStateStatic clear 清空App数据 AMS.clearApplicationUserData uninstall

2017-12-01 09:40:58 7186

原创 Android通讯录、通话记录、短信、应用等模糊查询方法

最近要开发一个功能,能够查询手机内部的通讯录、通话记录、短信、应用、资源管理等内容,所以将一下方法作下记录。其中通讯录、通话记录和短信都是支持输入号码或者名字或者内容就能模糊匹配的。

2017-12-01 09:23:51 3231 1

原创 给你的app添加桌面widget

一般长按桌面会弹出一个界面让你选择控件,选择完了拖到桌面就能使用了。那如何为自己的app添加这么一个widget呢?前一篇博客写了个recyclerview的demo——RecyclerView科普–如何实现腾讯首页功能,下面我们为这个app来添加一个widget,先看一下效果吧。

2017-04-24 14:20:42 3909

原创 RecyclerView科普--如何实现腾讯首页功能

RecyclerView 是Android L版本中新添加的一个用来取代ListView和GridView的控件,它的灵活性与可替代性比listview更好。android系统源码里面也已经开始使用了,比如Launcher界面,比如Message界面等。接下来通过下面的文章讲解如何使用RecyclerView,为啥可以抛弃ListView和GridView,后面,还会分析下腾讯首页是如何实现的。一

2017-04-18 16:31:40 1869

原创 android7.x Launcher3源码解析(3)---workspace和allapps加载流程

Launcher系列目录: 一、android7.x Launcher3源码解析(1)—启动流程 二、android7.x Launcher3源码解析(2)—框架结构 三、android7.x Launcher3源码解析(3)—workspace和allapps加载流程

2017-04-12 11:05:21 5210 1

原创 android7.x Launcher3源码解析(2)---框架结构

一、android7.x Launcher3源码解析(1)—启动流程 二、android7.x Launcher3源码解析(2)—框架结构上一篇粗略的讲了下Launcher的启动流程,主要是讲了如何启动到Launcher的,Launcher启动后的那些流程,打算讲完这篇博客后再讲。

2017-04-10 15:26:23 5423 3

原创 android7.x Launcher3源码解析(1)---启动流程

Launcher是安卓系统中的桌面启动器,安卓系统的桌面UI统称为Launcher。Launcher是安卓系统中的主要程序组件之一,安卓系统中如果没有Launcher就无法启动安卓桌面,Launcher出错的时候,安卓系统会出现“进程 com.android.launcher 意外停止”的提示窗口。这时需要重新启动Launcher。 —— 百度百科

2017-04-07 16:10:36 7544 1

原创 android7.x SystemUI源码分析(1)

简介 SystemUI属于android系统级的apk,位置在frameworks\base\packages\SystemUI,主要功能有: 1)状态栏信息显示,比如电池,wifi信号,3G/4G等icon显示 2)通知面板,比如系统消息,第三方应用消息,都是在通知面板显示。 3)近期任务栏显示面板,比如长按主页或近期任务快捷键,可以显示近期使用的应用。 4)提供截图服

2017-04-06 13:57:14 3929

原创 Android统计流量方法

Android对流量的统计通过一个TrafficStats类可以直接获取,而且可以区分是手机流量还是总的流量,但是这些获取的流量都是从一次开机到读取时刻的统计量

2017-01-17 15:06:37 2922

原创 Retrofit如何解析xml

在一般开发当中,用的最多的要属json解析了,retrofit自带的json解析是GsonConverterFactory;当然,有些公司也会使用xml解析,retrofit中xml解析使用的是SimpleXmlConverterFactory;当然,有些奇葩点的公司就一会用json一会用xml。废话不多说,直接上步骤。1、依赖库compile ('com.squareup.retrofit2:co

2016-12-12 15:39:15 6867 2

原创 Android命名规范

一个项目是团队合作开发的,规范的命名有助于团队开发者们的阅读和修改,统一规范,有效提高开发效率。另外,审核一个程序员的编程水平的时候,命名规范也是一大标准,所以,下面我就总结下我从网上别人的经验和自己的感悟中收集总结的android命名规范。

2016-11-22 14:09:47 762

原创 Retrofit打印请求地址和返回内容

用过retrofit的同学,肯定会很爽,因为用起来实在是方便。但是我之前在使用retrofit的时候,发现没法打印出网络请求日志,包括请求urll、返回内容等。要实现打印日志,就要用到HttpLoggingInterceptor这个类。

2016-11-17 15:39:09 15352 7

原创 Manifest merger failed with multiple errors, see logs问题处理

在android开发的时候,有时候会遇到这样的问题Error:Execution failed for task ':test:processDebugManifest'.> Manifest merger failed with multiple errors, see logs但是要命的是,除了这个log,没有什么其他的有用信息了,怎么办?处理方式是这样的: 首先进入命令行,输入命令grad

2016-11-08 18:24:28 46638 11

原创 getDrawable,getColor 过时的替代方法

相信很多朋友在开发的时候,会遇到getDrawable,getColor 过时的问题,如下图处理方法: 可以使用新加入的方法ContextCompat这篇博客很简单,简单记录。

2016-10-12 10:54:29 938

原创 apk字体大小跟着系统字体大小变化的问题处理

原来从android4.0开始,android系统就提供了修改字体的大小功能(看来我知道的太晚了。。。),如果代码里面不做修改的话,一修改大小界面就会变的面目全非了。。。

2016-10-11 17:22:51 1171

原创 《HTML+CSS基础课程》之HTML

第1章 Html介绍1.1 Html和CSS的关系 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。 JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背

2016-10-09 11:36:58 1422

原创 关于华为手机Log.d打印不出来log的问题

今天在处理一个bug,但是,明明打了log,却没有显示出来,后来我打断点,那个地方又走到了,毕了狗。。。同事告诉我,说华为的手机,Log.d打印不出来。。。查了下资料,解决方法如下: 1、进入拨号界面输入:*#*#2846579#*#* 2、点击后台设置 3、点击LOG设置 4、点击第一项AP日志这样

2016-09-09 17:54:10 5848 2

原创 Picasso源码分析

对于android的图片加载库,之前用过UIL、volley、Picasso、Glide、Fresco,都是很好的图片加载库,之前对于Picasso这个库研究的比较多一点,网络上对于Picasso的源码分析也很多,但是还是觉得自己从头开始跟一下源码,自己才会真正有收获,所以就有了这篇博客。另外,关于Picasso的使用介绍,本篇先不做介绍,稍后会专门写一篇使用详情的博客。

2016-08-18 15:28:52 1448

原创 Android Studio插件ADB WIFI(让调试飞起)

之前开发android的时候,都是用的数据线,开发了一段时间,会发现android的数据线的接口经常容易坏,有时候为了抓个偶现的bug,费很大劲,复现了,一查log,发现log没出,接口又坏了。。。。崩溃,后来也尝试用过一些三方的无效调试,今天发现Android studio居然有这个插件。

2016-07-23 10:43:47 10621 2

原创 Android网络加载通用LoadingView

我们在进行网络加载的时候,有时候需要一个能覆盖界面的loading界面,比如第一次进应用,加载数据的时候,需要这么个loading页面,体验比较友好,再比如第一次进来,数据加载失败了,或者无网络了,需要有个友好的提示,空空荡荡的效果不好,有时候点击无网络图片可以重新刷新,所以写了个通用的LoadingView。github地址:https://github.com/AdleyLong/LoadView

2016-07-20 17:31:14 8814

转载 从Android代码中来记忆23种设计模式

原文链接:http://www.jianshu.com/p/1a9f571ad7c0相信大家都曾经下定决心把23种设计模式牢记于心,每次看完之后过一段时间又忘记了~,又得回去看,脑子里唯一依稀记得的是少数设计模式的大致的定义。其实,网上很多文章讲得都非常好,我也曾经去看过各种文章。也曾一直苦恼这些难以永久记下的设计模式,直到我接触到了《Android源码设计模式解析与实战》——

2016-06-30 14:47:43 1091

原创 EditText常用方法

本文主要讲述EditText的几种常用方法。

2016-06-17 10:53:24 2422

原创 android自定义dialog

开发中经常会用到dialog,各种各样的,觉得还是写个通用的自定义dialog,以后直接套用,在这里贴上代码,为了方便以后查阅。

2016-06-17 10:20:51 1011

原创 RecyclerView的插入和删除

原来我们用listview的时候,插入数据了以后直接通过adapter的notifydatasetchanged就OK了。然后recycleview比listview更好的地方,就是它更灵活,控制性更强,我们想怎么摆弄就怎么摆弄。

2016-06-16 14:25:11 26533 5

原创 android软键盘的监听和手动弹起

在android开发中,经常会用到软键盘,这里先纪录下2种用法。1、代码手动让其弹起2、监听软键盘

2016-06-15 10:51:23 1339

转载 Flux--Hello World

这是一个极简的HelloWorld应用,主要用来展示如何在Android平台架构Flux应用。并提供一些基础代码,方便开发者直接Copy这些代码到自己的工程中,省掉重新造轮子的过程。代码地址在Flux-HelloWorld,接下来会一步步的解释这个应用是如何构建的。Demo程序是用AndroidStudio开发的,假设你已经了解Android和AndroidStudioIDE,如果你已经很

2016-05-22 17:10:31 636

转载 AndroidFlux一览

AndroidFlux是Facebook的Flux 架构的Android实现。Flux是Facebook在14年提出的一种Web前端架构,主要用来处理复杂的UI逻辑的一致性问题(当时是为了解决Web页面的消息通知问题)。经过实践之后发现,这种架构可以很好的应用于Android平台,相对于其他的MVC/MVP/MVVM等模式,拥有良好的文档和更具体的设计,比较适合于快速开发实现。Flux模式

2016-05-22 17:07:53 716

原创 Android GreenDao浅析

GreenDAO简介 GreenDao是一个为了帮助Android开发者操作SqLite数据库的开源项目。SQLite数据库是一个轻量级的关系型数据库。但是,对SQLite数据库操作需要大量的额外工作,例如,写SQL语句和解析查询出来的结果是一个很繁琐的任务。GreenDao将可以为你解决这一切工作:它可以把Java对象转换成数据库表(也就是所谓大家熟悉的ORM,做过Java的同学应该知道Hib

2016-05-22 14:46:42 2698

转载 Android开发中,那些让你相见恨晚的方法、类或接口

PS:本文类容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?这一问题的回答,目前就总结这些,日后若有新的发现,随时补充。欢淫点赞。getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。ArgbEvaluator.evaluate(flo

2016-05-09 11:19:19 618

原创 android动画xml参数解析

本博客主要讲述的是3.0属性动画之前的动画xml参数1 alpha 渐变透明度动画效果xml version="1.0" encoding="utf-8"?>set xmlns:android="http://schemas.android.com/apk/res/android" > alpha android:duration="1

2016-05-03 14:12:32 2846

转载 Butter Knife高级用法

英文原文:http://engineering.letsnurture.com/android-get-butter-knife/许多开发者都使用Butter Knife的@Bind来绑定view或者@OnClick来定义click listeners,但是本文将分享Butter Knife 提供的更多功能。Butter KnifeButter Knife是Ja

2016-05-03 08:58:31 1004

原创 Android模拟器2.0初探

我相信每一个安卓开发者都会同意 2015年安卓开发者大会上宣布的最大事情就是 Android Studio 2.0和安卓模拟器2.0,其中安卓模拟器2.0宣称运行和部署应用的速度比第一个版本快得超乎寻常。几个小时前,安卓开发者团队刚刚把这个最新的模拟器公之于众。让我们向你展示一下这个安卓模拟器上至今为止最大的更新,你一定不希望错过。安装让我们从安装开始,这样你就可以

2016-04-29 16:08:43 5900

转载 最全面的 Android 编码规范指南

摘要:最全面的 Android 编码规范指南,本文参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。1. 前言这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。该文档仅供参考,只要形成一个统一的风格,见量知其意就可。1.1 术语说明在本文档中,除非另有

2016-04-26 15:07:13 1044

转载 谈谈java中的WeakReference

java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类class A class B,在JVM上生成他们两个类的实例分别为 instance a  instance

2016-04-10 14:22:16 540

原创 FragmentTransaction的commit的异步操作

FragmentTransaction是异步的,commit()仅是相当于把操作加入到FragmentManager的队列,然后FragmentManager会在某一个时刻来执行,并不是立即执行。所以,真正开始执行commit()时,如果Activity的生命周期发生了变化,比如走到了onPause,或者走到了onStop,或者onDestroy都走完了,那么就会报出IllegalStateExce

2016-03-27 21:46:16 6778

原创 Picasso下载图片到指定路径的实现

最近做项目,要下载图片到本地(不是指缓存),之前用过HttpURLConnection和HttpCLient,但是感觉太繁琐,而且6.0之后到Apache包也不支持了,后来我想到了Picasso的缓存,Picasso缓存图片,那肯定是下载到本地实现了,我们只要更改下本地路径,就能轻松实现了。废话不多说,直接上代码了。private void download() { //获得图片的地

2016-03-23 22:22:09 11813 10

原创 MAC下安装android studio问题汇总(持续更新)

最新笔记本换成了MAC,想在MAC下继续android的开发,必须安装androidStudio啊!下面罗列一下我安装的步骤以及遇到的问题。1、java环境配置最新jdk地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 通过java -version查看系统的jdk版本 2、Android Studio

2016-03-01 17:14:09 4986

转载 Unknown host 'downloads.gradle.org'问题修改

使用android studio的gradle新建项目时候出现Error:Unknown host 'downloads.gradle.org'.Enable Gradle 'offline mode' and sync project      Learn about configuring HTTP proxies in Gradle或者出现Erro

2016-02-29 15:02:26 8222

原创 RecyclerView的不同position加载不同View实现

**1.重写RecyclerView.Adapter的getItemViewType(int position),在此方法中根据不同的position,设置不同的ViewType****2.编写具体的RecyclerView.ViewHolder子类(不同子类对应不同View或Layout)****3.重写RecyclerView.Adapter的onCreateViewHolder(ViewGroup pare

2016-02-19 14:36:22 13379 1

DialogDemo

自定义dialog,修改xml可以通用

2016-06-17

头像截取代码

android用户上传自定义截取头像代码

2015-12-01

org.apache.http.legacy.jar

Android 6.0的sdk包的更新,找不到org.apache.http而报错,加入这个jar包就行了

2015-11-20

空空如也

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

TA关注的人

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