自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 setUserVisibleHint和getUserVisibleHint以及onHiddenChanged的调用时机

1.当fragment与viewpager、FragmentPagerAdapter一起使用时,切换页面时会调用 setUserVisibleHint 2.如果是在viewpager里,就需要判断getUserVisibleHint,不在viewpager时,getUserVisibleHint默认为true // 如果是其它情况,就通过isHidden判断,因为show/hide时会改变isHidden的状态 3.当使用show/hide方法时,会调用 onHiddenChanged...

2020-06-09 14:21:56 1610

原创 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD

if(passwordEt.getInputType() == type){//密码可见 passwordEt.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); showPasswordBt.setImageDrawable(getResources().getDrawable(R.mipmap.biyan)); .

2020-06-09 14:18:36 2914

原创 OkHttp文件上传和自定义缓存

一,文件上传    1. MainActivity中的应用package com.darren.architect_day27;import android.Manifest;import android.os.Bundle;import android.os.Environment;import android.support.v7.app.AppCompatActivity...

2019-01-19 13:28:43 307

原创 Okhttp之拦截器

一,源码精髓责任链模式分析1. 最终执行到AsyncCall这个类的eecute这个方法,在这个方法中真正的开始网络操作,并将它们通过回调返回给网络请求者@Override protected void execute() { boolean signalledCallback = false; try { Response response = ...

2019-01-19 08:23:38 362

原创 第三方开源库Okhttp——自己动手写表单提交和文件上传

 1.文件上传,post提交表单   1.1表单提交需要用到 post,put方法,以方法体的方式组件表单信息。 RequestBody requestBody = new RequestBody() .type(RequestBody.FORM) .addParam("file", RequestB...

2019-01-18 10:58:14 749

原创 http以及Okhttp的一次Get请求的源码分析

一.TCP/IP协议家族《图解http》,《http权威指南》,《Java网络编程基础》Http(底层是基于socke), FTP, DNS,TCP,UDP,IP等等OSI的七层协议:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层TCP三次握手(建立连接),和四次挥手(单开连接)二.http请求请求头响应头三.Cookie, Session,Token...

2019-01-17 14:42:36 328

原创 事件总线——EventBus 源码分析及手写一个Evenbus

跟随大神Darren (源代码的来源者是Darren)的学习历程:第一部分:源码分析1.现象描述:  1.1 在MainActivity(需要订阅事件的地方)的onCreat()中注册EventBus EventBus.getDefault().register(this);  1.2 在MainActivity(需要订阅事件的地方)的onDestory()注销EventBu...

2019-01-16 11:57:41 373

原创 ButterKnife源码分析和手写

/** * 解决 .addModifiers(Modifier.FINAL, Modifier.PUBLIC);报错的问题 * Gradle <= 2.2 * 1.App的build.gradle 中 apt project(':butterknife-compiler') * 在 最上面加上 apply plugin: 'com.neenbedankt.android-apt' * 2.在全局的 build.gradle repositories和 中 添加 mavenCentral

2018-12-06 20:09:37 223

原创 RecyclerLayour

1.activity的布局文件:&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:lay...

2018-07-14 14:50:32 109

转载 关于Layout的总结。

1.关于coordinatorLayoutCoordinatorLayout简介CoordinatorLayout是在 Google IO/15 大会发布的,遵循Material 风格,包含在 support Library中,结合AppbarLayout, CollapsingToolbarLayout等 可 产生各种炫酷的效果简单来说就是作为最上层的View作为一个 容器与一个或者多个子Vie...

2018-07-14 06:54:23 4083

转载 ViewModel

如何使用1.在Activity中创建使用ViewModel:/**转入Activity就行*/ GirlsViewModel girlsViewModel = ViewModelProviders.of(ActivityGirls.this).get(GirlsViewModel.class);2.在Fragment中创建使用ViewModel:/**转入Fragm...

2018-07-13 13:26:43 1084

转载 toolbar

前言:因为需要封装toolbar,所以彻底的研究了下toolbar,以前只是简单用用,现在发现完全用起来很多坑,总结一下.先来张效果图:QQ图片20170226164432.pngToolbar的结构其实很简单:1.NavigationIcon2.Logo3.Title4.subTitle5.menu.常用的:1,3,5友情提示:getSupportActionBar()一定要在setSuppor...

2018-07-13 11:26:31 357

转载 lateinit

1.lazy{} 只能用在val类型, lateinit 只能用在var类型 如 :val name: String by lazy { "sherlbon" }lateinit var adapter: MyAdapter122.lateinit不能用在可空的属性上和java的基本类型上 如:lateinit var age: Int //会报错13.lateinit可以在任何位置初始化并...

2018-07-13 11:20:54 1346

转载 Android开发学习:[24]Android加载网页

首先我们打开下载安装好的Android Studio然后新建一个项目,这里为了方便我就在我的Demo里面新建一个Activity了2然后我们在界面布局代码里面增加一个Webview控件&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas...

2018-07-13 10:44:26 486

转载 学习kotlin

主要的区别通过前面的代码,我们可以看出有一些明显的区别,我们将在下一篇文章中进一步讨论:继承的时候使用冒号(:)而不是使用extends关键字显式的使用‘override’关键字:在Java中我们使用@override注解使得代码更简洁,但Kotlin并不强制我们使用。使用‘fun’来声明函数:Kotlin是一种面向对象的函数式语言,因此类似Scala等语言,Java方法将会使用函数来代表。函数参...

2018-07-12 07:10:42 228

原创

1.当version低于17时,需同时设置androd:layout_marginStart和androd:layout_marginLeft,否则androd:layout_marginStart将被ingore.高于17,只需设androd:layout_marginStart。2.

2018-07-11 19:47:44 125

转载 ConstraintLayout 完全解析 快来优化你的布局吧

本文已在我的公众号hongyangAndroid原创首发。 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/78011599 本文出自张鸿洋的博客本文已在我的公众号hongyangAndroid原创首发,文章合集。一、概述ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字...

2018-07-11 18:48:34 800

转载 android:screenOrientation属性

在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。android:screenOrientation="landscape"是限制此页面横屏显示,    android:screenOrientation="portrait"是限制此页面数竖屏显示。  android:scre...

2018-07-11 18:16:50 308

原创 android:supportsRtl

android:supportsRtlDeclares whether your application is willing to support right-to-left (RTL) layouts.If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated an...

2018-07-11 18:11:50 366

转载 AndroidManifest.xml 最全详解

AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息。但是对于这个文件,我们真正又了解多少了,还是只是停留在只会简单的配置,而不明白其中的具体含义,以及为什么要这样设置?今天就让我们来详细的学习一下这个文件里各项参数的具体含义,因为它是整个应用的入口,所以有助于我们更加...

2018-07-11 18:04:30 302

转载 Android中allowBackup属性的含义和危险性实例讲解

一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么? 二、Android中的allowBackup属性1、allowBackup安全风险描述 Android...

2018-07-11 17:44:25 184

原创 Android permission

在manifest中配置的权限android.permission.WRITE_EXTERNAL_STORAGE确实是用来使得sd卡获得写的权限。而在4.0开发的源码当中,由于有了内外置sd卡的区分,android.permission.WRITE_EXTERNAL_STORAGE的权限用来设置了内置sd卡的写权限,如果在manifest中只是配置了这个权限,那个应用只能在内置sd卡中进行写操作,...

2018-07-11 17:39:51 201

原创 git的使用

先分享一个网址windows下的。第一步 : 1.先下载git版本控制,一路next,就可以。                2.开始菜单中打开 git bash,敲入下面俩个命令,记住写在一行。git config --global user.name "Your Name"   git config --global user.email "[email protected]"注意:1.将上方...

2018-07-10 10:59:02 90

空空如也

空空如也

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

TA关注的人

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