自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (18)
  • 收藏
  • 关注

原创 安卓开发-填坑之路

今天开始把遇到的坑记录在博客中,以后开发遇到了也就easy啦 ……1. 实体类使用Parcelable序列化可能遇到的问题 class not found when unmarshalling 实例化集合:out.writeList(genre);genre = new ArrayList<GoodsCountGenreBean>(); in.readList(genre,

2016-12-11 16:29:00 701

原创 多渠道打包

概述 一个app我们可能会在不同的应用市场发布,如果一个一个打包,岂不是很慢,下面就跟我来一步一步实现多渠道打包吧,以友盟多渠道打包为例子; 1.基本配置 添加依赖:compile 'com.android.support:appcompat-v7:24.2.1'在清单文件中配置友盟meta-data以及添加权限<uses-permission android:name="android.pe

2016-12-11 13:00:32 622

原创 代码混淆后可能出现的问题

1、ClassNotFoundException,NoSuchMethodError 原因:这种异常会在好多情况下出现,比如:本地代码通过反射调用其他的类,但是经过了混淆之后,就会出现如上异常;调用了JNI之后,C或者C++和java代码进行交互的时候找不到java的类或者方法,导致发生了异常……等等,还有好多。 解决办法:只需要将被调用的java类标注为不混淆即

2016-12-05 09:35:12 6644

原创 安卓复习之旅—观察者模式

2016年最后一天,因公司性质,元旦继续上班,春节早一些放假,额…祝各位元旦快乐!!! 接下来复习一下Java的一些设计模式,今天先来看看观察者模式: 按照图谱一步一步来实现吧 step1定义被观察者接口/** * 定义被观察者接口 * * @author Administrator * */public interface IObservered { /**

2016-12-31 16:33:33 416 3

转载 Android的硬件加速及可能导致的问题

文章转自:http://blog.chenming.info/blog/2012/09/18/android-hardware-accel/ 问题 在Android 4.0的某些设备上,在View刷新时会出现花屏和屏幕上的某些View错位的现象。 经过调查后发现adb logcat中出现很多OpenGLRenderer: 0x501的错位:09-18 14:34:39.090: DEBUG/Op

2016-12-29 10:20:22 1076

转载 优化加载gif动画

文章转自:https://mp.weixin.qq.com/s?__biz=MzA3NjA3NTI5Mg==&mid=2656329608&idx=1&sn=9b26e25828112101bd898a521920f998&chksm=84c627fbb3b1aeedc76d711df000a230f8122f920e7eaac8e4ac2beca0502219f2b53e45c6b4&mpshar

2016-12-26 15:52:47 2278

原创 安卓复习之旅—自定义view(二)

今天来看一下继承自ViewGroup的自定义view;看看效果先: 有点像垂直方向的viewpager吧,下面来一步一步实现它吧。 step1声明需要的一些成员变量 // 屏幕高度 private int mScreenHeight; private int mScrollStart; private int mScrollEnd; // 移动时的Y距离

2016-12-25 16:16:43 298

原创 安卓复习之旅—自定义view(一)

今天开始复习一下自定义view相关的知识。 先上图看看效果吧: 额 好像奥运五环那几个字没有居中。。。先这样吧(嘿嘿)开始coding吧: step1定义需要自定义的属性 在res/values/文件夹创建一个attrs.xml文件,在里面编辑需要的自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <attr name=

2016-12-24 15:34:47 301

原创 滑动字母定位listview的对应字母的item

效果图:自定义右侧sideBar获取焦点改变背景颜色. 显示有焦点的字母; 主要代码: /** * 重写这个方法 */ protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 获取焦点改变背景颜色. int height = getHeig

2016-12-14 10:11:34 414

原创 集成tinker热更新

前段时间尝试了一下增量更新,以及hotfix,今天写了一个demo集成腾讯bugly的tinker热更新https://bugly.qq.com/v2/index; step1、添加依赖: 1. 工程中的dependencies依赖:// tinker gradle插件 classpath ('com.tencent.tinker:tinker-patch-gradle-plu

2016-12-12 15:23:08 1067

原创 谷歌postMan的安装步骤

话不多说直接走起: step1 使用谷歌浏览器,点击右上角选择设置—–>扩展程序–>获取更多扩展程序选项(需要翻墙): step2 在谷歌应用店搜索postman 选择添加到chrome step3 启动Postman开始你的接口测试吧 step4 可以创建快捷方式方便下次运行

2016-12-11 11:10:56 656

转载 安卓复习之旅—Matrix类的方法

转自:http://www.cnblogs.com/ZSS-Android/p/3930830.html 概述 在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型:1、Translate————平移变换2、Scale ————缩放变换3、Rotate ————旋转变换4、Skew ————错切变换1.

2016-12-10 11:46:35 448

转载 安卓复习之旅—Shader相关类的方法

转自:http://www.cnblogs.com/menlsh/archive/2012/12/09/2810372.html 在Android中,提供了Shader类专门用来渲染图像以及一些几何图形。  Shader类包括了5个直接子类,分别为:BitmapShader、ComposeShader、LinearGradient、RadialGradient以及SweepGradient。其中,B

2016-12-10 11:38:24 306

转载 安卓复习之旅—JavaGC机制

转自:http://inotgaoshou.iteye.com/blog/757470概述       因为在之前的内存优化 博客中已经提到了Java的内存区域,而垃圾回收是针对堆内存而言的,所以就把堆内存再深入的讲一下,然后再讲GC机制;堆内存模型       堆内存由垃圾回收器的自动内存管理系统回收,分为两大部分:新生代和老年代。老年代主要存放应用程序中生命周期长的存活对象。新生代又分为三个

2016-12-10 11:12:27 988 1

转载 ANDROID 秒级编译 FREELINE

转自http://stormzhang.com/2016/12/02/android-seconds-build-freeline/什么是 Freeline?Freeline 是蚂蚁金服旗下平台蚂蚁聚宝 Android 团队开发的一款针对 Android 平台的增量编译工具,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时,

2016-12-09 17:54:11 639

原创 安卓复习之旅—raw和assets文件夹的作用,区别

二者所位于的位置 raw包含在res目录下 res/raw和assets的相同点两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制assets和res/raw工程目录下都可以放一些小于1M的文件(2.3版本以前要求,否则将不能读出数据。),这些文件将被打包到APK中应用使用。res/raw和assets的不同点res/raw中的文件会被映射到R.Java文件中,

2016-12-09 15:32:02 731

转载 安卓复习之旅—style和theme的作用及用法

转自:http://blog.csdn.net/anddlecn/article/details/51758688 概述 主题与风格是包含与被包含的关系。例如同一个主题中,按钮使用一种风格,进度条使用一种风格。可以说主题是由具备各种风格的组件组合起来的。从下面定义的主题例子中,我们可以看到这个主题里面的文字,使用的是TextAppearance.DeviceDefault风格; 这个主题里面的

2016-12-09 15:19:08 856

原创 安卓复习之旅—多进程开发的注意事项

一、何为多进程,怎样声明? 一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名,每个进程都有自己独立的资源和内存空间;Android多进程使用很简单,只需要在AndroidManifest.xml的声明四大组件的标签中增加”android:process”属性即可,process分私有进程和全局进程,私有进程的名称前面有冒号,全局进程没有;

2016-12-09 12:10:18 424

转载 安卓复习之旅—Activity的启动流程

转自:http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.htmlActivity框架和管理结构Activity管理的核心是AcitivityManagerService,是一个独立的进程; ActiveThread是每一个应用程序所在进程的主线程,循环的消息处; ActiveThread与AcitivityManagerServi

2016-12-08 20:33:54 423

原创 安卓复习之旅—android系统层次结构

系统结构图:android系统层次结构主要包含4个层次 从上往下依次是:应用程序层(Applications)、应用程序框架层(Application Framework)、系统运行库层(Libraries和Android Runtime)和Linux内核层(Linux Kernel)。一、应用程序层 Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程

2016-12-08 14:56:15 6201

原创 安卓复习之旅—JDK中默认提供的线程池

主要有一下4种线程池 一、newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。二、newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是:1.工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger. MAX_VALUE), 这样可

2016-12-07 17:13:04 319

转载 Android多渠道打包(MFC版本)

文章转自:http://blog.csdn.net/ywl5320/article/details/52539600 因为需要,这一周就跟MFC度过了,主要是用MFC封装Android打包命令实现Android读取到打包。其中主要用到了:C++线程、解析XML文件和写入XML文件、消息传递、字符串解析等知识。还有Android打包命令:获取keystore信息:keytool -list -v -

2016-12-07 16:59:34 436 1

原创 安卓复习之旅—Java多线程同步

为什么使用多线程 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。先看看没有用同步方法的代码:package threadTest;public class Bank { private int count =0;//账户余额 //存钱 public void addMoney(

2016-12-07 16:53:05 255

原创 安卓复习之旅—String相关

String的不可变性 指的是一个String对象一旦生成,就在堆内存中占有一定的内存,它就一直存在,不变,直到没有被其他对象引用,就被垃圾回收掉,对String对象重新赋值,操作只是新增对象到堆内存中;StringBuilder和StringBuffer的区别StringBuilder和StringBuffer都可以对字符串进行拼接; 其中StringBuilder:线程非安全的 String

2016-12-07 11:52:22 301

原创 安卓复习之旅—Thread、Runnable、Callable、Futrue类关系与区别

开启一个线程有三种方式定义:Thread、Runnable、Callable,其中Runnable实现的是void run()方法,Callable实现的是 V call()方法,并且可以返回执行结果,其中Runnable可以提交给Thread来包装下,直接启动一个线程来执行,而Callable则一般都是提交给ExecuteService来执行。public interface Callable<V

2016-12-07 11:29:50 583

原创 安卓复习之旅—Java集合类

Collection接口 该接口的子类主要有List和Set,区别主要是List保存的对象可以重复,而Set不可以重复; 一、List 实现主要有ArrayList、LinkedList、Vector ArrayList - 最大的特点就是提供了Add、Get操作,当然可以通过迭代器来遍历,对于元素的存在可以通过contains方法判断。 LinkedList - 作为一种双向

2016-12-07 10:00:59 320

原创 安卓复习之旅—Java反射机制

Java反射机制定义 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 用一句话总结就是反射可以实现在运行时可以知道任意一个类的属性和方法。反射机制的优点与缺点 为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态与静态

2016-12-05 10:08:03 308

原创 安卓复习之旅—hashCode() 和equals()

hashCode() 和equals() 区别和作用 主要围绕一下4点进行总结 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么? 3 hashCode() 的作用是什么? 4 hashCode() 和 equals() 之间有什么联系?equals() 的作用是什么? equals() 定义在JDK的Object.java中。通过判断两个对象的地址是否

2016-12-04 18:00:01 653

原创 ec环境下的代码混淆

首先将project.properties文件中添加proguard.config=proguard-project.txt 下面开始配置混淆信息: 1 基本配置: 2 v4或者v7包,以及实体类的配置 3 常见的第三方jar包的配置: 4 其他jar包的配置 配置完之后选择Android tools工具导出签名或者未签名的已经混淆的apk文件最后生成prog

2016-12-03 17:02:53 377

原创 Android实现序列化

一、实现Serializable接口(不需要重写方法)二、实现Parcelable接口(需要重写两个方法) 三、两者传递对象的方式 1. 2. 四、二者的区别

2016-12-01 10:04:19 277

模拟https请求

模拟https请求

2017-01-15

Genymotion-ARM-Translation_v1.1

INSTALL_FAILED_NO_MATCHING_ABIS 解决办法

2017-01-12

监听网络变化

监听网络变化,自动加载数据

2017-01-10

工厂设计模式

工厂设计模式

2017-01-02

自定义view

自定义view

2016-12-31

webview显示图片并下载

webview显示图片并下载

2016-12-29

webview显示进度

webview显示进度

2016-12-29

安卓三级缓存

三级缓存

2016-12-28

DialogFragment对话框

DialogFragment对话框

2016-12-26

自定义layout

自定义layout

2016-12-25

自定义view1

自定义view

2016-12-24

滑动字母定位listview的对应字母的item

滑动字母定位listview的对应字母的item

2016-12-14

tinker热修复

tinker热修复

2016-12-12

多渠道打包

多渠道打包

2016-12-11

gc回收机制

gc回收机制

2016-12-10

安卓多进程

安卓多进程

2016-12-09

滑动选择日期

滑动选择日期

2016-12-08

极光推送设置别名

极光推送设置别名

2016-11-07

空空如也

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

TA关注的人

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