- 博客(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
1761
原创 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
3060
原创 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
381
原创 Okhttp之拦截器
一,源码精髓责任链模式分析1. 最终执行到AsyncCall这个类的eecute这个方法,在这个方法中真正的开始网络操作,并将它们通过回调返回给网络请求者@Override protected void execute() { boolean signalledCallback = false; try { Response response = ...
2019-01-19 08:23:38
429
原创 第三方开源库Okhttp——自己动手写表单提交和文件上传
1.文件上传,post提交表单 1.1表单提交需要用到 post,put方法,以方法体的方式组件表单信息。 RequestBody requestBody = new RequestBody() .type(RequestBody.FORM) .addParam("file", RequestB...
2019-01-18 10:58:14
928
原创 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
385
原创 事件总线——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
418
原创 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
288
原创 RecyclerLayour
1.activity的布局文件:<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
137
转载 关于Layout的总结。
1.关于coordinatorLayoutCoordinatorLayout简介CoordinatorLayout是在 Google IO/15 大会发布的,遵循Material 风格,包含在 support Library中,结合AppbarLayout, CollapsingToolbarLayout等 可 产生各种炫酷的效果简单来说就是作为最上层的View作为一个 容器与一个或者多个子Vie...
2018-07-14 06:54:23
4146
转载 ViewModel
如何使用1.在Activity中创建使用ViewModel:/**转入Activity就行*/ GirlsViewModel girlsViewModel = ViewModelProviders.of(ActivityGirls.this).get(GirlsViewModel.class);2.在Fragment中创建使用ViewModel:/**转入Fragm...
2018-07-13 13:26:43
1134
转载 toolbar
前言:因为需要封装toolbar,所以彻底的研究了下toolbar,以前只是简单用用,现在发现完全用起来很多坑,总结一下.先来张效果图:QQ图片20170226164432.pngToolbar的结构其实很简单:1.NavigationIcon2.Logo3.Title4.subTitle5.menu.常用的:1,3,5友情提示:getSupportActionBar()一定要在setSuppor...
2018-07-13 11:26:31
440
转载 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
1427
转载 Android开发学习:[24]Android加载网页
首先我们打开下载安装好的Android Studio然后新建一个项目,这里为了方便我就在我的Demo里面新建一个Activity了2然后我们在界面布局代码里面增加一个Webview控件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas...
2018-07-13 10:44:26
550
转载 学习kotlin
主要的区别通过前面的代码,我们可以看出有一些明显的区别,我们将在下一篇文章中进一步讨论:继承的时候使用冒号(:)而不是使用extends关键字显式的使用‘override’关键字:在Java中我们使用@override注解使得代码更简洁,但Kotlin并不强制我们使用。使用‘fun’来声明函数:Kotlin是一种面向对象的函数式语言,因此类似Scala等语言,Java方法将会使用函数来代表。函数参...
2018-07-12 07:10:42
295
原创 错
1.当version低于17时,需同时设置androd:layout_marginStart和androd:layout_marginLeft,否则androd:layout_marginStart将被ingore.高于17,只需设androd:layout_marginStart。2.
2018-07-11 19:47:44
163
转载 ConstraintLayout 完全解析 快来优化你的布局吧
本文已在我的公众号hongyangAndroid原创首发。 转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/78011599 本文出自张鸿洋的博客本文已在我的公众号hongyangAndroid原创首发,文章合集。一、概述ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字...
2018-07-11 18:48:34
828
转载 android:screenOrientation属性
在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。android:screenOrientation="landscape"是限制此页面横屏显示, android:screenOrientation="portrait"是限制此页面数竖屏显示。 android:scre...
2018-07-11 18:16:50
333
原创 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
409
转载 AndroidManifest.xml 最全详解
AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息。但是对于这个文件,我们真正又了解多少了,还是只是停留在只会简单的配置,而不明白其中的具体含义,以及为什么要这样设置?今天就让我们来详细的学习一下这个文件里各项参数的具体含义,因为它是整个应用的入口,所以有助于我们更加...
2018-07-11 18:04:30
347
转载 Android中allowBackup属性的含义和危险性实例讲解
一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么? 二、Android中的allowBackup属性1、allowBackup安全风险描述 Android...
2018-07-11 17:44:25
209
原创 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
253
原创 git的使用
先分享一个网址windows下的。第一步 : 1.先下载git版本控制,一路next,就可以。 2.开始菜单中打开 git bash,敲入下面俩个命令,记住写在一行。git config --global user.name "Your Name" git config --global user.email "email@example.com"注意:1.将上方...
2018-07-10 10:59:02
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人