jetpack compose(1) —— android 全新的 ui 框架-编程思维

写在前面 Jetpack Compose 已经不是什么新技术了,Google 早在 2019 年就推出 Jetpack Compose 的首个 alpha 版本,时至今日,相当大比例的国内 Android 开发者还没有学习使用过。本篇文章主要介绍 Jetpack Compose 的一些发展背景,接下来会有一个系列的文章,来逐步讲述 Jetpack Compose 的一些知识点。 一、Jetpac

jetpack compose(2) —— 入门实践-编程思维

一、项目中使用 Jetpack Compose 从此节开始,为方便起见,如无特殊说明,Compose 均指代 Jetpack Compose。 开发工具: Android Studio 1.1 创建支持 Compose 新应用 新版 Android Studio 默认创建新项目即为 Compose 项目。 注意:在 Language 下拉菜单中,Kotlin 是唯一可用的选项,因为 Jetpa

android gradle dependency tree change(依赖树变化)监控实现,sdk version 变化一目了然-编程思维

@目录前言基本原理执行流程diff 报告不同分支 merge 过来的 diff 报告同个分支产生的 merge 报告同个分支提交的 diff 报告具体实现原理我们需要监控怎样的 Dendenpency 变化怎样获取 dependency Treeproject.configurations 方式./gradlew dependenciesAsciiDependencyReportRender

开启android学习之旅-2-架构组件实现数据列表及添加(kotlin)-编程思维

Android Jetpack 体验-官方codelab 1. 实现功能 使用 Jetpack 架构组件 Room、ViewModel 和 LiveData 设计应用; 从sqlite获取、保存、删除数据; sqlite数据预填充功能; 使用 RecyclerView 展示数据列表; 2. 使用架构组件 架构组件及其协作方式: LiveData 是一种可观察的数据存储器,每当数据发生变化

【android】你知道还可以通过 view.animate() 来实现动画么-编程思维

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 这次想来讲讲 View.animate(),这是一种超好用的动画实现方式,用这种方式来实现常用的动画效果非常方便,但在某些场景下会有一个坑,所以这次就来梳理一下它的原理。 基础 首先,先来看一段代码: mView.animate().sacleX(1.2f).scaleY(1.2f).alpha(0.5f).setDurat

androidtv home界面实现原理(二)——leanback 库的主页卡位缩放动画源码解析-编程思维

本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 先看个效果图: 上一篇中,我们留了问题,在 Tv Home 界面这种很常见聚焦卡位放大动画效果,我们这一篇就来看看 Leanback 库是怎么实现的。 如果要我们自己实现的话,思路应该不难,就是写个放大、缩小动画,然后在卡位获得焦点时应用放大动画,失去焦点时应用缩小动画,所以关键点只是在于如何进行封装。那下面就来学学 Go

移动端造json假数据时的坑(转义符问题)-编程思维

本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近在 Json 数据的解析上碰到了一些坑,特此记录一下。 正文 迭代开发中,经常出现服务端接口还没开发完成的情况,所以经常需要移动端自己在本地造一些假数据。 emmm,虽然说好像造假数据也不是什么很难的事,但问题是,我是做 Tv app 的,手机 app 首页的 json 数据结构怎么样我不清楚,但 Tv 应用的主页复杂的

属性动画 valueanimator 运行原理全解析-编程思维

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 最近下班时间都用来健身还有看书了,博客被晾了一段时间了,原谅我~~~~ 提问环节 好,废话不多说,之前我们已经分析过 View 动画 Animation 运行原理解析,那么这次就来学习下属性动画的运行原理。 Q1:我们知道,Animation 动画内部其实是通过 ViewRootImpl 来监听下一个屏幕刷新信号,并且当接收

【android】textview跑马灯效果-编程思维

老规矩,先上图看效果。 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果。 其实,TextView实现跑马灯效果很简单,因为官方已经实现了,你只需要通过设置几个属性即可。而且,相关的资料其实网上也有一大堆了,之所以还写这篇博客出来是因为,网上好多人的博客都是只贴代码的啊,好一点的就是附带几张图

【android】textview文字长度测量和各种paddding解析-编程思维

老规矩,先上张图 o,这篇好像是分析篇,没有效果图。不管了,位置占着,老规矩不能坏,下面开始正文。 这篇博客会讲得比较杂: TextView里各部分的大小该怎么测量? 如何计算每行文字的长度? 设置android:maxLines="1"和android:singleLine="true"有什么区别? 为什么设置android:maxLines="1"时TextView的跑马灯效果就不能正

【android】又一个gank客户端来啦-编程思维

本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 介绍 Gank平台的移动端又来了,非常感谢Gank平台开放接口,让我们这些小白有机会练手、学习。 本项目在架构方面有稍微花点心思,虽然还是最简单的MVC模式,但基本参考MVP的思想,Activity只负责ui显示逻辑,ui和业务会尽量的分离开,每个包的类权限严格控制,尽量对外部隐藏其实现细节。另外,本项目不像其他热门的Gan

【android】做一款类似我要当学霸里的学习监督的app-编程思维

  我要当学霸这款App有个学习监督的功能,当你启动它的时候,你将无法使用其他App,以此达到帮助人提高自觉性,起到监督学习的效果。最近和同学做了个小App,正好有这个功能,所以就来说说它是怎么实现的。 PS:本篇描述的是我们做这个小App过程中的一些尝试。 效果 首先还是先来看下效果是怎么样的:    实现思路   先说下我们这个小App的功能:学习监督的功能(即禁掉其他App的使用) +

【android】fragment的简单笔记-编程思维

被虐了,做某公司笔试时,发现自己连个Fragment的生命周期都写不详细。平时敲代码,有开发工具的便利,有网上各大神的文章,就算忘了也很容易的可以查到,但当要自己不借助外界,却发现自己似乎对该知识点并不是很理解。 所以,还是老老实实的做好笔记。本篇随笔介绍的是Fragment,这类的文章网上很多,题主还是个小渣,就只是简单的记录,借机巩固基础,如果有理解错的地方,还望指点一下。 Fragmen

【android】anroid5.0+新控件---酷炫标题栏的简单学习-编程思维

Android5.0+推出的新控件感觉特别酷,最近想模仿大神做个看图App出来,所以先把这些新控件用熟悉了。 新控件的介绍、使用等等网上相应的文章已经特别多了,题主也没那能力去写篇详解出来,本篇随笔记录的主要是题主学习这些新控件时遇见的一些困惑以及在搞了半天后的一丝理解,或许也有新手也会碰到跟我一样的困惑,相互学习哈,如果有哪个地方理解错了,还望告知。 效果 首先看下效果,本篇也就是只记录以下

【android】你应该知道的调试神器----adb-编程思维

最近跟着一个前辈在做TV应用,因为不能通过usb连接调试,接触到了adb,突然间觉得自己似乎发现了另外一个世界,借助adb shell命令对应用进行调试,简直方便得不行。更重要的是,这是命令行操作啊!!!装逼神器啊,还没学的赶紧来试试看吧。 效果 老规矩,先上几张截图看看效果,这是查看xml文件数据,和sqlite数据库数据的效果 介绍 adb,网上介绍其实很多,就是用来对安卓系统进行一

android显示流程-编程思维

Android的显示过程具体包含这三部分:内容端(绘制)、SurfaceFlinger/Hwcomposer(合成)、 DisplayProcessor及显示接口如LCD(显示)   UE游戏的绘制过程:   绘制 Application/Activity/View Application包括4大组件:Activity、Service、Broadcast、ContentProvider Ac