Android四大组件-Service
一. 前言1. 定义服务,是 Android 四大组件之一,属于 计算型组件。
2. 作用提供需要在后台长期运行的服务,如复杂计算,音乐播放,下载等。
3. 特点无用户界面,在后台运行,生命周期长。
4. 创建方式① 在清单文件中自动注册
② 在清单文件中手动注册
还需要自己去清单文件中注册
二. 生命周期1. 生命周期常用方法
① 四个手动条用的方法
手动调用方法
作用
startService
启动服务
stopService
关闭服务
bindService
绑定服务
unbindService
解绑服务
② 五个自动调用的方法
内部自动调用的方法
作用
onCreate
创建服务
onStartCommand
开始服务
onDestroy
销毁服务
onBind
绑定服务
onUniind
解绑服务
2. 生命周期方法具体介绍① startService
1> 自动调用的方法:onCreate,onStartCommand
2> 注意:
若一个Service被startService多次启动,那 ...
Android项目:图片展示
一. 运行效果以及源码1.gif图效果
2.源码地址PictureShow
二.主要的思路使用RecyclerView显示数据,通过使用CardView让页面美观。使用系统提供的 SwipeRefreshLayout 实现刷新。
三. 使用到的技术点1. RecyclerView参考:RecyclerView
2. CardView在 Item 最外层包裹一个 CardView,并且设置了两个 CardView 经常使用的属性。
一个是 cardElevation 指的是 CardView 的一个高度,可以这样想象,RecyclerView 是一个平面,而 CardView 就在它的上面,我们可以通过设置 cardElevation 来控制这个高度,也就是 CardView 在这样的高度时的一个阴影效果,高度越高,阴影越明显。
还有一个属性是 cardCornerRadius 指的是 CardView 四周的弧度,值越大,圆弧就越明显。
123456789101112131415161718192021222324252627282930313233343536373839404142 ...
Android多线程-有用的Handler
一. 前言1. 什么是Handler?A Handler allows you to send and process Message and Runnable objects associated with a thread’s MessageQueue。
简单地说,就是一套 Android 传递机制。
2. 如何使用 Handler?① 创建Message - obtainMessage
② 发送Message - sendMessage,post
③ 处理Message - handleMessage
3. Message① 两个整型值,arg1,arg2,轻量级存储int类型的数据
② 一个Object值,任意对象
③ replyTo,线程通信的时候使用
④ what,用户自定义的消息码让接受者识别消息
二. Handler 的 工作原理Android Handler:图文解析 Handler通信机制 的工作原理
三. Handler的使用方式Android:这是一份Handler消息传递机制 的使用教程
四. Handler源码分析Android:这是一份Handler消息 ...
Android控件-ExpandableListView
一. 前言1. 什么是ExpandableListView?1234567java.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.widget.AdapterView<T extends android.widget.Adapter> ↳android.widget.AbsListView ↳android.widget.ListView ↳android.widget.ExpandableListView
根据继承图来看,ExpandableListView是ListView的子类。而expandable 在英文中的意思是可扩展的,所以ExpandableListView就是一个可以扩展的、有层级的ListView。
二. 属性 & 属性1. 指示器123android:groupIndicator //group指示器,取值可以是任意的Drawable对象,默认情况下是一个向下的箭头,点击展开内容之 ...
Android控件-RecyclerView
一. 前言1. 使用方式① build.gradle(Module:app)中添加依赖。
1implementation 'androidx.recyclerview:recyclerview:1.0.0'
2. 布局文件中搜索RecyclerView下载
2. 介绍RecyclerView是 Google 用来替代 ListView与 GridView 的控件。默认提供了三个 LayoutManager。
LinearLayoutManager:线性布局管理器,支持横向,纵向。
GridLayoutManager:网格布局管理器。
StaggeredGridLayoutManager:瀑布流式布局管理器。
二. RecyclerView.AdapterRecyclerView使用的适配器需要继承RecyclerView.Adapter,RecyclerView.ViewHolder本身是一个抽象类,我们往往自己继承这个抽象类,然后绑定我们的布局控件对象。继承该类时必须传入一个itemView,表示这个item显示的View。
在 RecyclerView ...
Android布局-布局技巧
1. 减少布局层次① 官方建议布局层次 -> 最多10层。
② 如何减少 -> 学会使用相对布局。
③ 如何减少 -> 学会使用控件的组合或者自定义控件。
2. 一些有用的属性① 重用布局文件。
② 减少视图层级。
③ 需要时才加载。
3. 总结:如何优化布局① 减少层次。
② 删除无用布局。
③ 布局结构要清晰。
④ 选择合适的布局。
Android控件-ListView
一. 前言1. 什么是 ListView ?它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。
123456java.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.widget.AdapterView<T extends android.widget.Adapter> ↳android.widget.AbsListView ↳android.widget.ListView
二. ListView的属性1234567891011121314151617android:cacheColorHint="#00000000":去除listview的拖动背景色android:listSelector="#00000000":设置item被选中之后的颜色android:divider:分割线的颜色android:dividerHeight:分隔线的高度android:scrollbars= ...
自定义View-XLToolBar
一. 前言模仿系统的XLToolBar。
Github地址:XLToolBar
二. 自定义View1. 自定义用到的属性123456789//左边的控件private Button left_btn;//中间的控件private Button logo_btn;//右边的控件private Button right_btn;//布局文件idprivate int layout_id;
2. 在values文件夹下自定义属性1234567<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="XLToolBar"> <!--布局文件的id--> <attr name="layout_id" format="reference"/> </declare-styleable>< ...