自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (1)
  • 收藏
  • 关注

转载 【必须学好】字典、哈希与Map

http://blog.csdn.net/cownew/article/details/6478993HashMap、Map等是很多公司面试、笔试的时候常考的题目,也是实际开发中经常用到的数据结构,必须好好掌握。因此我从《J2EE开发全程实录》中摘取了下面的片段,希望对同学们有帮助。学习时请对照着《数据结构》这门课中“散列”相关的章节复习。在实际问题中,按照给定的值

2016-06-15 14:36:46 4895

原创 java 安全了解

基本的安全知识概念:基本的安全知识概念:提到java安全,有一个重要的体系叫JCA,java cryptography architecture (java的加密技术架构),包括加密,摘要,签名等等。还有一种叫JSSE,java secure socket extension ,(java的安全的socket扩展技术) .下面是基本概念的说明。JCA部分:

2015-09-23 19:19:16 1274

原创 分析Glide生命周期注入原理

用过Glide 图片加载框架的都知道,当一个页面销毁 或者 不可见(onStop)后 ,这个页面所要加载的图片会做一些处理,这个过程是框架完成的 ,不需要开发者来操作。这个是怎么实现的呢?其实很简单,就是把Activity的生命周期 同步给 网络加载组件。比如 当Activity的onStop 方法回调时,最终会调用到网络组件的onStop方法,这样就可以实现。 如何将acti

2018-01-29 18:34:46 442

原创 热修复(java层dex分包方式实现)

修复原理:首先要了解 android 加载classes.dex文件的流程或原理。       1、android 如何加载classes.dex文件的?       // 用来加载apk 的dex文件:PathClassLoader        public Class findClass(String name, List suppressed) {     

2018-01-19 16:36:01 571

原创 创建者模式(变形)

来介绍  创建者模式 的一个变种。分为三个角色,两个类。这种创建者模式 分为  创建者 Builder 角色   要创建的产品 Product .角色 产品属性封装 角色(内部类)总体思想: 一、将产品 和 其 属性 分离开。分别定义在不同的类中。二、构建者持有产品  及 属性封装 角色,并完成 对产品的 属性的最终 赋值 。先定义产品 :

2018-01-11 16:37:36 283

原创 动态代理 模式 理解

提到动态代理模式,首先要有两个三个基本的元素:代理对象,被代理对象 ,代理对象和被代理对象  共同的接口。java 反射包中提供了Proxy.newProxyInstance 来创建代理对象。下面做一个练习,代理一个对象的方法。首先定义代理对象和被代理对象  共同的接口package com.nzh.proxy;public interface IActivityManag

2018-01-09 12:51:23 261

原创 IPC理解2

根据gityuan大神总结再次理解IPC通信流程。http://gityuan.com/2016/09/04/binder-start-service/那么就从启动一个远程服务来分析整个IPC流程,最为应用开发者,底层的很多通信细节我不了解,但是整个流程上特别是底层和framework层的衔接上要有个清晰的人是。  下面就根据gityuan的总结 我再次总结加深一下。

2018-01-08 16:05:19 287

原创 hook AMS

通过了解activity启动流程,我们知道当调用startActivity后,会通过ipc和ActivityManagerService服务进行通信,然后做任务栈管理,包的解析等等工作,最终调用ActivityThread中的scheduleLaunchActivity方法来启动新的activity。 了解这一基本知识后,我来练习一个小demo: 拦截ActivityManagerSe

2018-01-04 17:07:39 488

原创 ipc 理解

一、IPC 描述ipc 就是跨进程通信。不同进程间为了安全 不能直接互相访问数据。需要通过IPC技术来实现,这里借用底层binder驱动来实现。android  frameword 层哪些地方需要Binder 机制 呢?四大组件的创建,运行, 交互,生命周期的管理, 都是通过IPC 来进行的。使用系统服务也是IPC通信的过程。图片二、aidl 描述

2018-01-02 18:56:00 625

原创 自定义贝塞尔曲线运动

先看下效果:实现思路:1:第一步绘制,利用Path 类 画出一条二阶贝塞尔曲线。2:第二步记录曲线运动坐标点。模拟Path类 封装一个类MyPath,负责记录贝塞尔曲线各个控制点。        3:将 绘制的曲线的坐标点 和 运动的坐标点 设为一致,自定义一个二阶 贝塞尔曲线估值器,               并利用属性动画结合MyPath 工具类记录的坐标点,来控

2017-11-30 18:15:26 457

原创 自定义一个TagLayout

自定义一个标签自动排版显示的布局。效果:  思路  一、:确定布局的宽,高。             宽度确定:所有行中,宽度最宽的行即为这个布局的宽。             高度确定 :所有行的高度加起来  即 为这个布局的高度。            二、摆放子View思路                     如果能够确定每一个Child的

2017-11-30 12:00:40 287

原创 2017全国省市区县 json数据

[{"name":"北京市","city":[{"name":"北京市","area":["东城区","西城区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","怀柔区","平谷区","密云区","延庆区"]}]},{"name":"天津市","city":[{"name":"天津市

2017-11-07 11:24:11 5898 1

原创 RecycleView 浮动条简单实现

工作中遇到一个需求,列表滚动时要把其中一个item 悬浮在手机屏幕顶部。搞android 好几年了,我对自定义view一般都是改别人的。主要还是看需求,如果效果简单,组合几个view就可以达到效果,自己就顺手写了,如果自我感觉复杂一下,肯定baidu 改别人的。 先看看这个简单的效果:实现方式:1:根据需求定位需要悬浮的item, 我这里是第二个条目。

2017-09-12 16:09:17 793

原创 PopWindow 遇到的坑

在工作遇到使用popwindow ,本以为挺简单的,写完就交给测试了,没想到在4.4oppo手机上出现 各种问题,问题1:popwindow  被状态栏 遮盖住了一部分        问题2:点击 Popwindow 外部区域 没有消失掉,我代码里可是加了设置的。        问题3:弹出popwindow后 屏幕背景应该变暗,没有变暗。       问题4:没有弹出动画效果

2017-07-13 11:45:51 443

原创 使用开源的card.io 扫描识别银行卡

最近遇到一个需要调研的需求:识别银行卡信息具体要求如下:如果识别出了银行卡信息,那么就把银行卡信息和银行卡图片 发送到后台  如果  识别不了 最好把银行卡图片 截取下拉,送给后台,让后台去识别。yige          在github上看到一个card.io的项目,于是down下来 看了一下,识别效果:目前只识别出了 带突起银行卡号的 卡,具体还要看银行

2017-06-23 12:01:23 4812 1

转载 Scroller 及滑动机制 详解

转自:http://blog.csdn.net/briblue/article/details/73441698#t6一直以来,Android 开发中绕不过去的话题就是自定义 View,曾几何时,考验一个开发者能不能熟悉自定义 View 的基础流程作为分辨菜鸟和中级开发者的一个技术标准。但是自定义 View 本身而言,应对各种具体的需求,难度又不一样,这是因为牵扯到了各种各

2017-06-22 17:01:12 866

转载 java的位操作运算符

来自: http://blog.csdn.net/briblue/article/details/70296326Java 位操作这是一项很基础很基础的知识内容,在所有 Android 和 Java 开发者的学习之路上,大家都接触过,但是实际运用的场景却很少见,很多人估计都忘记有这个知识点了。事实上,在 C/C++ 开发领域因为与硬件的联系更紧密,所以位操作运算应用的更普遍

2017-06-22 16:35:37 427

原创 diolog 显示时 activity已经销毁判断

if (activity == null || activity.isDestroyed() || activity.isFinishing()) { DebugUtil.e(tag, msg); return;}

2017-06-22 10:52:04 2924

转载 Android 内存泄露实践分析

出自:http://wetest.qq.com/lab/view/161.html?from=adsout_qqtips_past2&sessionUserType=BFT.PARAMS.199167.TASKID&ADUIN=314148501&ADSESSION=1474160684&ADTAG=CLIENT.QQ.5455_.0&ADPUBNO=26550定义​内存泄漏也

2016-09-18 17:30:07 4943

原创 自定义圆周运动动画理解

工作中遇到一个动画需求,于是从网上找了个例子,修改加注释理解了一下。理解步骤如下:1:继承Animation,复写 applyTransformation()方法2:在applyTransformation 中实现自己的动画算法,这个方法有两个参数 p1: float 动画变化速率  p2: 动画应用       对象3:在这个圆周运动动画中,首先确定圆周运动范围 0-360°

2016-08-23 17:12:11 1663

转载 简单粗暴!Android Activity泄漏问题解决方案

http://wetest.qq.com/lab/view/63.html测试跟你说你的XXActivity泄露了,你如何确认是否真的泄漏?确认泄漏后,你又如何定位是哪里的问题导致内存泄漏?Android日常开发中,内存泄漏的重灾区就是Activity,相信这两个是每个Android开发者都碰到过的问题,遇到这种问题,我们一般都会祭出我们的杀手锏:Dump Java H

2016-07-29 12:13:35 1004

转载 基于Android Studio的内存泄漏检测与解决

http://wetest.qq.com/lab/view/99.html自从Google在2013年发布了Android Studio后,Android Studio凭借着自己良好的内存优化,酷炫的UI主题,强大的自动补全提示以及Gradle的编译支持正逐步取代Eclipse,成为主流的Android开发IDE。Android Studio在为我们

2016-07-29 11:41:10 317

原创 git 管理项目

用Git 有一段时间了,但是没去细研究,只会基本的操作。这里记录一下我当前的项目是怎么用Git来管理的。 一: 首先是git分支管理,当前我们开发分为三个分支dev: 当前用与开发的最新分支,这个分支上的代码是最新的。                                (名字就叫dev)mybranch: 当前用于开发的自己的分支,这个分

2016-07-08 17:59:29 432

原创 常用效果(六) : 格式化json 日志

从网上摘抄的,很方便。package com.hanya.financing.global.utils;import android.util.Log;import com.hanya.financing.global.WalrusApplication;public class DebugUtil { public static boolean DEBUG

2016-07-08 17:26:55 909

转载 缓存

引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以取得快一些。”这就是 programmer

2016-07-06 17:44:50 248

转载 Android开发中一些被冷落但却很有用的类和方法

来自:http://luckyandyzhang.github.io/很不想转,但又怕用到某个知识点时 想不起来,在此 转载标记。  MediaMetadataRetriever顾名思义,就是用来获取媒体文件一些相关信息的类。包括一首歌的标题,作者,专辑封面和名称,时长,比特率等等。如果是视频的话,可以获取视频的长宽,预览图。http://devel

2016-07-06 16:40:26 4180

原创 奇怪的异常 Process 'command '---.exe'' finished with non-zero exit value 2

工作中遇到一个奇怪的异常,网上解决办法大部分说是 有重复的jar 。去除重复就可以了。折腾了半天不行。 还有可能是方法数目过多。Error:Execution failed for task ':app:transformClassesWithDexForGuanfangDebug'.> com.android.build.api.transform.TransformException:

2016-06-29 11:17:46 578

原创 模仿 (微信)消息通知效果

public void showNotification() { // 获取Service final WindowManager mWindowManager = (WindowManager) getApplication().getSystemService(Context.WINDOW_SERVICE); LayoutInflater layoutInflater

2016-06-15 15:19:17 2583 2

原创 常用控件(七) : Fragment 的简单使用

Fragment 简单使用 在activity 的布局文件中添加fragment <FrameLayout android:id="@+id/fl_main_content" android:layout_width="match_parent" android:layout_height="0dp" android:la

2016-03-30 10:20:00 462

原创 使用MAT 检测内存泄漏

要分析内存泄漏,首先要了解内存使用情况,这就需要专门的工具来协助。首先要产生内存使用情况的文件(.hprof),其次用工具(MAT)来分析即可。 android studio 和eclipse都可以 产生 app内存使用情况的文件。android studio没找到视图在哪儿,这里用eclipse来生成。 步骤:1:首先确保手机获得了root权限  或者准备好一个较好的

2016-03-24 17:25:01 479

转载 事件拦截和分发demo

实现效果:页面上竖直摆放3个listview,滑动左边和右边的listview正常滑动,滑动 中间listview 时 滑动整个屏幕。这个效果实现 需要自定义一个layout,然后对事件做处理即可。布局引用:<com.example.pinterestlistview.MyLinearLayout xmlns:android="http://schemas.android.com/

2016-03-22 17:34:03 366

原创 Activithy切换动画

很简单,在Manifest清单文件中 给application添加一个样式即可:theme= "@style/AppTheme" <application android:name=".global.WalrusApplication" android:allowBackup="true" android:icon="@drawable/ic_l

2016-03-03 11:12:06 330

原创 杂记录

一:一个网络请求包含什么信息呢?MyAndroidClient{url     请求地址 String handler 请求处理器  HandlerContext 请求标记    Activityparam   请求协议数据  自定义{ID //协议idrequestdata //请求数据responsedata //响应数据packData();

2016-03-01 18:14:14 472

原创 对话框样式的Activity 和 重复点击view

样式: @color/transparent true true @android:style/Animation.Dialog @android:style/Animation.Dialog @android:style/Animation.Dialog 引用:

2016-02-27 14:11:15 387

原创 简单缓存类

根据开源小项目 smartimageview 修改。 基本上照抄了过来。可以缓存json。分为内存缓存 和 硬盘缓存 。package com.hanya.financing.global.utils;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;imp

2016-01-28 17:24:09 445

原创 常用dialog(四) : 通用对话框 和 样式

使用方式:一个按钮 new MYAlertDialog(this, MYAlertDialog.TYPE_BUTTON_ONE, "提示", entity.getMessage(), "确定", "确定").show();二个按钮 new MYAlertDialog(this, MYAlertDialog.TYPE_BUTTON_TWO, title, content, leftbtn

2016-01-28 17:09:24 566

原创 常用控件(二.2) : RecycleView 的使用

1结合SwipeRefreshLayout 实现下拉刷新。2实现上拉刷新3更新列表中的数据4设置条目点击事件首先看RecycleView的布局文件配置:<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:o

2015-12-30 21:29:40 3186

原创 调用系统相机拍照时图片模糊

近期调一个bug,采用系统的相机拍照后图片变得模糊,经技术领导指点了一下,便找到了原因。当拍完照片后有两种方式 来获取图片 ,一 : 在 onActivityResult (....Intent intent)  中通过intent 来获取,这种方式系统会默认 把图片压缩,很不巧的是 项目的代码就是通过这种方式来          取得图片的。           protecte

2015-12-25 19:08:42 588

原创 常用控件(三) : 图片轮播控件

一:slider代替以前的viewpager的图片轮播http://uisource.com/project/android-image-slider/二:Picasso 图片加载Picasso.with(context).load(url).into(image);

2015-12-08 10:42:51 518

原创 JNI(四)、其他注意事项

JNI 注意事项:一、在开发时 首先要把环境 搭建好,包括各个文件配置,和C代码的实现。C代码可以直接return 返回值,先不做实现。二、常见报错:java.lang.UnsatisfiedLinkError: Native method not found:   要注意java方面名和C函数名 是否匹配了java.lang.UnsatisfiedLinkErro

2015-09-25 11:03:13 304

程序员 SQL 金典

程序员的SQL金典 程序员的SQL金典 程序员的SQL金典

2010-10-23

空空如也

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

TA关注的人

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