458 1 分钟

# Android 四大组件必知必会 四大组件是每一个 Android 人必须要会,要掌握的知识点,因为他们是我们在日常开发工作中打交道最频繁的组件,而且他们四个在不同的领域扮演着极其重要的角色。 Activity: 负责用户界面的展示和用户交互,学习 Activity 就要学习 Fragment,虽然它不是四大组件之一,但是它在我们的开发工作中也是频频被使用到,且必须和 Activity 一块使用,常用于分模块开发,比如慕课首页的几个 tab, 每个 tab 都是对应着一个 Fragment. **Service 服务:** 不需要和用户交互,负责后台任务,比如播放音乐,socket...
902 1 分钟

# 实战:慕课 App 学习 Tab 页数据请求与绑定 # 接口编写 private var retrofit: Retrofit = Retrofit.Builder() .client(client) .baseUrl("https://www.songyubao.com/") .addConverterFactory(GsonConverterFactory.create()) // 数据转换适配器 .build()class ApiService{ @GET(value =...
2.4k 2 分钟

# RESTFUL 网路请求框架 Retrofit Retrofit 是一个高质量高效率的 HTTP 请求库,和 OkHttp 同样出自 Square 公司。Retrofit 内部依赖于 OkHttp,它将 OKHttp 底层的代码和细节都封装了起来,功能上做了更多的扩展,比如返回结果的自动解析,网络引擎的切换,拦截器...... 有了 Retrofit 之后对于一些请求我们就只需要一行代码或者一个注解、大大简化了网络请求的代码量。 # 注解 retrofit...
6.3k 6 分钟

# 高性能网络框架 OKHttp # 出现背景 在 okhttp 出现以前,android 上发起网络请求要么使用系统自带的 HttpClient 、 HttpURLConnection 、要么使用 google 开源的 Volley 、要么使用第三方开源的 AsyncHttpClient , 随着互联网的发展,APP 的业务发展也越来越复杂,APP 的网络请求数量急剧增加,但是上述的网络请求框架均存在难以性能和并发数量的限制 OkHttp 流行得益于它的良好的架构设计,强大的 拦截器(intercepts) 使得操纵网络十分方便;OkHttp 现在已经得到 Google 官方认可,大量的...
490 1 分钟

# Android 网络编程 OkHttp OkHttp 是一个高效的 HTTP 客户端,它的横空出世,让其他的网络请求框架都变得黯然失色。 Retrofit Retrofit 是一个基于 OkHttp 的 RESTful 网络请求框架,功能强大、简洁易用及高可拓展性。Retrofit 说起来相当简单,简单到源码只有 37 个文件,其中 22 个文件是注解,还都和 HTTP 有关,真正暴露给用户的类并不多。 / 封装 / Retrofit 其实就是一个基于 OKHttp...
2k 2 分钟

# RecyclerView 高级控件 & 案例实践 RecyclerView 是 Android 及其重要的一个高级 UI 控件,使用频率及其的高,APP 的 90% 以上的页面都会使用的到。由于其出色的性能和插拔式的架构设计,被全世界广大开发者一致称赞。 # LinerLayoutManager 列表布局 纵向列表 横向列表 # 纵向列表 recyclerView.layoutManager =LinearLayoutManager(context, VERTICAL, false)recyclerView.adapter = MyAdapter()#...
985 1 分钟

# ImageView # 常见属性 属性 属性值示例 属性说明 android:src @drawable/icon_home 给 ImageView 设置要显示的图片 android:alpha 0.5[0.0~1.0] 设置透明度 android:background @drawable/background 给 ImageView 设置背景色、背景图片 android:scaleType 用于设置图片如何缩放以适应 ImageView 的大小 # ScaleType center : 保持原图的大小,显示在 ImageView 的中心。当原图的长 (宽) 大于...
1.2k 1 分钟

# TextView 文本控件 # 常用属性 属性 属性值示例 属性说明 id @+id/tv 设置一个组件 id,通过 findViewById () 的方法获取到该对象,然后进行相关设置 layout_width 100dp 组件宽度 layout_height wrap_content 组件高度 text 设置文本内容 background #ff0000 背景颜色(或背景图片) textColor #ff0000 设置字体颜色 textStyle bold/...
2.2k 2 分钟

# MaterialButton MaterialButton 是 Google 于 SDK28 推出的新控件,当遇到按钮需要圆角、或者描边等,就不必使用 xml 文件或者 Github 上找第三方库实现。 # 效果预览 # 依赖引入 添加依赖 com.google.android.material:material:1.3.0 app 的 theme 主题修改 android:theme="@style/Theme.MaterialComponents.Light.NoActionBar" # 继承关系 java.lang.Object...
5.5k 5 分钟

# Android 常用的基础布局容器 Android 的 UI 可以分为两类,一类叫做 ViewGroup 容器,一类叫做 View 视图 View 视图:(TextView,Button,ImageView) 都是常用常见的视图. ViewGroup 容器:内部可以承载、放置、添加 View 视图 # 基础布局容器 LinearLayout 线性布局:横着或竖着按顺序排列 RelativeLayout 相对布局:起始坐标时屏幕坐上角,以同级或上级为参考系定位位置 FrameLayout 帧布局:像千层饼一样,一层压着一层 ConstraintLayout 约束布局:google 于...