- 博客(42)
- 收藏
- 关注
原创 跑马灯
跑马灯自定义Viewpackage com.example.dao;import android.content.Context;import android.util.AttributeSet;import android.widget.TextView;public class MaequeeText extends TextView { public MaequeeText(Context context) { super(context); }
2020-07-09 19:41:47
215
原创 仿抖音上下滑动切换视频
仿抖音上下滑动切换视频播放器配置滑动Activity播放器配置使用IjkVideoView导入依赖//导入IJKVideoView播放器implementation 'com.dou361.ijkplayer:jjdxm-ijkplayer:1.0.5'写布局文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and
2020-07-05 09:42:08
1016
2
原创 Matrix
Matrix什么是Matrix实际应用什么是MatrixMatrix 就是矩阵的意思,我们通常使用它进行一些图片的变化操作平移、缩放、旋转、错切、水印等效果常用apiMatrix 三种动作 pre 、post 、setpre代表之前有操作,乖乖排队post代表插队到第一个set代表设置,替换之前所有{0,0,11,0,01,0,0}{MSCALE_X MSKEW_X MTRANS_XMSKEW_Y MSCALE_Y MTRANS_YMPERSP_0 MPERSP_1 MPE
2020-06-10 09:30:55
592
原创 协调者布局
协调者布局<?xml version="1.0" encoding="utf-8"?><!-- implementation 'com.android.support:design:28.0.0' --><!-- implementation 'com.google.android.material:material:1.1.0'--><!-- 协调者布局 - 协调 协调带有滑动事件带布局 他带滑动事件响应是 可被协调这布局获得滑动事件 -->&l
2020-06-10 09:12:28
274
原创 全国省市区三级联动
全国省市区三级联动PickerViewPickerView需要assets文件夹存放全国省市区json数据MainActivitypublic class MainActivity extends AppCompatActivity { private TimePickerView timePickerView; private OptionsPickerView<String> optionsPickerView; @Override pro
2020-06-08 10:54:57
238
原创 MVP框架
MVP什么是MVPMVP的使用model层presenter层view层activityfragmentview什么是MVP其实就是约束代码开发:V:用户窗口展示给用户看的(视图层–>Act,Fragment,控件)M:给用户看数据(数据层–>网络,DB,SP)P:中间层(主持M – V业务交互,P有M和V对象)接口是什么?白话定义:是在编写任何业务,想清楚我该实现什么,不需要想实现部分。抽象类是什么?白话定义:实现接口的公共部分,完成部分业务流调用;泛形是什么?白话定义
2020-06-02 21:33:55
215
原创 Animator动画
Android动画视图动画与属性动画视图动画(帧动画,补间动画)属性动画视图动画与属性动画有什么区别?视图动画操作的是View,属性动可以操作Object视图动画执行动画时,对View本身属性没有做任何改变。View本身大小,位置没有变化,我们所看到只有视觉效果反之属性动画。动画的常使用场景?帧动画 --> loading图片补间动画 --> 页面切换过场动画属性动画 --> 需要改变属性帧动画?帧?一帧 一张图片这我们一般使用res/drawable/ xml
2020-05-26 21:30:37
636
原创 RxPermissions
RxPermissions 动态权限依赖 //异步线程 api 'io.reactivex.rxjava2:rxjava:2.2.6' api 'io.reactivex.rxjava2:rxandroid:2.1.1' //权限动态申请 api 'com.tbruyelle.rxpermissions2:rxpermissions:+' //异步线程生命周期管理 api 'com.trello.rxlifecycle2:rxlifecycle-co
2020-05-26 20:48:30
216
原创 Rxjava+Retrofit
Rxjava异步线程所需依赖//Rxjavaimplementation 'io.reactivex.rxjava2:rxjava:2.2.6'implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'//okhttp3implementation 'com.squareup.okhttp3:okhttp:3.11.0'//日志implementation 'com.squareup.okhttp3:logging-interceptor:3
2020-05-26 20:35:52
1005
原创 自定义View——圆环进度条
自定义View——圆环进度条效果展示View实现效果展示动画效果View实现1.底层圆环是灰色背景2.上层圆环是红色背景3.使用动画画一条弧线View/** * 圆环进度条 */public class RoundProgressBar extends View { //绘制矩形区域 private RectF rectF; //起始角度 private float startAngle; //扫过角度 private float s
2020-05-26 20:17:00
364
原创 自定义View——抖音飘动红心
自定义view——抖音飘动红心效果展示View实现效果展示动画效果使用自定义view完成红心飘动效果View实现动画:属性动画(位移+缩放+透明度+旋转)+随机数:(属性动画参数+颜色选取)View/** * 飘心效果 * 1.创建ImageView * 2.ImageView执行组合动画 * 3.动画执行完成后销毁View */public class FlyHeartView extends RelativeLayout { private int defou
2020-05-26 20:05:52
434
原创 国际化+屏幕适配+版本号
国际化+屏幕适配+版本号国际化屏幕适配版本号国际化屏幕适配1.依赖:implementation'com.zhy:autolayout:1.4.5'//屏幕适配2.清单文件设计稿的尺寸:<meta-dataandroid:name="design_width"android:value="1080"></meta-data><meta-dataandroid:name="design_height" android:value="1920
2020-05-12 20:27:42
212
原创 登录与注册
登录与注册首次登录进入注册页面注册成功自动跳转登录登录过后,自动登录Activity页面首次登录进入注册页面public class RegisterFragment extends Fragment { private static final int SUCCESS = 110; private static final int DEFEAT = 111; private UserMode userMode; private View view; priv
2020-05-12 19:27:17
306
原创 中国建材小项目
中国建材小项目MVC设计模式Utils工具类callback回调Model层创建Base包主页面样式Fragment实现效果MVC设计模式Utils工具类public class OkhttpUtils { private static final int time = 60*1000; private static OkhttpUtils okhttpUtils = null; private OkHttpClient client;//client privat
2020-05-12 15:58:53
373
原创 SurfaceView——绘制背景
考试1月ASurfaceView绘制白色椭圆背景SurfaceView绘制粉色椭圆背景SurfaceView绘制加号SurfaceView绘制对号SurfaceView绘制刷新符号白色椭圆背景public class WhiteView extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder surfaceHolder; private String text; p
2020-05-11 15:44:12
598
原创 高德地图导航
高德地图导航出发地——目的地<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xml...
2020-05-05 15:09:07
474
1
原创 SurfaceView播放视频
SurfaceView播放视频RelativeLayout<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/...
2020-04-29 11:41:21
271
原创 SurfaceView画板操作
SurfaceView画板操作画板——画路径画板——画动态直线画板——画路径package com.example.review.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;...
2020-04-28 08:07:41
372
原创 打开照相机+摄像机+图库+截图+网页
打开照相机+摄像机+图库+截图+网页package com.example.highday10_3_30;import android.Manifest;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.Bit...
2020-04-28 07:55:51
496
原创 蓝牙的使用
蓝牙JAVA代码public class MainActivity extends AppCompatActivity implements View.OnClickListener { private static final int OPEN = 110; private Button bt_open; private Button bt_close;...
2020-04-23 14:28:33
166
原创 MVC模式
MVC模式中Okhttp的使用首先封装Okhttp添加Okhttp依赖、log拦截器依赖implementation 'com.squareup.okhttp3:okhttp:3.12.1'//okhttp依赖implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'// log拦截器依赖封装utilspublic ...
2020-04-20 14:18:46
138
原创 Okhttp基本操作
Okhttp基本操作使用okhttp完成的登录、注册、上传和下载public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button get; private Button register; private Button login; ...
2020-04-17 15:56:39
182
原创 正则表达式
正则表达式校验数字的正则表达式校验字符的正则表达式特殊需求正则表达式校验数字的正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([...
2020-03-11 16:57:45
94
原创 Android Service进程间通信
Android Service进程间通信介绍进程通信服务端和客户端AIDL介绍使用AIDL创建服务端moudle:aidl_server客户端moudle:aidl_client介绍进程通信进程间的通信可以理解为一个app向另一个app发出请求、响应请求的过程,举个例子,比如你定了一个外卖,此时需要向商家付款,系统会为你提供很多付款方式:支付宝、微信、银行卡等等,你选择了微信,系统就会为你打开...
2020-03-06 17:28:16
755
原创 Foreground Service前台服务
Foreground Service前台服务介绍前台服务模拟播放器前台服务发送通知介绍前台服务前台服务是那些被认为用户知道(用户所认可的)且在系统内存不足的时候不允许系统杀死的服务。前台服务必须给状态栏提供一个通知,它被放到正在运行(Ongoing)标题之下——这就意味着通知只有在这个服务被终止或从前台主动移除通知后才能被解除。模拟播放器前台服务发送通知1、首先创建一个服务并发送通知pu...
2020-03-05 18:52:20
2492
原创 Android Service服务
Service服务Service介绍创建一个服务Service的启动方式startServicebindServiceService介绍1.Service,服务,是四大组件之一, 和Activity 非常相似, 一般运行在后台, 没有用户界面, 可执行的程序2.Activity 和 Service的区别不同点:Activity : 可以和用户交互, 页面可见Service : 后台运行...
2020-03-05 18:42:33
146
原创 EventBus-订阅总线
EventBus-订阅总线介绍EventBus案例:通过EventBus给Fragment设置EditText传来的值介绍EventBusEventBus是一种用于Android的事件发布-订阅总线,它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。在EventBus中有三个重点1、发送者用来在任意线程中,发送数据,...
2020-03-05 14:50:01
196
原创 BroadCastReceiver广播接收者
BroadCastReceiver广播接收者介绍广播接收者广播接收者生命周期实现广播接收者静态注册动态注册发送广播无序广播有序广播本地广播介绍广播接收者其实BroadcastReceiver就是应用程序间的全局大喇叭,即通信的一个手段, 系统自己在很多时候都会发送广播,比如电量低或者充足,刚启动完,插入耳机,输入法改变等,系统都会发送广播,这个叫系统广播,每个APP都会收到,如果你想让你的应用...
2020-03-04 17:28:38
230
原创 ContentProvider 系统URI
ContentProvider 系统URI系统URI系统权限案例一:获取手机联系人案例二:获取手机短信案例三:获取手机图片案例四:获取手机音频案例五:获取手机视频案例六:手机联系人的增删改案例七:自动添加验证码系统URI手机系统URI获取图库(读sd卡的权限)MediaStore.Images.Media.EXTERNAL_CONTENT_URI获取视频(读sd卡的...
2020-03-03 17:41:52
1665
原创 ContentProvider内容提供者的使用
ContentProvider内容提供者的使用介绍ContentProvider内容提供者创建内容提供者创建内容解析者自定义权限介绍如何自定义权限设置自定义权限介绍ContentProvider内容提供者1.ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能。2.ContentProvider有三个重点:(1) contentProvid...
2020-03-02 17:59:27
352
原创 Sqltie数据库
Sqltie数据库Sqltie数据库介绍Sqltie数据库的创建Sqltie数据库的增删改查查询Sqltie数据库介绍Sqltie数据库是Android 系统中集成的轻量级的数据库Sqltie数据库特点:轻量级 只用一个动态的库, 是以单个文件的形式进行存取跨平台 支持多个操作系统零配置 无需安装, 直接使用嵌入式 内嵌到手机中它与Mysql的语法一直同时sql语句,并...
2020-03-02 17:30:44
525
原创 Banner轮播图
Banner轮播图Banner介绍Banner使用Banner介绍banner是一个优秀的、开源的能够实现轮播图效果的第三方框架。许多优秀的App都在使用banner来丰富自己App的外观。关于banner它有官方的文档,可以用来参考https://github.com/youth5201314/banner/tree/release-1.4.10Banner使用1、需要先导入依赖...
2020-02-28 18:09:58
354
原创 SharedPreferences存储+SD卡存储
SharedPreferences存储+SD卡存储SharedPreferences存储特点写数据读数据案例(记住用户登录信息)外部文件存储(SD卡)重要代码读写权限案例(从网络下载图片保存到SD卡,再读取到页面)SharedPreferences存储特点1、保存少量的数据,且这些数据的格式非常简单。 存储5种原始数据类型: boolean, float, int, long, String...
2020-02-28 17:53:51
262
原创 Fragment+ViewPager+TabLayout的综合应用
Fragment+ViewPager+TabLayout的综合应用App导航栏案例效果展示依赖jar包创建布局java代码以及所需适配器App导航栏案例效果展示这是采用 TabLayout + ViewPager 滑动切换和点击标签切换的一个效果。TabLayout 支持横向滚动多标签设置,还可以支持指示器,支持与 ViewPager 进行联动。依赖jar包AndroidX用户需要先...
2020-02-27 13:51:11
470
1
原创 ViewPager的使用
ViewPager的使用介绍ViewPager如何使用ViewPager介绍ViewPager首先我们看一下效果这就是ViewPager——视图翻页工具,我们平时在App上看到的新闻、淘宝最上面一栏的导航、看视频时的推荐,都是利用ViewPager实现的ViewPager 直接继承了 ViewGroup,所有它是一个容器类,可以在其中添加其他的 view 类。ViewPager 需要一...
2020-02-26 14:04:11
7412
原创 Fragment高级
Fragment高级Fragment回退栈Fragment传值Activity给Fragment传递值Fragment给Activity传递值接口回调fragment 给 fragment 传值简单的案例(底部按钮控制fragment切换)Fragment回退栈adioGroupId.setOnCheckedChangeListener(new RadioGroup.OnCheckedChan...
2020-02-25 18:45:34
291
原创 Android Fragment碎片
Fragment碎片什么是Fragment?Fragment的优势创建一个Fragment加载Fragment的两种方式静态加载fragment什么是Fragment?在应用开发过程中,我们常常会遇到这样的需求:在屏幕上单击某个按钮显示其内容,我们可以通过Activity跳转实现,但是这样做消耗手机资源而且实现繁琐,还要考虑各种可能出现的bug,所以我在开发中优选Fragment。我们可以把F...
2020-02-25 14:36:39
214
原创 Notitfcation 通知
双击退出,Notitfcation 通知双击系统按钮实现退出Notitfcation发送一个最简单的通知(无交互)双击系统按钮实现退出首先我们要获取手机的系统back键,通过onKeyDown方法捕获,实现exit逻辑实现原理就是判断用户两次按键的时间差是否在一个预期值之内,是的话直接直接退出,不是的话提示用户再按一次后退键退出。 @Override public boole...
2020-02-24 18:00:27
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人