自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android NativeCrash 捕获与解析

转自:http://blog.itpub.net/69912579/viewspace-2759124/Android 开发中,NE一直是不可忽略却又异常难解的一个问题,原因是这里面涉及到了跨端开发和分析,需要同时熟悉 Java,C&C++,并且需要熟悉 NDK开发,并且解决起来不像 Java异常那么明了,本文为了解决部分疑惑,将从NE的捕获,解析与还原等三个方面进行探索。一、NE 简介NE全称NativeException,就是C或者C++运行过程中产生的错误,NE不同于普通的 Jav

2021-06-11 11:26:09 504

转载 如何检测Android应用是32位还是64位

https://www.jianshu.com/p/8686931d31f01、前言从Android 4.4宣布支持64位系统以来,各终端方案厂商逐步推出了各自的64位soc解决方案。Google为了兼容之前32位系统的应用,在64位系统上也实现了对32位应用的支持。那么问题就来了,在一个64位系统的Android手机上如何检测应用是运行在32位还是64位环境?本博文将为大家解答这个问题。...

2019-04-11 18:24:57 14659

转载 android webview 二次验证流程分析 shouldOverrideUrlLoading深度分析

转自:https://blog.csdn.net/a0407240134/article/details/51482021一. shouldOverrideUrlLoading的含义 Sdk中的解释public boolean shouldOverrideUrlLoading (WebView view, String url)Added in API level 1. Give ...

2018-09-07 18:46:09 2364

转载 JNI学习积累之一 常用函数大全(转)

转自:https://blog.csdn.net/qinjuning/article/details/7595104最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 。心里想着该写点什么了?可是水平不够,再加上包括很多真正实现地方--中间层,基本上没看。于是乎,也就不...

2018-05-13 18:59:01 178

转载 Android开发的C++基础Notes(转)

转自:http://cfanr.cn/2017/07/28/Android-dev-cpp-foundation-knowlege-notes/1. 局部变量和全局变量初始化问题当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值,int - 0, char- ‘\0’,float - 0 等2. 定义常量方式C++中有两种方式, C++ 常量...

2018-05-13 18:42:52 312

转载 Android NDK 开发:CMake 使用(转)

转自:http://cfanr.cn/2017/08/26/Android-NDK-dev-CMake-s-usage/1. 前言当在做 Android NDK 开发时,如果不熟悉用 CMake 来构建,读不懂 CMakeLists.txt 的配置脚本,很容易就会踩坑,遇到编译失败,一个很小的配置问题都会浪费很多时间。所谓工欲善其事必先利其器,学习 NDK 开发还是要大致了解 CMake 的基本语...

2018-05-13 18:40:28 506

转载 Android NDK 开发:实战案例(转)

转自:http://cfanr.cn/2017/08/19/Android-NDK-dev-practice-samples/0. 前言如果只学理论,不做实践,不踩踩坑,一般很难发现真正实践项目中的问题的,也比较难以加深对技术的理解。所以延续上篇 JNI 的实战Android NDK开发:JNI实战篇 ,这篇主要是一些 NDK 小项目的练习,由于这些项目网上都有 demo介绍,这里不会具体一步步介...

2018-05-13 18:39:00 801

转载 Android NDK开发:JNI实战篇(转)

转自:http://cfanr.cn/2017/08/05/Android-NDK-dev-JNI-s-practice/紧接上篇:Android NDK开发:JNI基础篇 | cfanr,这篇主要介绍 JNI Native 层调用Java 层的代码(涉及JNI 数据类型映射和描述符的使用)和如何动态注册 JNI。 1. Hello World NDK 在开始实战练习前,你需要先大致了解运行一个 ...

2018-05-13 18:37:00 421

转载 Android NDK开发:JNI基础篇(转)

转自:http://cfanr.cn/2017/07/29/Android-NDK-dev-JNI-s-foundation1. JNI 概念1.1 概念JNI 全称 Java Native Interface,Java 本地化接口,可以通过 JNI 调用系统提供的 API。操作系统,无论是 Linux,Windows 还是 Mac OS,或者一些汇编语言写的底层硬件驱动都是 C/C++ 写的。J...

2018-05-13 18:34:44 163

转载 2017年Android百大框架排行榜

一.榜单介绍排行榜包括四大类:单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架混合开发框架:提供开发hybrid app、h5与webview结合能力、web app能力的框架企业级开源项目:可以独立运行的app,有极高的学习价值、思路借鉴意义书籍类开源项目:类似Open-sourc-project这样的导航类项目;大型公司的Android课程的学习目录 tips榜单排序依据:1....

2018-03-17 15:38:51 584

原创 Android事件传递机制以及ViewGroup的onInterceptTouchEvent的理解

1、ViewGroup的onInterceptTouchEvent返回true,表示拦截事件,所有事件都不会往下传递,也就是说子View收不到任何事件,。如果ViewGroup的onTouchEvent返回false,则只会将down事件传递给onTouchEvent,并且后续的move和up事件onInterceptTouchEvent和onTouchEvent都不会收到。如果ViewGroup的onTouchEvent返回true,则onInterceptTouchEvent只会收到down事件,后

2016-06-03 13:30:52 751

转载 UML建模之活动图介绍(Activity Diagram)

一、活动图的组成元素 Activity Diagram Element1、活动状态图(Activity)2、动作状态(Actions)3、动作状态约束(Action Constraints)4、动作流(Control Flow)5、开始节点(Initial Node)6、终止节点(Final Node)7、对象(Objects)8、数据存储对象(DataStore)

2016-04-23 09:24:43 1302

转载 uml活动图的概念与作用

uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些uml方面的文章(http://www.iigrowing.cn/?s=uml)在参考资料中,在uml参考资料中缺少活动图方面的介绍,因此特地在网络上寻找了一些资料,然后整理成一篇文章,供大家参考,水

2016-04-23 09:11:52 6327

转载 深入理解Android之Gradle

转至:http://blog.csdn.net/innost/article/details/48228651Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。一、题外话说实话,我在大法工作的时候,就见过Gradle。但是当时我一直不知道这是什么东西。而且大法工具组的工程师还将其和Android Studio

2015-12-17 17:26:08 428

转载 Android Stuio如何将library项目打包成jar文件

File - new Module - Android Library  - finish这样就创建了一个library项目。这里比较libaray/build.gradle与application/build.gradle的不同之处,很清楚,就不多说了。libaray/build.gradle[plain] view plaincopypr

2015-12-17 16:03:59 525

转载 Android studio 导入github工程

从github下载两个开源项目:PagerSlidingTabStrip    |    Android-Universal-Image-Loader-masterhttps://github.com/astuetz/PagerSlidingTabStrip https://github.com/nostra13/Android-Universal-Image-Loader

2015-12-17 16:00:19 458

转载 Gradle Plugin Samples 之 Gradle Unit Test(七)

Gradle Unit TestAndroid Studio 1.1 正式版本已经发布, 1.1 版本最大的新功能就是正式支持 Unit 。所谓支持 Unit 是指 Gradle 的 Unit 支持。本文中的内容,也需要在 Android Studio 1.1 中才能正常执行。文本是对 Unit testing support 的个人理解和总结。不足的地方,还望指正。

2015-12-17 15:51:51 1056

转载 Gradle Plugin Samples 之 Gradle Build Variants(六)

Gradle Build Variants本例用于讲解如何使用 Gradle 利用一份代码生成多种 APK 。本例中, app 文件夹中,除了默认会生成的 main 目录以及 androidTest 目录之外,我额外添加了6个目录,分别是: release 、 debug 、 buildtypesnochange 、 playstore 、 amazonstore 、 produc

2015-12-17 15:49:38 392

转载 Gradle Plugin Samples 之 Gradle Build Configs(五)

Gradle Build Configs在 app/build.gradle 中,有以下内容:android {signingConfigs {    release {        storeFile file('keystore')        storePassword 'helloworld'        keyAlias 'Android Relea

2015-12-17 15:46:55 343

转载 Gradle Plugin Samples 之Gradle Library Projects(四)

Gradle Library ProjectsGradle 项目可以依赖于其它组件。这些组件可以是外部二进制包,或者是其它的 Gradle 项目。在本例中, app/build.gradle 中有以下内容:dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android

2015-12-17 15:44:53 325

转载 Gradle Plugin Samples 之 Gradle Eclipse Compatible (三)

Gradle Eclipse Compatible当你的项目从 Eclipse 中使用 Generate Gradle build files 导出的时候。为了兼容 Eclipse 的文件结构,Gradle 对资源文件目录、代码文件目录等目录进行了设置。默认的,导出项目中没有 {@projectName}/settings.gradle 文件,而且 {@projectName}/b

2015-12-17 15:43:10 295

转载 Gradle Plugin Samples 之 Gradle Hello World (二)

Gradle Hello World一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和一个 settings.gradle 文件;每一个 module 会存在一个 build.gradle 文件。本文只是简略的讲解一下默认生成的 .gradle 文件的内容,更多 Gradle Plu

2015-12-17 15:41:22 360

转载 Gradle Plugin Samples (一)

Android-Gradle-Examples> 本系列内容借鉴于 Github 上 Goddchen 的 Android-Gradle-Examples 。本人借鉴该项目对 Gradle Plugin 的知识分类,进行中文讲解以及内容补充。关于 2013年 Google I/O 中关于 Gradle 的 PPT ,请到我的 github 或者 oschina 上查看(文件过大,上

2015-12-17 15:38:47 306

转载 ActionBar样式解析

Android的装饰风格有多种,这些风格的不同之处主要体现在标题栏区域。比如最普通的标题栏仅有图标和标题。还有一些其他的风格,如带进度条的标题栏等。       在Android4.0上,有了新的标题栏,名为ActionBar,它提供了能强大的功能,如支持TAB页,支持菜单等。下面将分析主要的ActionBar样式。一,ActionBar样式定义Theme主题对Action

2015-12-16 14:49:29 493

转载 Android ActionBar应用实战,高仿微信主界面的设计

转自:http://blog.csdn.net/guolin_blog/article/details/26365683经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了。唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很难说。那么不用担心,本篇文章我就将带领大家一起进入ActionBar的应

2015-12-16 14:35:32 405

转载 Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

添加Action Provider和Action View有点类似,Action Provider也可以将一个Action按钮替换成一个自定义的布局。但不同的是,Action Provider能够完全控制事件的所有行为,并且还可以在点击的时候显示子菜单。为了添加一个Action Provider,我们需要在标签中指定一个actionViewClass属性,在里面填入Action P

2015-12-16 14:29:32 410

转载 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

转自:http://blog.csdn.net/guolin_blog/article/details/18234477本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/topics/ui/actionbar.htmlAction Bar是一种新

2015-12-16 14:18:37 324

转载 Android Drawable 那些不为人知的高效用法

转自:http://blog.csdn.net/lmj623565791/article/details/437523831、概述Drawable在我们平时的开发中,基本都会用到,而且给大家非常的有用。那么什么是Drawable呢?能够在canvas上绘制的一个玩意,而且相比于View,并不需要去考虑measure、layout,仅仅只要去考虑如何draw(canavs)。当然了,

2015-12-01 16:18:04 377

转载 Android中View和ViewGroup的measure和layout过程分析

转自:http://blog.csdn.net/aigestudio/article/details/42989325要在数量上统计中国菜的品种,在地域上毫无争议地划分菜系,在今天,是一件几乎不可能完成的事……Cut…………抱歉……忘吃药了,再来一遍。如果非要对自定义控件的流程进行一个简单的划分,我会尝试将其分为三大部分:控件的绘制、控件的测量和控件的交互行为。前面我们用了六节的篇幅和一个

2015-11-30 17:25:41 1297

转载 内存分析工具 MAT 的使用

内存分析工具 MAT 的使用Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 :·    heap 查看堆的分配情况·    allocation tracker跟

2015-11-23 10:08:54 315

转载 Android性能优化典范(三)

Android性能优化典范的课程最近更新到第三季了,这次一共12个短视频课程,包括的内容大致有:更高效的ArrayMap容器,使用Android系统提供的特殊容器来避免自动装箱,避免使用枚举类型,注意onLowMemory与onTrimMemory的回调,避免内存泄漏,高效的位置更新操作,重复layout操作的性能影响,以及使用Batching,Prefetching优化网络请求,压缩传输数据等等

2015-08-17 10:02:14 278

原创 Java设计模式——适配器模式

适配器模式是结构模式,包括类的结构模式和对象结构模式两种。适配器模式把一个类(系统中已有的类)的接口变成客户端所期待的另一种接口(需求,新的行为增强功能),从而使原本因为接口不匹配而无法再一起工作的两个类能够在一起工作。实质上是把已有的一些类应用适配器模式的结构进行包装(Wrapper),来满足需要的接口 (新的需求),达到软件复用和扩展的目的。一、类的适配器模式的结构类图与角色

2015-05-09 14:17:22 507

转载 Android性能优化典范(一)

2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。转自:http://www.csdn.ne

2015-04-30 09:02:50 378

转载 Android性能优化典范(二)

Google发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化、网络优化、Android Wear上如何做优化、使用对象池来提高效率、LRU Cache、Bitmap的缩放、缓存、重用、PNG压缩、自定义View的性能、提升设置alpha之后View的渲染性能,以及Lint、StictMode等工具的使用技巧。转自:http://www.csdn.n

2015-04-30 08:51:48 396

转载 Java对观察者模式的支持——Observer和ObServable的使用

在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。1. 实现观察者模式实现观察者模式非常简单,[1]创建被观察者类,它继承自java.util.Observable类;[2]创建观察者类,它实现java.util.Observer接口;[3]对于被观察者类,添加它的观察者:

2015-04-28 08:57:38 623

原创 Java设计模式——接口隔离原则

接口隔离原则讲的是,使用多个专门的接口比使用单一的总接口要好。换言之,从一个客户类的角度来讲,一个类对另外一个类的依赖性应当是建立在最小的接口上的。一、什么是接口隔离原则?“接口”有两种含义。一种是Java语言中的有严格定义的Interface结构,比如java.lang.Runnale就是一个Java接口;另外一种就是一个类所具有的方法特征的集合,也称作“接口”,但是只是一种逻辑上的抽象

2015-04-19 17:30:31 3290

原创 Java设计模式——迪米特法则

迪米特法则又叫作最少知识原则,就是说,一个对象应当对其他对象要有尽可能少的了解。一、狭义的迪米特法则如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的某一个方法时,可以通过第三者转发这个调用。1.朋友圈与陌生人如下图所示,“某人”与一个“朋友”组成自己的朋友圈,两个人都需要与一个圈外的“陌生人”发生相互作用。“朋友

2015-04-19 10:38:56 1007

原创 Java设计模式——合成/聚合复用原则

一、什么是合成/聚合复用原则?合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。简述为:要尽量使用合成/聚合,尽量不要使用继承。二、合成和聚合的区别;依赖和关联合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。用C语言来讲,合成是值的聚合(A

2015-04-12 10:06:25 20013 7

原创 Java设计模式——依赖倒转原则

一、什么是依赖倒转原则?依赖倒转原则讲的是,要依赖于抽象,不要依赖于具体。实现“开-闭”原则的关键是抽象化,并且从抽象化导出具体化实现。“开-闭”原则是面向对象设计的目标,依赖倒转原则是面向对象设计的主要机制。依赖倒转原则的另一种表述,要针对接口编程,不要针对实现编程。针对接口编程是说,应该使用Java接口或Java抽象类进行变量的类型声明、参量的类型声明、方法的返回类型声明,以及

2015-04-11 21:51:38 1893 1

原创 Java设计模式——里氏代换原则

什么是里氏代换原则?一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别。比如,假设有两个类,一个是Base类,另一个是Derived类,并且Derived类是Base类的子类。那么一个方法如果可以接受基类对象Base的话:method(Base b),那么它必然可以接受一个子类对象d,也即method(d)。里氏代换原则是继承复用的

2015-04-08 20:53:31 2959

GalleryMedia

Gallery+MediaStore媒体库,自动更新媒体库

2013-05-25

空空如也

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

TA关注的人

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