Android开发( 右侧选择分类 )
android01

Android源码解析(二十一)-- Android PopupWindow加载绘制流程

在前面的几篇文章中我们分析了Activity与Dialog的加载绘制流程,取消绘制流程,相信大家对Android系统的窗口绘制机制有了一个感性的认识了,这篇文章我们将继续分析一下PopupWindow加载绘制流程。在分析PopupWindow之前,我们将首先说一下什么是PopupWindow?理解一个类最好的方式就是看一下这个类的定义,这里我们摘要了一下Android系统中PopupWindow的
910 人浏览
cnbzlj

Android中Bitmap对象和字节流之间的相互转换

android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.
906 人浏览
android01

Android源码解析(十二)-- Android系统启动并解析Manifest的流程

最近有同学问我关于Manifest何时被系统解析的问题,正好也分析到这一块了,索性这一章就讲解一下android系统何时解析Manifest吧,这里的Manifest指的是android安装文件apk中的androidManifest.xml文件是何时被解析的。大家应该都知道,Android系统启动之后,我们就可以在一个应用中打开另一个从未打开过的应用,或者是在一个应用中发送广播,如果另外一个应用
905 人浏览
android01

Android源码解析(十九)-- Dialog加载绘制绘制流程

前面两篇文章,我们分析了Activity的布局文件加载、绘制流程,算是对整个Android系统中界面的显示流程有了一个大概的了解,其实Android系统中所有的显示控件(注意这里是控件,而不是组件)的加载绘制流程都是类似的,包括:Dialog的加载绘制流程,PopupWindow的加载绘制流程,Toast的显示原理等,上一篇文章中,我说在介绍了Activity界面的加载绘制流程之后,就会分析一下剩
904 人浏览
kotlin

Kotlin简介

提供Kotlin语言和标准库的完整参考。Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。Kotlin已正式成为Android
902 人浏览
tinuv

RxJava操作符(二)

distinct操作符从词义可以知道,他是筛选出不同的发射的元素给观察者,很简单如:importio.reactivex.*; importio.reactivex.functions.Consumer; importio.reactivex.functions.Function; importjava.util.ArrayList; importjava.util.List; publ
896 人浏览
androidproject

Android 动画详尽教程

Android Animation Detailed Tutorial / Android 动画详尽教程    中文讲解(README)请直接点击对应标题English explanation(or readme), Do not click on the title, please click on the tip address文章开篇总结性文章:《Android 一共有多少种动画?准确告诉你
893 人浏览
android

Android Studio 修改主题样式

虽然Android Studio自带了三种主题样式,但是如果对这些主题样式都不满意,又不想自己一个一个去设置主题样式。可以去网上下载自己喜欢的主题样式并导入。首先说一下Android Studio自带主题的切换。打开AS菜单栏File->Settings->Appearance&Behavior->Appearance界面,里面有Theme选项,里面有Darcula、In
893 人浏览
androidproject

Github 安卓高级UI

目录一、本项目的作用二、下载试试三、已经整理完成的章节1、贝塞尔曲线2、PathMeasure3、属性动画4、Xfermode5、VelocityTracker和Scroller6、绘制流程7、svg8-1、canvas_clip8-2、canvas_draw8-3、canvas_text四、继续整理的章节五、作者简介1、个人博客2、联系方式3、赞赏一、本项目的作用本项目主要用于Android高级
887 人浏览
android01

android源码解析(二十八)-- 电源开关机按键事件流程

前面我们讲解了系统截屏按键处理流程,HOME按键处理流程,今天再来讲解一下电源开关机按键事件流程,当然这也是系统按键处理流程方面的最后一篇博客了。和截屏按键、HOME按键的处理流程类似,电源按键由于也是系统级别的按键,所以对其的事件处理逻辑是和截屏按键、HOME按键类似,不在某一个App中,而是在PhoneWindowManager的dispatchUnhandledKey方法中。所以和前面两篇类
882 人浏览
kotlin

Kotlin在Android中的开发

Kotlin非常适合开发Android应用程序,将现代语言的所有优势带入Android平台,而不会引入任何新的限制:兼容性:Kotlin与JDK 6完全兼容,确保Kotlin应用程序可以在较旧的Android设备上运行,没有任何问题。Kotlin工具在Android Studio中完全支持,并与Android构建系统兼容。性能:由于非常类似的字节码结构,Kotlin应用程序运行速度与Java类似。
878 人浏览
androidproject

Android 动画详尽教程

Android Animation Detailed Tutorial / Android 动画详尽教程    中文讲解(README)请直接点击对应标题English explanation(or readme), Do not click on the title, please click on the tip address文章开篇总结性文章:《Android 一共有多少种动画?准确告诉你
874 人浏览
android00

Android 实战-版本更新(okhttp3、service、notification)

前言整理功能,把这块拿出来单独做个demo,好和大家分享交流一下。版本更新这个功能一般 app 都有实现,而用户获取新版本一般来源有两种:一种是各种应用市场的新版本提醒一种是打开app时拉取版本信息(还要一种推送形式,热修复或打补丁包时用得多点)这两区别就在于,市场的不能强制更新、不够及时、粘度低、单调。摘要下面介绍这个章节,你将会学习或复习到一些技术:- dialog 实现 key 的重写,在弹
872 人浏览
tinuv

Activity学习笔记

笔记Activity有四种基本状态Active/Running:一个新的Activity启动后,在屏幕的最前端,在栈顶,处于可见且可与用户交互的状态Paused:失去焦点,如被一个Dialog覆盖后,此时仍然与窗口管理器保持连接,系统继续维护其内部状态,仍然可见Stopped:被另一个activity覆盖,失去焦点并不可见时Killed:当Activity被系统杀死回收或者没有被启动时,处于Kil
867 人浏览
cnbzlj

android sharedpreferences工具类

今天,简单讲讲如何写一个sharedpreferences的工具类。很简单,把一些重复的操作封装在工具类里,其他地方调用就可以。在网上搜索了比较多的资料,找到一个比较好的工具类。import android.content.Context; import android.content.SharedPreferences; /** * 作者:Yzp on 2017-03-20 15:
861 人浏览
android00

一篇文章带你看遍Google I/O 2019大会

为期三天的Google I/O 2019大会终于在上周落下了帷幕,每年的Google I/O大会都可以说是一场全球的开发者盛宴。不过可惜的是,由于和美国存在时差,I/O大会的直播时间正好是我们这边的深夜,因此对于大多数的人来说可能都只能通过回放的方式来观看I/O大会。另外由于会议全程都是使用的英文,因此对于一些英文不太好的朋友观看起来可能也会比较吃力。因此今天我特意写了这样一篇文章来覆盖Googl
854 人浏览
android01

Android源码解析(二十三)-- Android异常处理流程

前面的几篇文章都是讲解的android中的窗口显示机制,包括Activity窗口加载绘制流程,Dialog窗口加载绘制流程,PopupWindow窗口加载绘制流程,Toast窗口加载绘制流程等等。整个Android的界面显示的原理都是类似的,都是通过Window对象控制View组件,实现加载与绘制流程。这篇文章休息一下,不在讲解Android的窗口绘制机制,穿插的讲解一下Android系统的异常处
854 人浏览
android01

Android源码解析(二十五)-- Android onLowMemory执行流程

上篇文章中我们分析了Activity的onSaveInstanceState方法执行时机,知道了Activity在一般情况下,若只是执行onPause方法则不会执行onSaveInstanceState方法,而一旦执行了onStop方法就会执行onSaveInstanceState方法,具体的信息,可以参见onSaveInstanceState方法执行时机:android源码解析(二十四)--&g
849 人浏览
android01

Android源码解析之(二)-- Android异步消息机制

知乎上看了一篇非常不错的博文:有没有必要阅读ANDROID源码痛定思过,为了更好的深入android体系,决定学习android framework层源码,就从最简单的android异步消息机制开始吧。(一)Handler的常规使用方式publicclassMainActivityextendsAppCompatActivity{ publicstaticfinalStringTAG=Mai
847 人浏览
android01

android源码解析(三十)--触摸事件分发流程

前面一篇文章中我们分析了App返回按键的分发流程,从Native层到ViewRootImpl层到DocorView层到Activity层,以及在Activity中的dispatchKeyEvent方法中分发事件,最终调用了Activity的finish方法,即销毁Activity,所以一般情况下假如我们不重写Activity的onBackPress方法或者是onKeyDown方法,当我们按下并抬起
845 人浏览