自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yangChong

相互学习,共同进步!

  • 博客(66)
  • 收藏
  • 关注

转载 遇到android.os.BadParcelableException: ClassNotFoundException when unmarshalling怎么解决

本文基于本人在项目开发中遇到的实际问题,对ClassNotFoundException异常发生的原因和解决办法做了探究。定位异常首先看看出问题的代码。Application 1 的部分代码:private MediaSessionCompat mMediaSession = new MediaSessionCompat(this, TAG); private void ...

2019-11-19 18:21:36 1643

转载 Android 守护进程的实现方式

原文链接: http://melove.net/blog/2017/03/android-daemon-service-1488942411000.html在我们进行应用开发时,会遇到上级的各种需求,其中有一条 刚需:后台保活,更有甚者:我要我们的应用永远活在用户的手机后台不被杀死—— 这都 TM 的扯淡除了系统级别的应用能持续运行,所有三方程序都有被杀死的那一天!当然

2018-01-09 16:43:35 1855

转载 Kotlin之let,apply,with,run函数区别

Kotlin之let,apply,with,run函数区别很长一段时间内都一直使用Kotlin这门语言,也只是纯粹使用简单语法,最近有时候写的代码,编辑器自动提示使用let等函数,然后就专门花点时间研究了下。let首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行,或者指定returnfun T.let(f: (T) ->

2017-09-05 14:09:12 571

转载 Android 7.0 FileUriExposedException 解决

从Android 7.0开始,一个应用提供自身文件给其它应用使用时,如果给出一个file://格式的URI的话,应用会抛出FileUriExposedException。这是由于谷歌认为目标app可能不具有文件权限,会造成潜在的问题。所以让这一行为快速失败。详见这里。这里讨论两种解决方式。1 FileProvider方式这是谷歌官方推荐的解决方案。即使用FileProvider来生

2017-06-20 14:59:38 435

转载 【greenDAO3】 项目搭建与增删改查操作

最近需要开始一个新的项目了,考虑到既然是新项目了,那么一些常用的框架肯定也要用当下最火的!这次的新项目中涉及到了本地数据存储,很早前有个项目的本地数据库框架用的是ActiveAndroid,github找了下这个框架,发现已经两年多已经没有更新了。然后就想到了一直没有时间去涉及到的greenDAO,github一搜索,哦呦?star有5000+,并且依然保持着很高的更新频率,并且性能远远的高于ac

2017-03-27 17:10:08 927

转载 Android6.0和7.0新特性分析

Android N已经发布有段时间,甚至马上都要发布Android 7.1,相信不少玩机爱好者已经刷入最新的Android N 7.1 Beta ROM 体验起来,即使你没有能够刷入的设备,通过模拟器来先行体验下,也不错。不过对于Android的ROM来说,特别是国内的ROM厂家,估计就比较头大了,Merge代码估计要疯了。下面,我们就来看看Android N到现在给我们带来哪些新特性

2017-03-20 21:25:42 1720

转载 Android Studio 打包、生成jks密钥、签名Apk、多渠道打包

上一篇我们讲了多渠道打包 其中我们用到了签名文件在eclipse时.keystore在Android Studio中就是.jks文件了,那么这个文件怎么生成呢?这篇文章是上一篇的补充篇。生成jks签名文件选择Build > Generate Signed APK…选择项目app > Next选择Create new…

2017-01-05 19:58:06 725

转载 Android Studio 多渠道打包和一键完成(全部产品)打包并签名

好久没有更新blog了,今天给大家带来的是AS 的多渠道打包,并且我们还要验证是否实现了多渠道打包的功能,最后在让大家爽一下实现一键打包所有的渠道包并且给apk签名多渠道打包方法1第一步:添加渠道表示标签meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_

2017-01-05 19:54:44 805

转载 Android Studio 添加第三方库的6种方式(Jar,module,so等)

前几篇我们讲过了AS3种添加插件的方式,以及最常用的一些快捷键的用法,这篇我们讲讲添加第三方库的方法,我这里讲的是最实用、最简单也是最有效的方法,网上很多方法杂七杂八的而且有的已尽很老了在新的版本中根本不起作用,好了开始教程:点击项目设置按钮依次选择 App > Dependencies1. 直接搜索法依次选择 + > L

2017-01-05 19:51:16 20677 1

转载 Gradle Task的使用

文/咖枯(简书作者)原文链接:http://www.jianshu.com/p/cd1a78dc8346前言我们的项目打包APK前需要根据业务需要更改AndroidManifest文件内容和替换so文件来生成不同的apk。这样就需要手动来做这些事情以实现对应的需求。手动修改的弊端1.因为改动地方比较多,所以很容易出错或出现遗漏。2.改动需要时间,生产效率

2017-01-03 19:04:32 19383 1

原创 Groovy语言

上篇文章Gradle原理中讲到Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。今天给大家讲一下Groovy语言是什么,它和java有哪些相同点和不同点。1.Groovy语言是什么?Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向

2016-12-29 16:54:38 944

原创 eclipse和android studio快捷键的区别

总结一下eclipse和android studio快捷键的区别,看下图直观一点:前者为eclipse, 后者为android studio

2016-12-29 14:28:40 584

原创 Gradle原理

什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。Android Studio中新建项目成功后自动下载Gradle。 领域驱动设计(DDD)Gradle是一个自动化build工具,所以Gradle面对的领域就是自动化构建这一领域。Gradle是按

2016-12-29 10:33:00 5790

转载 系统栈的工作原理

原文出处:http://www.cnblogs.com/dwlsxj/p/Stack.html1.开篇  本篇文章着重写的是系统中栈的工作原理,以及函数调用过程中栈帧的产生与释放的过程,有可能名字过大,如果不合适我可以换一个名字,希望大家能够指正,小丁虚心求教!如果有哪里写的不清楚的或者错误的地方请及时更正,小丁再次谢过了。文章里面有错别字,也可能会有好友说寄存器的

2016-12-06 19:10:29 1295

转载 android 中 dumpsys 命令使用

adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名需要列出当前运行的服务,可运行:adb shell dumpsys | findstr DUMP下面简单列下我用到的一些命令...(在编写脚本时需要获取一些状态值供判断用)获取设备分辨率:adb shell dumpsys display | findstr Display

2016-12-05 17:36:15 420

转载 Android插件化开发之Hook StartActivity方法

原文出处:http://blog.csdn.net/u011068702/article/details/53208825第一步、先爆项目demo照片,代码不多,不要怕第二步、应该知道Java反射相关知识如果不知道或者忘记的小伙伴请猛搓这里,Android插件化开发基础之Java反射机制研究  http://blog.csdn.net/u011068702/ar

2016-12-03 17:41:34 875

原创 ant+proguard签名打包 .jar

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性

2016-12-02 14:52:36 1910

转载 Dalvik虚拟机进程和线程的创建过程分析

出处:http://blog.csdn.net/luoshengyang/article/details/8923484 我们知道,在Android系统中,Dalvik虚拟机是运行Linux内核之上的。如果我们把Dalvik虚拟机看作是一台机器,那么它也有进程和线程的概念。事实上,我们的确是可以在Java代码中创建进程和线程,也就是Dalvik虚拟机进程和线程。那么,这些Dalvik虚拟机

2016-09-08 17:03:43 680

转载 Dalvik虚拟机JNI方法的注册过程分析

出处:http://blog.csdn.net/luoshengyang/article/details/8923483 在前面一文中,我们分析了Dalvik虚拟机的运行过程。从中可以知道,Dalvik虚拟机在调用一个成员函数的时候,如果发现该成员函数是一个JNI方法,那么就会直接跳到它的地址去执行。也就是说,JNI方法是直接在本地操作系统上执行的,而不是由Dalvik虚拟机解释器执行。由

2016-09-08 17:01:35 774

转载 Dalvik虚拟机的运行过程分析

出处: http://blog.csdn.net/luoshengyang/article/details/8914953在前面一篇文章中,我们分析了Dalvik虚拟机在Zygote进程中的启动过程。Dalvik虚拟机启动完成之后,也就是在各个子模块初始化完成以及加载了相应的Java核心类库之后,就是可以执行Java代码了。当然,Dalvik虚拟机除了可以执行Java代码之外,还可以执行N

2016-09-08 16:57:28 1013

转载 Dalvik虚拟机的启动过程分析

出处:http://blog.csdn.net/luoshengyang/article/details/8885792在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的。Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程时,都会将这个Dalvik虚拟机实例复制到新的应用程序进程里面去,从而使

2016-09-08 16:54:06 1000

转载 Dalvik虚拟机简要介绍和学习计划

出处:http://blog.csdn.net/luoshengyang/article/details/8852432    我们知道,Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。除了指令集和类文件格式不同,Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JI

2016-09-08 16:51:38 417

转载 Android Material Design系列之TextInputLayout

前言TextInputLayout是一个能够把EditText包裹在当中的一个布局,当输入文字时,它可以把Hint文字飘到EditText的上方,错误信息显示在editText的下方。使用TextInputLayout用在登陆注册的界面上很常见,做出来的效果也很炫,下面我们就用TextInputLayout来创建一个登陆界面 首先先把需要的包通过依赖添加到我们的项目

2016-08-29 19:54:16 647

原创 提问的智慧 How-To-Ask-Questions-The-Smart-Way

声明简介在提问之前当你提问时慎选提问的论坛Stack Overflow网站和IRC论坛第二步,使用项目邮件列表使用有意义且描述明确的标题使问题容易回复用清晰、正确、精准并合法语法的语句使用易于读取且标准的文件格式发送问题精确的描述问题并言之有物话不在多而在精别动辄声称找到Bug可以低声下气,但还是要先做功课描述问题症状而非猜测按发生时间先后列出问题症状描述目标而不是过程别要求使用私人电邮回

2016-08-27 17:31:05 1193 2

转载 设计模式总结

1、认识了这么多设计模式。刚刚接触java没多久就在学长那里听过设计模式的大名,但是由于能力有限,一直不敢触碰。而今有幸将其都认识了。       2、开始有设计的理论了。在接触设计模式之前没有怎么想过设计方面东东,看到问题就立马动手解决,没有想到怎么样来设计更好,如何来是这块更加优化、漂亮。       3、开始考虑系统的可扩展性了。       4、在遇到问题后开始想有

2016-08-22 10:39:53 654 1

转载 Android开发之反射与注解

反射类类型Class的使用类类型Class的实例获取方式有一下三种1234567891011121314151617181920publicstatic void

2016-08-18 16:44:32 800

转载 理解HTTP幂等性

基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javascr

2016-08-18 13:54:22 373

转载 Android Glide图片加载库的使用

简介Glide是 Google推荐的图片加载库,它可以支持来自url,Android资源,文件,Uri中的图片加载,同时还支持gif图片的加载,以及各种图片显示前的bitmap处理(例如:圆角图片,圆形图片,高斯模糊,旋转,灰度等等),缓存处理,请求优先级处理,动画处理,缩略图处理,图片大小自定义等等.可谓是非常的强大.添加依赖 compile 'com.github.bumpte

2016-08-18 11:32:11 586

转载 Google Gson 使用简介

如何将数组转化为 json 串?下面的例子中我们示例如何将一个数据转换成 json 串,并使用 Gson.toJson() 方法将数组序列化为 JSON,以及Gson.fromJson() 方法将 JSON 串反序列化为 java 数组。import com.google.gson.Gson;public class ArrayToJson { public

2016-08-17 16:37:42 306

转载 JAVA深入研究——Method的Invoke方法

在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke

2016-08-16 19:20:08 949

原创 Random随机生成几位数字和UUID随机生成几位字母加数字组合

Random随机生成几位数字和UUID随机生成几位字母加数字组合public class TestRandom {public static void main(String[] args) {Random random = new Random();StringBuilder sb = new StringBuilder(10);for (int i =

2016-08-16 10:43:29 4751

转载 Android RecyclerView 使用完全解析 体验艺术般的控件

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587; 本文出自:【张鸿洋的博客】概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不

2016-08-12 11:16:46 348

转载 Android 6.0+ 运行时权限探索

原文出处:http://blog.csdn.net/leejizhou/article/details/51511630引言:去年Android 6.0发布后,其新引入的(Requesting Permissions at Run Time)运行时权限就备受开发者关注,随着今年国内手机厂商对6.0系统的普及,觉得大家有必要了解下这个新特性,因为在TargetSDK23+进行开发

2016-07-29 16:21:25 451

转载 抽象类与接口

原文出处:http://blog.csdn.net/chenssy/article/details/12858267接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。       抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也

2016-07-29 10:40:53 307

转载 详解java定时任务

原文出自:http://cmsblogs.com/?p=1175 在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。一、简介      在java中一个完整定时任务需要由Timer、TimerTask两个类来配

2016-07-29 10:36:54 397

原创 Android Manifest 权限描述大全

android permission常用权限说明android.permission.ACCESS_CHECKIN_PROPERTIES访问登记属性读取或写入登记check-in数据库属性表的权限android.permission.ACCESS_COARSE_LOCATION获取错略位置通过WiFi或移动基站的方式获取用

2016-07-15 17:38:54 3140

转载 Android中内容观察者的使用---- ContentObserver类详解

转载请注明出处:http://blog.csdn.net/qinjuning             前言: 工作中,需要开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,后来在老大的指点下,利用了     ContentObserver完美的解决了该问题,感到很兴奋,做完之后自己也对ContentObserver做下总结。       

2016-06-25 17:51:01 873

转载 Android Settings开发之修改

原文链接:http://blog.csdn.net/wangjinyu501/article/details/22077803下面是Seeings应用的截图:  可以看出这是很典型的使用了Fragment后的界面,设置里面有WIFI、蓝牙、显示、存储、应用等众多功能。左边的每一项,对应着右边的一个设置界面,Fragment有四个子类:DialogFragme

2016-06-25 10:40:51 3164

转载 设计模式 观察者模式 以微信公众服务为例

继续设计模式的文章,今天给大家带来观察者模式。先来看看观察者模式的定义:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。好了,对于定义的理解总是需要实例来解析的,如今的微信服务号相当火啊,下面就以微信服务号为背景,给大家介绍观察者模式。看一张图:其中每个使用者都有上图中的3条线,为了使图片清晰省略了。

2016-06-23 11:48:33 632

原创 Android 集成支付宝支付详解

Android 集成支付宝支付详解一说到支付宝,相信没有人不知道,生活中付款,转账都会用到。今天来详细介绍下在android中如何集成支付宝支付到自己的APP中去。让APP能够拥有方便,快捷的支付功能。准备工作:商户在b.alipay.com里进行产品签约RSA私钥及公钥生成上传RSA公钥,签名验证

2016-06-14 10:41:10 14007 2

空空如也

空空如也

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

TA关注的人

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