Android开发( 右侧选择分类 )
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 一共有多少种动画?准确告诉你
2386 人浏览
cnbzlj

Android 自定义简单View及获取xml自定义属性

一、前言对于自定义View相信这是每一个初学者心里的痛,但开发久了,慢慢的你就会发现,其实自定义View并不难,看几篇基础文章,懂得了原理和流程套路,用的多了,实战多了,自然而然就掌握了。近期在时间上还算空余,所以打算在学习新的东西的同时,把旧的基础的东西也好好梳理一下,总不能捡一路丢一路吧。二、自定义View首先先总结一下一般自定义View的步骤,让我们在写的时候能有一个大致的方向:1.继承一个
2384 人浏览
android

Android高级面试题汇总——Android篇(2)

三)常见的一些原理性问题1、Handler机制和底层实现 机制:hanlder是android线程间通信的一种实现,以消息队列的方式实现线程间数据的共享,通过Looper不断的轮询消息队列来 获取数据 底层:MessageQueen、Looper以及Looper内部的ThreadLocal,我们在线程中Looper对消息队列的管理过程离不开数据储存ThreadLocal,ThreadLocal在多
2375 人浏览
android01

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

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

Android源码解析(六)-- Android之Log日志

首先说点题外话,对于想学android framework源码的同学,其实可以在github中fork一份,具体地址:platform_frameworks_base这里面基本都是android framework层的源码了。而且最近发现了一个比较不错的github插件:OctoTree,它 是一个浏览器插件,它可以让你在Github 看代码时,左边栏会出现一个树状结构,就像我们在IDE 一样。当
2369 人浏览
kotlin

Kotlin在Android中的开发

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

android 根据文件Uri获取图片url

今天,简单讲讲android里如何通过文件的Uri获取文件的路径url。昨天,我讲了如何调用手机的文件管理器获取文件资源,但是文件管理器返回的是文件的Uri,我们需要通过Uri获取文件的url才可以操作文件。昨天的博客虽然写了一种Uri转url的代码,但是我自己也没有很懂,于是在网上查找资料,最终解决了问题。这里记录一下。一.简易版处理(实际并没发现有什么问题)public static Stri
2337 人浏览
android00

Android Studio butterknife安装以及使用

第一步:打开Androidstudio的配置,找到Plugins,在右边搜索ButterKnife ,你就会看到下面这个界面。没有错,这样是搜不到的,因为这个是搜的应该是已经安装的,没有安装的就需要点击Search in repositories,你就会看到你想要的东西了。第二步: 如图选中 Zelezny,点击Install,等安装完成之后,再点击Restart Android Studio重启
2332 人浏览
android

android ButterKnife的简单使用

Butter KnifeAttention: Development on this tool is winding down. Please consider switching toview binding in the coming months.Field and method binding for Android views which uses annotation processi
2325 人浏览
androidproject

ArrowDrawable,纯Paint实现的一个射箭效果,可用作Loading动画

项目地址:https://github.com/wuyr/ArrowDrawable博客详情:https://blog.csdn.net/u011387817/article/details/94607919使用方式:添加依赖:● 单独使用Drawableimplementation'com.wuyr:arrowdrawable:1.0.1'● 作为刷新Header (需配合Sma
2324 人浏览
gityuan

跟大家分享一些常用的Android相关的网址资料

一、Android系统1.1 Android系统源码网站备注https://android.googlesource.comGoogle官方提供的Android系统源码(需翻墙)http://androidxref.com用于阅读Android系统源码,基于OpenGrokhttp://aosp.opersys.com用于阅读Android系统源码,基于OpenGrokhttps://git.ke
2323 人浏览
cnbzlj

android ListView 局部刷新

今天,简单讲讲android如何对ListView 进行局部刷新。之前,自己做的ListView 发现刷新频率太高了,而且很多界面上看不到的数据改变时调用Adapter.notifyDataSetChanged()也会导致整个ListView 进行刷新。其实我们只需在界面元素改变时刷新界面那个改变的item就可以。如果不停刷新这个界面,会导致效率减低。所以在网上搜索了资料,最终解决了问题。平时在写
2317 人浏览
android00

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

1、首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bit
2309 人浏览
android

Android Studio 修改主题样式

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

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

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

RxJava操作符(二)

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

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

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

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

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

android源码解析(二十九)-- 应用程序返回按键执行流程

从这篇文章中我们开始分析android系统的事件分发流程,其实网上已经有了很多关于android系统的事件分发流程的文章,奈何看了很多但是印象还不是很深,所以这里总结一番。android系统的事件分发流程分为很多部分:Native层 --> ViewRootImpl层 --> DecorView层 --> Activity层 --> ViewGroup层 --> Vi
2230 人浏览