自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Zxing的使用

文章目录依赖代码依赖 /* zxing添加依赖 */ implementation 'com.github.yuzhiqiang1993:zxing:2.2.5' //butterknife框架 annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' implementation 'com.tbruyelle.rxpermissions2:rxpermissions:+

2020-11-04 14:37:57 125 1

原创 RxPremission&Rxlifecycle

文章目录详细代码权限详细代码/** * 权限 */public class RxPremissionActivity extends RxAppCompatActivity { @BindView(R.id.btn_addPremissionActivity) public Button addPremission; @BindView(R.id.btn_addSinglePremission) public Button singlePremission;

2020-11-04 10:47:07 15

原创 Design

文章目录协调者模式效果常见属性详细代码协调者模式效果常见属性AppBarLayout用于折叠,将可折叠的内容写在CollapsingToolbarLayout控制中属性:contentScrim:折叠后Toolbar显示的颜色CollapsingToolbarLayout:可以进行滑动,布局有两种控件可以选择:NestedScrollView 和 RecyclerView可以通过滑动来控制上半部分是否折叠属性:collapsedTitleGravity:折叠后title位于To

2020-10-31 10:10:13 10

原创 pickerView

文章目录PickerView依赖官网详细代码PickerView依赖compile ‘com.contrarywind:Android-PickerView:4.1.9’官网https://github.com/Bigkoo/Android-PickerView详细代码public class MainActivity extends AppCompatActivity { @BindView(R.id.timePicker) public Button timerPic

2020-10-29 16:02:30 12

原创 Matrix

文章目录Matrix 矩阵详细代码PhotoViewMatrix 矩阵缩放(Scale)对应 MSCALE_X 与 MSCALE_Y位移(Translate)对应 MTRANS_X 与 MTRANS_Y错切(Skew)对应 MSKEW_X 与 MSKEW_Y旋转(Rotate)旋转没有专门的数值来计算,Matrix 会通过计算缩放与错切来处理旋转。详细代码1.自定义View@SuppressLint("AppCompatCustomView")public class Matr

2020-10-29 15:56:55 13

原创 Retrofit+RxJava

文章目录RetrofitRetrofit2的简述Retrofit注解Retrofit案例RxJava相关概念RetrofitRetrofit2的简述Retrofit其实我们可以理解为OkHttp的加强版,它也是一个网络加载框架。底层是使用OKHttp封装的。准确来说,网络请求的工作本质上是OkHttp完成,而 Retrofit 仅负责网络请求接口的封装。它的一个特点是包含了特别多注解,方便简化你的代码量。并且还支持很多的开源库(著名例子:Retrofit + RxJava)。Retrofit和

2020-10-23 11:58:04 37

原创 butterknife、dagger

文章目录ButterKnife1.app-配置2.Module配置3.详细代码DaggerButterKnife1.app-配置1.androidximplementation 'com.jakewharton:butterknife:10.1.0'annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'2.其它版本 /** * ButterKnife依赖 */ implementati

2020-10-19 16:29:40 13

原创 初识ARouter

文章目录功能详细代码MainActivity跳转页面传递对象里需要的Service实体类功能详细代码MainActivitypublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV

2020-10-19 09:21:19 11

原创 组件化

文章目录组件化1.模块化2.组件化3.模块化与组件化的区别4.Calces配置组件化5.Calces如何使用项目build.gradle子模块(user)配置管理依赖及版本号1.创建config.gradle2.引入配置文件3.修改各模块内容并指定清单文件4.配置变量组件化1.模块化每个module都是一个library不能独立运行2.组件化每个module都是一个组件(application)可以独立运行->模块化测试;3.模块化与组件化的区别模块化不能独立运行组件化可以独立运行4.

2020-10-16 13:48:51 23

原创 安卓 自定义View - 事件分发

文章目录事件分发所有都为默认Middle ---- Dispatch---trueMiddle--Dispatch -- false 不向下分发、向上传递Middle--intercept--true 拦截子控件,自己处理TouchEventMiddle--intercept--false 和默认一样,由底层控件处理TouchEvent事件分发所有都为默认Middle ---- Dispatch—true不向下分发、不向上传递,所有类都不执行touchEvent,只在自己的dispatch方法中

2020-09-30 15:04:38 14

原创 自定义View 下拉刷新效果

文章目录效果代码效果代码/** * 自定义控件 */public class RefreshView extends FrameLayout { /** * 拖出来的头布局高度 */ private int headHeight = 300; private PointF startPoint; private float startX; private float startY; private LinearLayout

2020-09-30 11:54:08 30

原创 安卓 自定义View绘制圆形进度

文章目录动画案例一自定义ViewActivityvalues/attrs页面布局动画案例二动画案例一自定义View/** * 绘制圆弧 * 注意:1.测量宽高,使终保持一个正方形(默认wrap_content无效) * 2.文字绘制到矩形正中心 * 解决:1.wrap_content */public class MyView extends View { private Paint paintRed; private Paint paintGray;

2020-09-25 15:07:17 20

原创 安卓动画(一)

文章目录安卓动画视图动画帧动画(loading界面,上拉刷新时)补间动画(页面切换)属性动画安卓动画视图动画帧动画(loading界面,上拉刷新时)res/drawable/animation-list标签<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawa

2020-09-24 15:14:04 160

原创 网上购物案例-数据库

文章目录数据表设计用户信息表用户密码表商品表商品留言我的收藏求购商品求购商品留言我发布的商品我求购的商品已购买的商品购物车数据表设计用户信息表字段名字段类型是否可为空备注IdInt(11)否主键ModifyDatetime是修改时间UsernameVarchar(50)否用户昵称PhoneChar(11)否用户手机号码realNameVarchar(20)是用户真实姓名ClazzVarchar(20)是用户所在班

2020-09-09 08:42:30 53

原创 Android 四大纲

《安全攻防与底层交互》教学大纲一、课程教学目标(一)知识目标目录一、课程教学目标 2(一)知识目标 2(二)高度目标 2与企业需求相结合:解决了企业的什么问题,有何好处? 2我们在企业中开发android软件,解决企业提出的需求。了解公司人文, 文化,制度,从被接受->被认同->被尊重,在工作和实践中提高自己, 给企业创造更大价值。 2与行业规范相结合:实现产品过程中,严格遵守开发流程,严格按照开发实现完成产品,不断 优化代码,完成从需求到设计到产品实现。 2与行业(技术

2020-08-06 08:26:45 97

原创 git常用操作

GIT 命令命令git initgit statusgit add . (提交到缓存)git commit -m "说明"(提交)git branch(查看分支)git checkout -b dev1(dev1是分支名称)git checkout dev1(指定到dev1分支下)git merge dev1(合并分支dev1到主干上)命令git initgit statusgit add . (提交到缓存)git commit -m “说明”(提交)git branch(查看分支)git c

2020-08-05 17:18:49 51

原创 Java基础大纲

文章目录第一单元 走进Java(4课时)第二单元 数据类型及集成开发环境(4课时)第三单元 运算符及选择结构(4课时)第四单元 循环结构 (4课时)第五单元 数组(上)(4课时)第六单元 数组(下)、 类和对象(上)(2课时)第七单元 类和对象(下)(4课时)第八单元 方法和变量(上)(4课时)第九单元 方法和变量(下)(4课时)第十单元 封装(上)(4课时)第十一单元 封装(下)、继承(上)(2课时)第十二单元 继承(下)(4课时)第十三单元 多态(上)(4课时)第十四单元 多态

2020-07-22 19:42:53 82

原创 安全攻防与底层交互大纲

安全攻防与底层交互《安全攻防与底层交互》教学大纲第1单元 SVN以及SVN China,以及组件化 10第2单元 arouter,calces的使用 11第3单元 mvp架构,dagger2,butterknife的使用 12第4单元 rxjava,rxandroid,retrofit的使用 12第5单元 rxpermissions,rxlifecycle的使用 14第6单元 补间动画以及帧动画使用 14第7单元 属性动画以及差值器以及svg动画 15第8单元 自定义view,自定义属性

2020-07-13 10:06:12 228

原创 Notificaton+IntentService下载

Notificaton+IntentService下载下载音乐![在这里插入图片描述](https://img-blog.csdnimg.cn/20200704093703402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FteW5u,size_16,color_FFFFFF,t_70思路1.后台下载用IntentService2.获得文件总

2020-07-04 09:43:17 811

原创 基于Service的音乐播放器

简易音乐播放器效果代码Service.javaActivity.java布局清单文件效果代码Service.javapublic class MusicFunctionService extends Service { public ArrayList<String> musicList = null; public ArrayList<Song> songs = new ArrayList<>(); public MediaPlaye

2020-07-03 19:13:35 181

原创 初识Application

Application一.Application是什么二.Application的应用1.共享数据一.Application是什么一个全局单例模式的类,用于维护应用的状态。当运行项目时优先于其他类运行。可以写一个自己的Application类,需要在清单文件Application标签中注册,添加name属性。可以通过Context.getApplicationContext()方法获得全局上下文对象。整个过程中生命周期最长二.Application的应用1.共享数据Application

2020-07-01 19:36:47 122

原创 进程保活之常见方式

进程保活一.为什么需要进程保活二.进程优先级前台进程(Foreground process)可见进程(Visible process)服务进程(Service process)后台进程(Background process)空进程(Empty process)三.保活方式1. 利用 Notification 提升权限2. 利用系统Service机制拉活3. 添加Manifest文件属性值为android:persistent=“true”4. 覆写Service的onDestroy方法5. 利用系统广播拉活

2020-07-01 16:31:21 238

原创 各种依赖各种有

URI获取图库:(读sd卡的权限)(1)uri:MediaStore.Images.Media.EXTERNAL_CONTENT_URI(2)字段:MediaStore.Images.Media.TITLE; 图片名称MediaStore.Images.Media.SIZE; 大小MediaStore.Images.Media.DATA; 地址MediaStore.Images.Media.HEIGHT; 高MediaStore.Images.Media.WIDTH; 宽获取视

2020-06-30 18:52:19 112

原创 Binder 与AIDL

Binder AIDL常见概念1.IPC2.Binder3.AIDLBinder与AIDL关系Binder机制如何实现进程间通信常见概念1.IPCIPC:Inter-Process Communication,进程间的通信或跨进程通信2.BinderBinder是Android的一个类,它实现了IBinder接口。从IPC角度来说,Binder是Android中的一种跨进程通信方式。通过这个Binder对象,客户端就可以获取服务端提供的服务或数据,这里的服务包括普通服务和基于AIDL的服务。

2020-06-30 15:24:11 100

原创 IntentService

IntentServiceIntentService与Service区别创建IntentService下载Json串案例IntentService与Service区别IntentService是Service的子类。Service运行在主线程,而IntentService为异步运行。Service运行结束后不会自动停止 服务,IntentService执行完任务后会自动销毁。举例,如果我们想要实现后台下载Json串这个任务,用Service的话,需要自己写个子线程。用IntentService就不需要手

2020-06-27 19:05:18 123

原创 Service-前台服务

前台服务简介效果具体代码简介后台服务在系统内存不足时有被回收的可能,为了保活服务我们可以选择将服务写为前台服务。前台服务优先级更高、不易被回收,除非停止服务。效果具体代码MyService.javapublic class MyServices extends Service { private static final String TAG = "amy"; @Override public void onCreate() { super.

2020-06-27 17:04:54 190

原创 Service生命周期和启动方式

Service生命周期和启动方式一.Service介绍二.两种状态三.创建方式1.自定义类继承Service实现类中onCreate(),onBind()方法2.清单文件中注册四.启动方式1.startService2.bindService效果具体代码三.两者区别一.Service介绍Service也是Android的四大组件之一,单词本身的含义“服务”。就像我们计算机中的服务器一样,没有界面默默运行在后台。所以在Android中它是一个后台运行的组件,主要去执行一些耗时操作,或者是执行一些特定操作。

2020-06-27 16:32:58 223

原创 BroadcastReceiver

广播接收者什么是广播什么是BroadcastReceiver项目中使用广播广播生命周期广播分类使用BroadcastReceiver1.自定义类继承BroadcastReceiver,重写onReceive什么是广播生活中的广播大家都知道吧,就像村里的大喇叭,只要喇叭一放音乐全村都可以听到。什么是BroadcastReceiverAndroid四大组件之一,BroadcastReceiver就相当于村里的大喇叭,用来在APP之间传数据的,是一种通信手段。系统自己在很多时候都会发送广播,比如电量低或

2020-06-24 19:13:14 177

原创 自定义内容提供者

说明: - Uri uri = Uri.parse("content://后面是提供方清单文件中的值");,其中”content://”一定要加- 内容索取方可以新建项目来编写,这样可以更好的体验内容提供者跨app的作用

2020-06-24 09:45:43 137

原创 ContentProvider系统Uri

读取联系人读取联系人读取联系人uri:Telephony.Sms.CONTENT_URI字段:Telephony.Sms.ADDRESSTelephony.Sms.BODY权限:<uses-permission android:name="android.permission.READ_SMS" /><uses-permission android:name="android.permission.WRITE_SMS"/> 代码://加动态权限@Requi

2020-06-24 08:51:43 218

原创 SQlite数据库常用操作

SQlite数据库简介相关接口、类一.SQLiteOpenHelper相关方法二.SQLiteDatabase相关方法三.Cursor常用方法四.详细代码1.继承SQLiteOpenHelper重写方法2.获得SQLiteDatabase对象操作数据简介提起数据库,那种类可太多了Oracle、MySQL、SQLSever、DB2...接下来我们要学习的是Android SDK自带的数据库SQlite,发音:[sk'laɪt] 。SQlite数据库特点也很多:轻量级、跨平台、多语言接口等。相关接口、类

2020-06-22 22:42:02 191 1

原创 SharedPreferences存储数据及文件数据存储

SharedPreferences存储数据及文件数据存储什么是内部、外部存储内部存储获得路径方法SharedPreferences存储外部存储获得公共目录方法文件读写什么是内部、外部存储内部存储获得路径方法context.getCacheDir()context.getFilesDir()SharedPreferences存储public void writeShare(){ SharedPreferences sharedPreferences = getSharedP

2020-06-21 18:07:23 1012

原创 ViewPager2与TabLayout

ViewPager2与TabLayout展示效果依赖一.Activity布局二.Activity代码三.适配器四.Fragment自定义展示效果说明:项目必须运行在Androidx环境下使用依赖implementation ‘androidx.viewpager2:viewpager2:1.0.0-alpha01’//tablayoutimplementation ‘com.google.android.material:material:1.2.0-alpha01’一.Activity布

2020-06-20 09:00:12 597

原创 Fragment+RadioButton(setCompoundDrawables方法)

Fragment结合RadioButton改变状态效果展示一.Activity核心代码二.Activity布局效果展示说明:1ViewPager+3Fragment+适配器一.Activity核心代码public class Main2Activity extends AppCompatActivity { private ViewPager pager; Fragment first; Fragment order; Fragment mine; A

2020-06-19 15:34:35 184

原创 ViewPager应用三Fragment+TabLayout

Fragment+TabLayout效果展示一.Activity布局二.Activity代码三.适配器效果展示说明:1ViewPager+4Fragment+1TabLayout+适配器TabLayout依赖:implementation ‘com.android.support:design:28.0.0’一.Activity布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

2020-06-19 14:39:31 123

原创 ViewPager应用一引导页

ViewPager-引导页效果一.Activity布局二.Activity代码三.适配器效果说明:最后一次时候出现倒计时,自行添加跳过功能以及小白点。分析:1ViewPager+4ImageView+PagerAdapter一.Activity布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/re

2020-06-19 14:27:11 131

原创 Fragment嵌套

Fragment嵌套传值Activity核心代码Fragment1Fragment2Fragment3Fragment4接口说明:外层两个Fragment我的,你的。我的中又包括两个Fragment。Activity核心代码public class FragmentActivity extends AppCompatActivity{ private RadioGroup group; private FragmentManager manager; private

2020-06-18 20:09:32 132

原创 fragment一

Fragment 一一.创建Fragment1方式一: 静态显示1.activity布局中编写fragment标签并指定其name属性2.创建Fragment子类方式二:动态显示1.创建占位标签(activity布局)2.创建Fragment子类并重写onCreate方法(同上)3.使用事务添加fragment二.Fragment常用类三.FragmentTransaction常用方法四.Fragment生命周期五.Fragment与Activity交互一.创建Fragment1方式一: 静态显示1.

2020-06-16 21:11:05 174

原创 Notification

通知效果展示一.相关类二.NotificationCompat.Builder常用方法三.通知样式四.普通通知效果展示一.相关类构建通知管理通知NotificationCompatNotificationManager二.NotificationCompat.Builder常用方法setSmallIconsetContentTitlesetContentTextsetContentInfosetContentsetWhensetShowWhensetG

2020-06-16 10:12:47 200

原创 练习题

练习题目PopupWindow+MenuPopupWindow+Menu要求:1.ListView图文混排展示(适配器优化ViewHolder),并实现点击事件,点图片弹出上下文菜,点文字弹出PopupMenu; 2.上方添加OptionMenu三个,点击其中一个Menu弹出PopupWindow, 点击PopupWindow实现页面跳转。 3.实现PopupWindow的两种显示方式showAtLocation(),showA

2020-06-15 18:17:56 420

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除