自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 rx全家桶使用博客网址

rx全家桶博客网址https://blog.csdn.net/weixin_44419661/article/details/98961173

2019-08-09 20:22:24 249

转载 mvp结构、ButterKnife和dagger2的使用博客网址

rx全家桶博客网址https://blog.csdn.net/weixin_44419661/article/details/98961173mvp结构、ButterKnife以及dagger2的使用https://blog.csdn.net/weixin_44419661/article/details/98957127

2019-08-09 20:20:28 130

原创 ButterKnfie+Dagger2基本使用

一. ButterKnfieButterKnife(黄油刀)是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。ButterKnfie依赖导入:implementation ‘com.jakewharton:butterknife:8.8.1’annotationProcessor...

2019-08-05 15:40:43 236

原创 EventBus和Otto第三方构架

EventBus和Otto第三方框架EventBusEventBus能够简化各组件间的通信,让我们的代码变得简单,能有效的分离事件发送方和接收方EventBus三大要素Event 事件 它可以是任意类型Subscriber 事件订阅者Publisher 事件的发布者EventBus四种线程模型POSTING (默认) 表示事件处理函数的线程跟发布事件的线程在同一个线程。MA...

2019-08-03 09:59:48 268

原创 BroadCastReceiver广播

BroadCastReceiver广播广播三要素广播发送者:发送广播广播接收者:接收广播内容:处理广播的信息广播的使用场景同一个APP下多个组件之间传递数据两个APP之间传递数据实现广播广播接受者自定义类继承BroadcastReceiver,重写onReceive方法注册广播 (安卓四大组件都需要注册)静态注册:在清单文件中动态注册:在代码中注册(注册...

2019-08-03 09:59:33 418

原创 Service的两种启动方式+生命周期+IntentService的特点

Service服务两种启动方式启动方式开启服务:startService()停止服务:stopService()绑定方式绑定服务:bindService()解除绑定:unbindService()生命周期启动方式的生命周期onCreate() —— onStartCommand() —— onDestroy()绑定方式的生命周期onCreate() —— on...

2019-08-03 09:53:47 1111

原创 ARouter的使用

ARouterARouter简介ARouter是阿里巴巴开源的Android平台中对页面、服务提供路由功能的中间件,提倡的是简单且够用。ARouter优势支持直接解析标准URL进行跳转,并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器,自定义拦截顺序支持依赖注入,可单独作为依赖注入框架使用支持InstantRun支持MultiDex(Google方案)映射关系按组分...

2019-08-03 09:43:37 156

原创 SVN的使用以及Calces组件化

SVNSVN的简介Subversion简称SVN,是目前使用广泛的集中式版本控制系统,能够在项目开发过程中很好的辅助我们进行团队协作。SVN可以为团队开发提供代码备份、协同修改、冲突显示、增量式版本控制、权限控制、分支操作等功能。SVN的安装与使用:https://blog.csdn.net/sinat_37812785/article/details/80243207...

2019-08-03 08:52:53 153

原创 屏幕适配+国际化流程

一. 屏幕适配我们为什么要屏幕适配呢???首先我们每个人的屏幕都各不相同,就好比手机与平板的宽度和高度。那么我们做完的APP怎样怎样才能在不同的设备上使得我们的APP界面不会因为屏幕而影响美观呢?这里我们就需要做一个屏幕适配。1. 导包在gradle中导入 implementation ‘com.zhy:autolayout:1.4.5’2. 设置开发版屏幕尺寸这个尺寸是layout布...

2019-07-24 16:08:08 205

原创 友盟多渠道打包+混淆+腾讯云直播的推/拉流

一. 友盟多渠道打包各种下载应用的软件网址,叫渠道分发商,如腾讯应用宝,百度,Google Play,多渠道打包通过了解下载量,有针对性的打广告多渠道打包意义:可以用这个APK,放上一段业务逻辑,获取用户手机的ID,应用启动,网络请求将ID发送到服务器上,用ID进行判断,数据库中有无这个ID,没有的话,存入数据库,算成下载量,如果存在ID,就不算下载量。另一方面:获取APK的标识,上传服...

2019-07-23 21:02:26 513

原创 友盟分享+推送

分享添加依赖 implementation 'com.umeng.sdk:common:1.5.1' implementation 'com.umeng.sdk:analytics:7.5.0' implementation 'com.umeng.sdk:share-core:6.9.1' implementation 'com.umeng.sdk:share-qq:6...

2019-07-22 19:45:21 119

原创 Banner轮播图+FlyCoTablayout

Banner轮播图我们需要添加依赖//轮播依赖implementation'com.youth.banner:banner:1.4.10'//Glide框架implementation "com.github.bumptech.glide:glide:4.6.1"添加网络权限//网络权限<uses-permission android:name="android.p...

2019-07-18 21:00:05 228

原创 SurfaceView播放视频发送弹幕+实现滚动歌词

SurfaceView使用步骤使用SurfaceView的步骤:首先要继承SurfaceView,实现SurfaceHolder.Callback接口。重写方法:surfaceChanged:surface大小或格式发生变化时触发,在surfaceCreated调用后该函数至少会被调用一次。surfaceCreated:Surface创建时触发,一般在这个函数开启绘图线程(新的线程,不...

2019-07-17 21:45:32 392

原创 系统应用的调用

权限首先我们需要添加权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><!--读SD卡权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!...

2019-07-16 19:37:33 113

原创 DrawerLayout与Toolbar实现抽屉+SlidingMenu第三方

DrawerLayout与Toolbarmainactivity布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas....

2019-07-15 17:32:39 119

原创 万能适配器BaseRecyclerViewAdapterHelper

万能适配器万能适配器依赖:添加给主项目Gradle的依赖 maven { url 'https://jitpack.io' }添加给需要项目的依赖implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.42'implementation 'com.android....

2019-07-12 21:28:53 468

原创 RecyclerView常用方法+代码实现+删除动画错位+接口回调+多布局

RecyclerViewRecyclerView布局依赖:implementation 'com.android.support:recyclerview-v7:28.0.0’RecyclerView比ListView的优势RecyclerView比listview实现效果更多RecycelrView支持多布局;RecyclerView根据项目需要插拔功能RecyclerView默...

2019-07-11 21:08:38 407

原创 蓝牙设备

蓝牙蓝牙介绍是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。蓝牙权限<!-- 用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 用于访问GPS定位 --> <uses-per...

2019-07-10 21:18:02 125

原创 OkGo第三方框架的上传与下载+Glide图片加载器

OkGo第三方框架OkGo依赖:implementation 'com.lzy.net:okgo:3.0.4’OkGo下载文件 OkGo.<File>get("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") .execute(new FileCallback("/sdcard/","aaaaa...

2019-07-09 19:57:16 988

原创 OkHttp协议介绍以及文件下载和上传+OkHttp协议封装+OkHttp拦截器

OkHttp协议okhttp是一个第三方类库,用于android中请求网络这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary)文件下载用Get方式 OkHttpClient okHttpClient = new OkHttpClient.Builder().callTimeout(5, TimeUnit.SECO...

2019-07-09 19:38:28 370

原创 Http协议Get与Post请求方式+响应码+断点续传+MVC架构

Get请求方式Get主要用于文件下载将下载文件的代码封装在线程中,通过Handler去实现功能,代码如下:public class DownloadThread extends Thread { String u; String path; Handler handler; public DownloadThread(Handler handler, St...

2019-07-05 21:18:38 497

原创 Server跨进程通讯AIDL+Messenger

一. AIDL跨进程通讯AIDLAIDL全称是Android Interface Define Language,即安卓接口定义语言,可以实现安卓设备中进程之间的通信(Inter Process Communication, IPC)服务端 Server将as切换到Project下,按照如图所示创建文件夹命名为aidl,在aidl文件夹下创建aidl文件,命名为IMyAidlInterf...

2019-06-26 17:06:32 148

原创 Fragment碎片+ViewPager

Fragment碎片Fragment英文是碎片的意思,早期应用在平板设计中实现Fragment创建Fragment对象定义一个类继承Fragment重写父类的方法onCreateView()为Fragment创建UI并在重写的方法中操作 public class Fragment_item1 extends Fragment { @Nullable @Ov...

2019-06-20 11:43:25 237

原创 安卓6.0以后动态获取权限+获取系统的URI和字段+自定义内容提供者

一. 安卓6.0以后获取动态权限查看手机安卓版本安卓6.0以前:只需要清单文件添加权限安卓6.0以后:清单文件添加权限+动态获取(保证手机的安全性)代码如下:// 要添加的所有权限 String[] strings = new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE, Ma...

2019-06-17 20:47:39 385

原创 ContentProvider内容提供者

ContentProvider内容提供者ContentProvider内容提供者介绍主要用于在不同的应用程序之间实现数据共享的功能ContentProvider内容提供者是四大组件之一ContentProvider 三个重要的点:ContentProvider:内容提供者ContentResolver:内容解析者URI:地址常用的内容提供者URI获取类型获取URI的...

2019-06-14 16:30:10 156

原创 SQLite数据库操作+事务处理

SQLite数据库操作SQLite数据库介绍Android系统中集成的轻量级的数据库特点:轻量级 是以单个文件的形式进行存取跨平台 支持多个操作系统零配置 无需安装, 直接使用嵌入式 内嵌到手机中在程序的内部可以通过数据库的名称访问, 其他应用不能访问.路径: data/data/应用程序包名/database/ 自定义名.db存放的类型:NULL 空值INTEGER 整...

2019-06-13 21:53:03 2878

原创 Bitmap三级缓存+二次采样+质量压缩

一. Bitmap三级缓存为什么要用Bitmap三级缓存呢?没有缓存的弊端:费流量,加载速度慢加入缓存的优点:省流量,支持离线浏览原理首先我们需要设置SD卡权限和网络权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permissio...

2019-06-12 21:15:16 233

原创 记住密码功能与自动登录功能+SD卡

一. 记住密码功能代码如下:// 如果记住密码是true则将读到的用户名和密码显示在页面上,并将记住密码勾选上 if (ischeck){ String username = sharedPreferences.getString("username", ""); String password = sharedPre...

2019-06-12 11:46:13 362

原创 EditText实时监听器+SharedPreferences存储+Shape圆角

一. EditText实时监听器 editText.addTextChangedListener(new TextWatcher() {// 数据改变之前 @Override public void beforeTextChanged(CharSequence s, int start, int count, int after...

2019-06-11 16:31:40 171

原创 Notification通知+双击退出操作

Notification通知通知类型特殊方法普通通知进度条通知builder.setProgress(100,50,true);自定义通知builder.setContent(remoteViews);一.普通通知 (效果+代码)代码如下: button1.setOnClickListener(new View.OnClickListener(...

2019-06-10 19:23:06 205

原创 PopupWindow弹出窗体

PopupWindow与PopupMenu的区别PopupWindow弹出窗体可以在任意位置弹出窗体,而PopupMenu弹出菜单只能出现在屏幕的最中间PopupWindow的方法显示方法显示位置showAsDropDown(View anchor,int xoff,int yoff)显示在anchor控件的下方showAtLocation(View parent...

2019-06-09 18:40:24 226

原创 Menu菜单

Menu菜单菜单类型显示菜单事件监听系统菜单onCreateOptionsMenuonOptionItemSelectd上下文菜单AlertDialog.Builder()setSingleChoiceItems()系统菜单OptionsMenu (效果+具体实现)在res资源文件下创建一个menu文件夹,并创建一个xml文件作为Options...

2019-06-06 11:59:52 190

原创 Selector选择器的使用+各种样式的对话框

一. Selector选择器通过selector选择器,我们可以更快捷的实现底部导航!效果如下:我们如何创建选择器?创建字体颜色改变选择器<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" and...

2019-06-05 20:25:03 598

空空如也

空空如也

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

TA关注的人

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