分类目录 : Android综合

浅谈MVP架构模式

MVP即Model-View-Presenter,它是在经典的MVC(Model-View-Controller)架构基础上延伸出来的一种架构模式。Google官方也给出了一个简单的MVP示例。 MVC与MVP MVP和MVC有很多共性,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。 模型关系图如下: Model:定义数据的格式,这一点与 [...]

浅谈Android应用的启动流程

Android应用的启动就是指点击桌面应用icon一直到进入应用主界面的过程,这里跟Android系统的启动是有差异的,系统启动是指按下电源键到系统主界面的过程,Android系统启动后续单独另起一篇博文介绍。 本文分析的源代码依旧是Android5.1.1 API 22。 从Android4.4开始Launcher默认使用的是launcher3包下的Launcher类,在Android4. [...]

浅谈Window和WindowManager

Window和WindowManager在平常开发中也是使用较频繁的两个类,特别是Android4.4之后,如果需要设置沉寖状态栏或者透明工具栏,这里就涉及到Window的一些属性了。虽然Window我们并不能通过new来新建一个Window对象,但是在Activity中提供了获取Window的getWindow()方法,通过getWindow()方法拿到的Window对象我们就可以设置一些属性到 [...]

Android WebView使用解析二

现在很多流行的应用都是Hybrid App,如知乎、网易新闻、今日头条、开发者头条、掘金等等。有一个交互不知道有些开发者有没有在意到,如知乎、网易新闻这种应用,很显然新闻类应用内容都是通过他们自己的平台进行编辑发布的,这种应用也许很难注意的到,但是如开发者头条还有掘金这种应用多数内容都是用户将内容进行分发的,当我们分享过自己的文章后你会发现自己文章中的图片多了一些状态,而且不同状态的图片都不是自己 [...]

Android 6.0运行时请求权限

Android权限简介 从Android 6.0开始,部分危险权限需要在运行时用户动态授权,因为一个Android应用默认情况下是不拥有任何权限的。在开发的时候,我们会在AndroidManifest.xml中静态地声明相应的权限,如果没有声明该权限却使用了相应的权限,程序会崩溃,抛出异常,例如,如果没有在程序中声明网络权限当我们使用网络的时候,就会抛出如下异常,而且一般不会try catch该 [...]

Android 拍照或选择图片并剪裁

在Android平常开发中拍照、选择图片并裁剪几乎是每个App所必须的功能,因为不同版本Android选择图片后返回处理方式不同,再加上不同品牌手机对Android系统的深度定制,导致App在使用Android原生图片处理上或多或少出现一些问题,像微信、QQ这种用户受众范围广对平台兼容性高的App它们都有一套自定义图片选择器,今天这篇博客主要整理一下Android使用原生控件拍照、选择图片以及拍照 [...]

Android StackTraceElement与Log工具类设计

StackTraceElement引入 StackTraceElement这个类在开发中并不常见,但是做过Java2EE开发的人员肯定不陌生java.util.logging.Logger类或log4j工具包,当我们使用日志功能的时候,系统为我们打印很丰富的信息,格式如下: 运行时间] [当前类名] [方法名] INFO: [用户信息] java.util.logging.Logger [...]

Gradle for Android 第七篇( Groovy入门 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第六篇( 测试 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第五篇( 多模块构建 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第四篇( 构建变体 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第三篇( 依赖管理 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第二篇( Build.gradle入门 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Gradle for Android 第一篇( 从Gradle 和 AS 开始 )

本系列共有7篇文章都是介绍Android中Gradle的配置相关的,文章主要出自《Gradle for Android》,转载自Gradle for Android系列。事实上还有另外两篇文章,这两篇是自己在空余时间整理的Groovy基础语法部分,分别是 Groovy入门之语法和变量定义和Groovy进阶之函数、闭包和类,希望通过这9篇文章可以对Android Studio 的Gradle有一 [...]

Android浅谈LayoutParams

在平常开发中最常使用的两个属性是layout_width和layout_height,而且这两个属性在布局文件中是不可缺少的。查看源码知道上面的两个属性值其实是赋值给LayoutParams的,开发中最常用的一些View,如TextView、Button或者布局视图,所有基于View的控件都只有getWidth或者getHeight方法,但是没有setWidth或者setHeight方法。通过上面 [...]
共 2 页 1 2