GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。 新建一个HelloGridView的工程 修改main.xml代码如下: 的numColumns设置为auto_fit时,Android就会自动计算我们手机屏幕的大小以决定每一行展示几个元素。这是很方便。...android:horizontalSpacing定义列之间的间隔,android:verticalSpacing定义行之间的间隔。...android:stretchMode设置为columnWidth是意味着根据列宽自动缩放。...展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。 运行程序,效果图如下: ? 本文附件下载:
官方介绍 RecyclerView是ListView的一个更高级、更灵活的版本。RecyclerView组件是为大量的视图组件提供的一种容器,使得它们可以有效的在其中循环和滚动。...RecyclerView的使用 最终要达到的效果 如下图所示 image.png 编写相关的布局文件 MainItem布局如下: android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com.../tools" android:layout_width="match_parent" android:layout_height="120dp" android:orientation...android:layout_height="0dp" android:layout_weight="0.3" android:gravity="center" /> <
ListView是Android开发中非常常用的组件,ListView可以用来显示一个列表,我们可以对这个列表操作,比如点击列表要做什么等等。这篇文章主要通过一个示例来展示ListView的用法。...一、不使用xml布局文件创建一个ListView 创建一个名称为HelloListView的Android工程,可以参见 Android 第一个Android应用,HelloWorld 要使用ListView...,因为他们使用的都是Adapter。...Android已经给我们实现了一些常用的适配器,如刚刚使用的数组器,还有简单适配器等,如果这些不能满足,我们还可以通过自定义适配器来实现自己的适配器。...二:使用xml来自定义ListView 上个例子我们并没有使用在main.xml中定义一个ListView的形势来布局ListView,而是使用的ListActivity中默认的ListView来演示的
在极客学院的Android学习中,发现其下拉刷新组件用的是比较老的组件,现在Google官方出的是SwipeRefreshLayout,借此机会学习了一下。...> 只需要添加一个SwipeRefreshLayout, 其中的数据列表项我使用了ListView来显示数据 相应代码 @Override protected void onCreate(Bundle...后记 在创建ListView过程中, 我使用的是ArrayAdapter适配器, 还有 : SimpleAdapter SimpleCursorAdapter BaseAdapter 都还不太了解, 下面准备详细学下...ListView的各种适配器。...相应的详细代码我放在了我的github上,这是链接
; 具体实现: 首先是布局文件: 1.一个GridView(展示所有的图片) 2.一个ImageView(放选中的图片) 组件--> <GridView android:id="@+id/grid01" android:layout_width="match_parent...--定义一个ImageView组件--> <ImageView android:id="@+id/image_view" android:layout_width...", "android.permission.WRITE_EXTERNAL_STORAGE" }; //检测是否有写的权限...= PackageManager.PERMISSION_GRANTED) { // 没有写的权限,去申请写的权限,会弹出对话框
Android Jetpack组件 Compose 使用 前言 正文 一、创建Compose项目 1. setContent 2....,我们需要图形界面和xml去创建布局,通过预览达到我们想要的效果,而Jetpack推出的新组件Compose就解决了这个痛点,下面让我们来了解它,使用它。...使用它,来感受声明式UI的强大之处。 正文 Jetpack Compose是一个用于构建原生Android UI的现代工具包。...下面我们用一下吧,这里我要说明一下,Compose 需要使用新版本的Android Studio,目前最新的是大黄蜂版本,以及使用Kotlin去开发,如果你对Kotlin一无所知,这可能学起来有一点难度...然后我们修改项目名和包名,这里看到开发语言是Kotlin,而且是灰色的不可更改的,这说明如果你要使用Compose就必须要用Kotlin,这也是未来Android开发语言的趋势,我相信现在还有很多是使用
支付宝 Android 版使用的开源组件 花了点时间整理了 支付宝 Android 客户端使用的开源组件,给需要的同学.在你不知道用什么开源框架的时候可以作下参考,毕竟支付宝是阿里的重量级产品,产品的稳定性是第一...,在你的实际项目中引用成熟稳定的开源组件是很有利于日后维护的....开源框架,可以简化开发Android的一些代码量和工作量. https://github.com/androidquery/androidquery gson Google官方的Json解析,同类型的还有原生...Android 事件总线,使用方便,但不易维护 https://github.com/greenrobot/EventBus androidannotations 又一个注解库 https://github.com...,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。
Room 包含 3 个主要组件: 数据库:包含数据库持有者,并作为应用已保留的持久关系型数据的底层连接的主要接入点。...使用 @Database 注释的类应满足以下条件: 是扩展 RoomDatabase 的抽象类。 在注释中添加与数据库关联的实体列表。 包含具有 0 个参数且返回使用 @Dao 注释的类的抽象方法。...Entity:表示数据库中的表。 DAO:包含用于访问数据库的方法。 应用使用 Room 数据库来获取与该数据库关联的数据访问对象 (DAO)。...然后,应用使用每个 DAO 从数据库中获取实体,然后再将对这些实体的所有更改保存回数据库中。最后,应用使用实体来获取和设置与数据库中的表列相对应的值。 Room 不同组件之间的关系图 ?...01 简单使用 按上面Room的介绍,我们要创建三个主要组件@Database,@Entity和@Dao 类Entity创建 package com.vaccae.roomdemo.bean import
Jetpack组件 DataStore的使用和简单封装 前言 正文 一、添加依赖 二、数据存取 三、数据查看和清除 四、封装 五、对象存取 1....正文 DataStore是Jetpack中的一个组件,用于做数据持久化,DataStore以异步、一致的事务方式存储数据,克服了SharedPreferences的一些缺点,DataStore基于Kotlin...就是使用了viewBinding,获取视图xml的控件id。...dataStore,我们在定义的时候给了一个Study的名称,就像你使用SP时需要先给一个名字一样,然后才是键值的操作。...四、封装 这个DataStore是肯定需要封装之后再使用的,直接使用太麻烦了,我们需要封装的像SP那样好用,数据类型就参考这个方法中的数据类型。
文章目录 一、顶层 Gradle 定义扩展变量 二、获取顶层的 Gradle 对象 三、Module 中使用 Gradle 变量 四、Gradle 中打印变量值 五、涉及到的 Gradle 构建脚本 六..., 将 component.gradle 配置文件中的所有内容 , 原封不动的拷贝到该语句所在位置 ; component.gradle 是开发者自定义的一个配置文件 , 是使用 Groovy 语言编写的...; ext 是 extension 扩展 , 通过 ext 可以定义扩展的变量 ; component.gradle 文件内容如下 : 全局使用的变量定义在这里 ; // ext 是 extension...build.gradle 中定义的变量 , 可以在 Module 级的 build.gradle 中使用 ; 如 : 在上述 Project 层级的 build.gradle 中引入了 component.gradle...配置 , 那么在 Module 级别的 build.gradle 中可以通过 rootProject.ext.android 的方式调用在 component.gradle 定义的 android 变量
文章目录 一、组件模式下为组件 Module 指定 Java 源码路径 二、主应用的角色 三、BuildConfig 中生成当前 组件 / 集成 模式字段 四、Library Module 中的代码示例...1、build.gradle 完整代码 2、集成模式 下的 清单文件 3、组件模式 下的 清单文件 4、组件模式 下的 Application 类 五、博客资源 一、组件模式下为组件 Module...模块 , 还想自己定义一个 Application 类 , 这里参考上一篇博客 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 三、使用 sourceSets...配置组件模式下使用的清单文件 章节 , 使用 sourceSets 资源配置 , 配置 Java 代码 ; 在组件模式下 , 如果需要配置一些额外的 Java 类 , 可以在 sourceSets 中进行配置...可以配置多个目录 , 路径字符串之间使用逗号隔开 ; android { defaultConfig { if (!
Spring Cloud Ribbon 是一个客户端负载均衡器,它的核心组件包括负载均衡器、服务列表和负载均衡策略。...负载均衡器Ribbon 的负载均衡器是整个组件的核心,它的主要作用是将客户端请求分发给可用的服务实例,实现负载均衡。...这些客户端工具都可以使用 Ribbon 作为负载均衡器,实现客户端的负载均衡。...服务列表服务列表是 Ribbon 的另一个核心组件,它用来存储可用的服务实例列表。...根据具体的业务需求,可以选择合适的负载均衡策略。在 Spring Cloud 中,可以通过配置文件来指定负载均衡策略。默认情况下,Ribbon 使用轮询算法来进行负载均衡。
配置 四、Module 模块的组件化配置 1、创建组件模式下使用的类和清单文件 2、动态切换 集成模式 / 组件模式 3、module1 完整的 build.gradle 配置文件 4、module2...组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 【Android 组件化】使用...构造路由表中的路由信息 ) 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 ) 【Android 组件化】路由组件 ( 组件间共享的服务 ) 【Android 组件化】路由组件..., 并且在模块化模式中 , 不使用该文件 ; 1、创建组件模式下使用的类和清单文件 在 module1 下创建 组件模式 时使用的 Application 类和清单文件 ; Application...配置组件模式下使用的 Java 源文件 ; 这些配置在 集成模式 下都失效 , 因此使用 isModuleMode 进行判定当前是 组件模式 还是 集成模式 ; android { defaultConfig
文章目录 一、模块化 与 组件化 模式控制 二、applicationId 设置 三、使用 sourceSets 配置组件模式下使用的清单文件 四、组件模式 与 集成模式 切换示例 五、完整的 Gradle...博客资源 上一篇博客 【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 ) 中 , 在顶层的 build.gradle 中定义了相关参数变量 ; 在顶层的 build.gradle...} } } 注意 : 在 Application Module 下不进行上述配置 , 只有在 Library Module 下才进行上述配置 ; 三、使用 sourceSets 配置组件模式下使用的清单文件...---- 使用 sourceSets 资源配置选项 , 可以配置 java , manifest , res , assets , 等目录 ; Android Studio 中 默认的 Java 代码的路径是...都放在该目录中 ; 下图中 , 蓝色矩形框中是默认的清单文件 , 在 集成模式 下的 Library Module 中使用 ; 红色矩形框中是 组件模式 下使用的清单文件 , 在 Application
模块中的注解类生成的 Java 源码 3、library2 模块中的注解类生成的 Java 源码 五、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android 组件化...】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 【Android 组件化】使用 Gradle...实现组件化 ( 组件 / 集成模式下的 Library Module 开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点...) 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 (...构造路由表中的路由信息 ) 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 ) 一、组件间共享的服务 ---- 路由除了支持 Activity 之外 , 还要支持 组件间共享的服务
本文长度为2716字,预计阅读8分钟 Android JetPack Android JetPack是一整套的库,工具和指南。可帮助开发者更轻松地编写优质应用。...这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。 ?...2.2.0" implementation 'androidx.fragment:fragment-ktx:1.3.0-alpha01' } 上面这块代码我们分开来说 01 DataBinding使用...要使用DataBinding这个我觉得不用多主产了,直接开启这个就行,因为我用的是Kotlin所以上面还要加上kotlin-kapt 02 fragment-ktx的引用 ?...上面这个是引用fragment-ktx的引用,引用这个库时是为了让我们更简单的调用ViewModel,一会儿的代码我会写出不用这个的调用方法,和用这个的方法,当然引用这个时它会提示要使用jvm1.8,所以还需要加上下面的这步
App 组件化/模块化之路——Android 框架组件(Android Architecture Components)使用指南 面对越来越复杂的 App 需求,Google 官方发布了Android...为开发者更好的开发 App 提供了非常好的样本。这个框架里的组件是配合 Android 组件生命周期的,所以它能够很好的规避组件生命周期管理的问题。今天我们就来看看这个库的使用。...App 框架组件 框架提供了以下几个核心组件,我们将通过一个实例来说明这几个组件的使用。 ViewModel LiveData Room 假设要实现一个用户信息展示页面。...LiveData 的使用有点像 RxJava。因此完全可以使用 RxJava 来替代 LiveData 组件。...Room 组件提供了数据库操作,配合 LiveData 使用可以监听数据库的变化,进而更新 UI 组件。
本文长度为3768字,预计阅读8分钟 前言 最近OpenCV的相关文章基本都是转载的,主要是在开发新的版本产品,所以C#和Android用的多,今天就讲一下Android里的LiveDataBus消息框架...范围全覆盖的消息总线解决方案 进程内消息发送 App内,跨进程消息发送 App之间的消息发送 更多特性支持 免配置直接使用,懒人最爱 支持Sticky粘性消息 支持AndroidX 支持延迟发送...,今天来试一下组件点的通讯,主要是两个并不依赖的module可以打开对方的activity。...在Android中由于module间不可以双向依赖,所以如果你想调用某个没有依赖关系的组件的服务往往是做到的,而组件间通信正好可以解决这样的问题。组件间通信在组件化和插件化中扮演了重要角色。...其实现成的框架里面App做为宿主,很多都已经写好了组件间的通讯,不过对我来说有点太重了,所以就考虑用LiveEventBus消息做个简单的处理,毕竟组件间的通信并不是常态,废话不再多说,正篇开始。
TODO:快速介绍 时间Android组件的主要支撑。...在未知森林里的有知涯上的一棵大树下,兔子在和松鼠小弟对话: 兔子有板有眼的说: Android中一切都是组件, 程序是由组件组成,比如四大组件:Activity Service BroadcastReceiver...更新顺序是从最近使用到最近不使用的。如果一个进程是后台进程,那么按照这个顺序进行更新,就意味着最近越是不使用的后台进程,它获得的oom_adj值就越大。...,那么最近越是不使用的空进程,就越会被杀掉。...5.在Linux内核中,子进程的oom_adj值等于父进程的oom_adj,也就是说,Android里面的Native进程的oom_adj值与fork它的进程的oom_adj值一样。
1、完整注解处理器代码 2、执行结果 四、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用...) 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件 / 集成模式下的 Library Module...开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点 ) 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet...生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 ( 构造路由表中的路由信息 ) 在 【Android 组件化】路由组件 ( 构造路由表中的路由信息..., 该接口定义在 router-core 模块中 , 该模块是 Android Library Module 类型的 , 主应用使用 api 依赖该模块即可 ; // 获取要生成的类 需要实现的接口节点
领取专属 10元无门槛券
手把手带您无忧上云