自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Android组件化入门:一步步搭建组件化架构

1、前言 最近因为业务需求变更,有考虑采用组件化架构进行开发,这方面我之前没有接触过。关于组件化的文章很多,各方大神更是提出了各种的组件化方案,我也看了很多相关文章。但是学习新东西看的再多,不如动手做一次,先不考虑复杂的东西,先动手做个简单的Demo更有助于理解组件化的思想。组件化相关理论知识这里...

2019-04-30 14:05:10 927 0

原创 Android进阶知识:事件分发与滑动冲突

1、前言 Android学习一段时间,需求做多了必然会遇到滑动冲突问题,比如在一个ScrollView中要嵌套一个地图View,这时候触摸移动地图或者放大缩小地图就会变得不太准确甚至没有反应,这就是遇到了滑动冲突,ScrollView中上下滑动与地图的触摸手势发生冲突。想要解决滑动冲突就不得不提到...

2019-04-24 09:11:30 135 0

原创 Android进阶知识:Handler相关

1、前言 Handler在Android中的地位不必说了,学习安卓开发必然跳不过Handler,讲解Handler的文章也是非常的多,这里我对我所了解的Handler这种Android中多线程间的通信方式的相关知识做一个总结。 2、Handler使用 Handler作为线程间通信的方式,最常使用的...

2019-04-15 17:49:08 97 0

原创 Android进阶知识:ThreadLocal

1、ThreadLocal是什么? ThreadLocal是一个线程内部数据存储类,通过他可以在指定的线程中存储数据。存储后,只能在指定的线程中获取到存储的数据,对其他线程来说无法获取到数据。 2、ThreadLocal的使用场景 日常使用场景不多,当某些数据是以线程为作用域并且不同线程具有不同的...

2019-04-15 17:46:30 60 0

原创 虚拟机对象的访问定位和内存布局

Java程序需要通过栈上的reference数据来操作堆上的具体对象。 由于reference类型在Java虚拟机规范中之规定了一个指向对象的引用,并没有定义这个引用应该通过何种方式去定位访问队中的对象的具体位置,所以对象的访问方式也是由虚拟机实现而定的。 目前主流方式是使用句柄和直接指针两种。 ...

2019-01-14 15:45:38 103 0

原创 AnimatorSet.setStartDelay在Android4.4上运行问题

先上代码: ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(textView1, "translationY", 0, 200, 0); ObjectAnimator objectAnimator2...

2019-01-11 16:16:33 1044 0

原创 自定义蜘蛛网状图

运行效果: 绘制分为三步: 1、绘制蜘蛛网格线 2、绘制格中线 3、绘制数据 获取中心点想x,y坐标和半径: @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { radius = Math....

2019-01-10 15:13:14 1115 0

原创 虚拟机对象的创建

1、对象的创建 流程图: 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有先执行相应的类加载过程。接下来虚拟机为新生对象分配内存。对象所需内存大小在类加载完成后就可以确定,为对象分配的...

2019-01-04 09:27:29 109 0

原创 ANR的产生及日志分析

ANR产生原因: 1、View的按键事件或者触摸事件在特定的时间(5秒)内无法得到响应。 2、BroadcastReceiver的onReceive()方法运行在主线程中,在特定的时间(10秒)内无法完成处理。 3、Service的各个生命周期函数在特定的时间(20秒)内无法完成处理。 定位和分析...

2019-01-03 16:00:59 683 0

原创 Java运行时数据区域

运行时数据区域。 1、程序计数器 是一块较小的内存空间。可看做当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。线程私有。执行Java方...

2019-01-03 15:45:54 73 0

原创 okHttp源码阅读

使用方法 okhttp基本使用方法: // 1、创建OkHttpClient对象 OkHttpClient okHttpClient = new OkHttpClient(); //2、创建Request对象 Request request = new Request.Builder() .u...

2018-08-19 23:28:10 990 0

原创 Volley源码阅读

从Volley的使用步骤来看源码,首先是new一个RequestQueue,来看Volley.java的newRequestQueue方法: 方法重载最终会调用执行这个方法: 在这个方法里首先初始化cacheDir,然后根据API版本是否大于9初始化一个HurlStack对象或...

2018-07-29 23:34:12 101 0

原创 AsyncTask源码阅读

AsyncTask使用 Android中的耗时操作需要放到子线程异步处理,除了使用Thread,Android提供了一个封装好的组件AsyncTask。 使用方法代码如下: public class AsyncTaskActivity extends AppCompatActivit...

2018-07-16 10:38:27 833 0

原创 贝塞尔曲线绘制波浪

效果图: 关于贝塞尔曲线的介绍可以参照文章 https://www.cnblogs.com/wjtaigwh/p/6647114.html 了解完贝塞尔曲线就来完成波浪自定义View 大体思路就是先绘制一条超出屏幕长的二阶贝塞尔曲线,然后再动画循环平移曲线。 package co...

2018-05-27 21:36:28 2017 0

原创 Android Paint Xfermode实现镂空相机扫描界面

先上效果图:demo比较简单,背景颜色是黄色,然后在上面覆盖上自定义View。实际需求是在相机的View上盖上一层遮罩,遮罩中心镂空一个透明显示的圆形部分。这个需求一般的布局比较难以实现,如果要ui给一张素材图片又存在不同分辨率手机对图片的拉伸问题,中间的圆会变形,适配不好。所以想要用一个自定义V...

2018-05-27 21:17:34 1121 0

原创 Cannot merge new index 66195 into a non-jumbo instruction!问题解决

问题现象: 问题原因: Android系统中,一个Dex文件中存储方法id用的是short类型数据,所以导致你的dex中方法不能超过65536 解决方法:Google 官方给出的解决方案是使用 Multidex 。 解决步骤: 1、修改 build.gradle 文件 defaul...

2018-04-08 15:29:32 88 0

原创 Android Notification 通知

这是Android 通知相关的内容的总结 android中通知用到的地方很多,经常有的例如推送消息,下载时的提示等。 Android 3.0 (API level 11)之前: 使用new Notification()方式创建通知: NotificationManager mNot...

2018-04-01 16:41:50 343 0

原创 仿微信图片选择器

1、概述 图片选择器也是在APP开发中常见的一个功能,检索手机本地的所有图片以GridView的形式显示在界面上,看起来一个简单的功能,但是要想要尽量避免内存溢出,还想要UI操作尽可能的流畅图片加载尽可能的快速,也不是简单的一个setImageBitmap就可以的。 2、运行效果效果...

2017-06-19 23:48:14 374 2

原创 Java中的信号量Semaphore

1、信号量概念 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个...

2017-06-07 23:53:16 273 0

原创 使用CrashHandler获取crash信息

1、背景和问题在项目开发时,程序crash是再常见不过的情况。crash发生时系统会杀掉正在执行的程序,显示为闪退或者是提示用户程序已经停止运行。而且,用户使用过程中发生的crash,我们开发者 是无法得知原因的,无法知道crash的原因,也就无法解决这个问题。2、解决方法在Android中提供了...

2017-02-08 22:46:19 984 0

转载 Android Volley框架的几种post提交请求方式

From:  http://www.open-open.com/lib/view/open1407727047207.html 先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量...

2016-07-25 21:45:29 441 0

原创 第二章 物理层(笔记)

1、物理层的基本概念物理层解决如何在连接各种计算机的传输媒体上传输数据比特流而不是指具体的传输媒体。 物理层的主要任务描述为:确定与传输媒体的接口的一些特性,即:2、数据通讯的基础知识相关术语: 对基带信号几种调制的方法: 3、物理层下面的传输媒体: ...

2016-07-25 13:40:38 211 0

原创 第一章 计算机网络概述(笔记)

1、计算机网络在信息时代的作用三网: 电信网络(电话) 有线电视网 计算机网络: 因特网 其他网络(军网、政府专用网) 2、计算机网络的重要功能 连通性:彼此连通,交换信息 共享:信息共享,软硬件共享 3、因特网概述网络:许多计算机连在一起 互联网...

2016-07-22 10:04:11 301 0

原创 自定义View——简单的圆点进度条

说是进度条,更像是刻度条,先看效果。   再下来是代码:import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.Attri...

2016-07-06 11:52:26 1395 2

原创 ScrollView嵌套ListView冲突高度显示不全问题

实习中遇到了ScrollView里放置一个ListView的情况,照常书写代码测试的时候出现这种情况:   就是只显示一个item的高度。上网搜索了之后才知道是ScrollView嵌套ListView会无法正确计算高度,导致只显示一个item的高度。   网上解决的思路也有很多,一种是不要...

2016-06-24 13:26:25 5645 0

转载 Android学习笔记之AndroidManifest.xml文件解析

原文地址:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html 一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了pa...

2016-06-14 12:29:13 466 0

转载 Java中的IO流系统详解

摘要:   Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。   Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 jav...

2016-06-03 11:22:10 316 0

原创 Log日志工具类

import android.util.Log;/** * Created by SY on 2016/6/2. */ public class LogUtils { public static boolean isDebug = true; private static fin...

2016-06-02 14:51:24 180 0

原创 ListView局部更新

好几天没有写博了,前几天一直在忙毕业答辩,之后还回家了一趟,一直没有写。   今天实习时候,使用listview的adapter.notifyDataSetChanged(),方法刷新数据时候发现会发生界面闪烁的问题。后来知道了可以在adapter写一个updateView方法来实现一个item...

2016-06-01 18:12:55 574 0

转载 安卓重要的生命周期图和流程图

原文地址:http://blog.csdn.net/RoseChan/article/details/51486513 1、Activity生命周期 2、Fragment生命周期 3、Service生命周期 4、View的...

2016-05-24 10:04:25 1779 0

转载 你需要知道的Android拍照适配方案

原文地址:http://www.jianshu.com/p/f269bcda335f 前言 近段时间,家里陪自己度过大学四年的电脑坏了,挑选好的新电脑配件终于在本周全部到货,自己动手完成组装。从AMD到i7的CPU,6G内存到14G内存,打开 Android Studio 的速度终...

2016-05-23 16:50:53 433 0

原创 AndroidStudio插件GsonFormat

1、下载安装GsonFormat插件 在Android Studio 的setting里点击plugins,选择browse repositories…如下图 搜索GsonFormat,点击安装 重启Android Studio 2、使用GsonFormat 点击cod...

2016-05-19 17:06:06 332 0

原创 自定义圆形头像CircleImageView

圆形头像很常用功能,于是想自己写个自定义的圆形的view。搜索了一下,android中可以通过BitmapShader实现这个效果。  BitmapShader是Shader的子类,可以通过Paint.setShader(Shader shader)进行设置、  这里我们只关注BitmapShad...

2016-05-16 15:24:51 354 0

原创 ViewPager+Fragment实现页卡切换

现在很多的APP都是这种ui设计模式,在实际开发中经常使用,所以以前我也写过类似的,但基本都是拿来主义,现在正好又遇到了,也不是很复杂,所以就试着自己写一个。   首先是Activity的布局代码:   <?xml version="1.0" encoding=&qu...

2016-05-13 18:12:23 1793 0

原创 自定义动画Animation

创建自定义动画非常简单,只要实现他的applyTransformation的逻辑就可以了,不过通常情况下还要覆盖父类的initialize方法来实现一些初始化工作。 模拟电视机关闭效果动画import android.graphics.Camera; import android.graphic...

2016-05-12 15:32:32 250 0

转载 各种Android Dialog创建及其监听事件实现

本文转载自:http://blog.csdn.net/andie_guo/article/details/14145135   在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。关于Android Dialog的使用方法,已经有很多blog做...

2016-05-11 16:12:51 418 0

原创 调用相机拍照或者从图库里选择图片裁剪后设置到界面

拍照或者从相册中挑选图片设置头像是很常见的功能。同样是网上搜索了资料,知道了可以调用系统的功能实现,然后就试着开始写了。先是布局文件,就是一个ImageView和一个TextView。<?xml version="1.0" encoding="utf-8&quo...

2016-05-11 15:44:22 2537 0

原创 自定义dialog

实习中遇到的需要自定义没有title的dialog,这里图片是我自己乱搞的,大概查了一下百度就开始写了。先是dialog的布局。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm...

2016-05-10 14:10:59 691 0

原创 Android 文件读写工具类

自己写的工具类,写的不好,慢慢修改。package com.sy.utils;import android.content.Context; import android.os.Environment; import android.os.StatFs; import android.util.L...

2016-05-09 14:11:35 1131 0

转载 Android 系统Action大全

常用Action说明:String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。 “android.intent.action.ADD_SHORTCUT” String ALL_APPS_ACTION 动作:列举所有可用的应用。 输入:无。 “android.i...

2016-05-05 17:42:24 274 0

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