随笔分类 -  Android

摘要:自定义注解可以用来在编译时期插入代码或者做一些特殊的操作,以下是自定义注解的几种用法: 生成文档等类似的说明: 这是自定义注解最常见也是最基本的应用场景,在Java中有原生的注解(如@Override, @Deprecated等)也是为了辅助生成文档而存在。 例如下面的注解用于描述类或方法的作用: 阅读全文
posted @ 2023-03-21 00:18 懒懒初阳 阅读(195) 评论(0) 推荐(0)
摘要:Optional 是一个 Java 8 引入的类,它的作用是表示一个可能为 null 的值。使用 Optional 可以让代码更加简洁,避免出现空指针异常。下面是一些 Optional 的用法示例: 创建一个包装了可能为 null 值的 Optional 对象: Optional<String> o 阅读全文
posted @ 2023-03-20 15:38 懒懒初阳 阅读(58) 评论(0) 推荐(0)
摘要:EventBus EventBus是一种开源的事件发布/订阅库,用于在Android应用程序的组件之间传递消息和事件。使用EventBus,您可以在应用程序内的不同部分之间进行松耦合的通信,而无需显式地编写代码来处理回调或接口实现。 实现原理是基于观察者设计模式,其主要的思想是订阅者订阅感兴趣的事件 阅读全文
posted @ 2023-03-18 01:08 懒懒初阳 阅读(165) 评论(0) 推荐(0)
摘要:Retrofit guide Retrofit的核心原理是注解处理器和动态代理。开发人员可以通过在接口上使用注解来定义Web服务的请求。Retrofit的注解处理器会读取这些注解,并根据它们生成HTTP请求的代码。然后,Retrofit使用动态代理将HTTP请求转换为Java方法的调用。 注解 在 阅读全文
posted @ 2023-03-18 00:31 懒懒初阳 阅读(299) 评论(0) 推荐(0)
摘要:Gradle task释义 getTasksByName释义 getTasksByName Set<Task> getTasksByName​(String name, boolean recursive) Returns the set of tasks with the given name c 阅读全文
posted @ 2022-03-02 13:35 懒懒初阳 阅读(120) 评论(0) 推荐(0)
摘要:事件传递 事件分发的三个主要对象:Activiy、ViewGroup、view 布局加载过程 用户执行Activity的setContentView方法,内部是PhoneWindow的setContentView方法,在PhoneWindow中完成DecorView的创建,PhoneWindow是w 阅读全文
posted @ 2022-02-23 18:01 懒懒初阳 阅读(370) 评论(0) 推荐(0)
摘要:JetPack中比较好玩的对象化数据库。-- ROOM 同iOS CoreData发展趋势Android现在主流方向也是更轻更少代码的开发方式。所以这块需要持续跟进下 介绍 Room提供了三个主要的组件: @Database:@Database用来注解类,并且注解的类必须是继承自RoomDataba 阅读全文
posted @ 2022-02-22 16:50 懒懒初阳 阅读(245) 评论(0) 推荐(0)
摘要:前言 ConstraintLayout 是一个使用“相对定位”灵活地确定微件的位置和大小的一个布局,在 2016 年 Google I/O 中面世,它的出现是为了解决开发中过于复杂的页面层级嵌套过多的问题——层级过深会增加绘制界面需要的时间,影响用户体验,以灵活的方式定位和调整小部件。 从 Andr 阅读全文
posted @ 2022-02-11 15:56 懒懒初阳 阅读(882) 评论(0) 推荐(0)
摘要:当 JVM 内存严重不足时,就会抛出 java.lang.OutOfMemoryError 错误。本文总结了常见的 OOM 原因及其解决方法。 为什么会有OOM? 因为android系统的app的每个进程或者每个虚拟机有个最大内存限制,如果申请的内存资源超过这个限制,系统就会抛出OOM错误。跟整个设 阅读全文
posted @ 2022-01-28 17:25 懒懒初阳 阅读(2758) 评论(0) 推荐(0)
摘要:selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected 选中 android:state_focused 获得焦点 android:state_pressed 点击 android:state_enabled 设置是否响应事件 android 阅读全文
posted @ 2017-09-13 14:48 懒懒初阳 阅读(181) 评论(0) 推荐(0)
摘要:xml控件配置属性 android:background="@drawable/shape" 标签 corners 圆角 gradient 渐变 padding 内容离边界距离 size 大小 solid 填充颜色 stroke 描边 注意的是corners的属性bottomLeftRadius为右 阅读全文
posted @ 2017-09-13 14:41 懒懒初阳 阅读(400) 评论(0) 推荐(0)
摘要:•android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 •android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏 •android:theme="@android: 阅读全文
posted @ 2017-09-13 14:16 懒懒初阳 阅读(287) 评论(0) 推荐(0)
摘要:绝对布局也叫坐标布局,指定元素的绝对位置,因为适应性很差,一般很少用到。可以使用RelativeLayout替代。 常用属性: android:layout_x 组件x坐标 android:layout_y 组件y坐标 该布局目前已经淘汰,知道就行了! 阅读全文
posted @ 2017-09-13 14:14 懒懒初阳 阅读(252) 评论(0) 推荐(0)
摘要:FrameLayout:所有控件位于左上角,并且直接覆盖前面的子元素。 在最上方显示的层加上: android:clickable="true" 可以避免点击上层触发底层。 实例: ` ` 阅读全文
posted @ 2017-09-13 14:12 懒懒初阳 阅读(136) 评论(0) 推荐(0)
摘要:TableLayout继承LinearLayout 有多少个TableRow对象就有多少行, 列数等于最多子控件的TableRow的列数 直接在TableLayout加控件,控件会占据一行 TableLayout属性(也叫全局属性): 代表所有列 android:shrinkColumns 设置可收 阅读全文
posted @ 2017-09-13 14:10 懒懒初阳 阅读(236) 评论(0) 推荐(0)
摘要:LinearLayout是线性布局控件:要么横向排布,要么竖向排布 决定性属性:必须有的! android:orientation:vertical (垂直方向) 、horizontal(水平方向) 常用属性: android:gravity 设置的是控件自身上面的内容位置 android:layo 阅读全文
posted @ 2017-09-13 14:06 懒懒初阳 阅读(243) 评论(0) 推荐(0)
摘要:RelativeLayout是相对布局控件:以控件之间相对位置或相对父容器位置进行排列。 相对布局常用属性: 子类控件相对子类控件:值是另外一个控件的id android:layout_above 位于给定DI控件之上 android:layout_below 位于给定DI控件之下 android: 阅读全文
posted @ 2017-09-13 13:53 懒懒初阳 阅读(177) 评论(0) 推荐(0)
摘要:一、权限介绍 对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限(比如是个app都要访问通讯录、短信等)。而在6.0以后,我们可以直接安装,当app需要我们授予不恰当的权限的时候,我们 阅读全文
posted @ 2017-07-12 17:23 懒懒初阳 阅读(1995) 评论(0) 推荐(0)