自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kotlin - 协程 - Flow

在Kotlin普及之前,RxJava无疑是Android开发领域中最受欢迎的响应式编程的三方库,而RxJava在我们日常的Android开发应用的最多的场景就是配合Retrofit进行网络请求和类似EventBus的事件订阅(RxBus)。但是到了2017年,随着LiveData刚一面世,就受到了很大的关注,LiveData是一个以观察者模式为核心,让界面对变量进行订阅,从而实现自动通知刷新的组件。跟一般的订阅比起来,LiveData有两大特点:一是他的目标非常直接,直指界面刷新,所以它的数据更新只发生在主

2021-11-18 21:27:30 2308

原创 Java泛型中类型限定<T extends 数据类型>和 通配符<? extentds 数据类型>的区别

最近被问到了泛型的通配符和类型限定的问题,<T extends 数据类型>和 <? extentds 数据类型>有什么区别,以前也经常分不清”T“和”?“的关系,后来看了Java的官方教程《Lesson: Generics》才明白他们的区别主要有两个方面:”T“ 是一个形参,表示所有String类的派生类其中的 ”某一个类”,当使用的时候会被强转成传入的具体类型,而”?“是一个实参,表示所有String类的派生类的集合,可以理解为一个范围。比如:class Fruit{

2021-04-17 19:16:34 5012 4

原创 kotlin学习笔记-进阶内容

Lamada表达式简化当一个函数传入的参数为lamada并且这个参数是最后一个,那可以将lamada表达式放在括号外面。viewList<View>.forEach({view:View print(view.toString)})由于kotlin可以进行类型判断,所以可以简化为:viewList<View>.forEach({view-> print(view.toString)})如果lamada函数有且仅有一个参数,可以继续简化

2021-01-25 19:04:59 239

原创 Android 监听网络连接状态

Android手机在网络状态发生改变的时候回发送一条广播。通过日志打印,可以看到该条广播的Action为:android.net.conn.CONNECTIVITY_CHANGE,但是在网络断开和连接的时候或者由WIFI转为移动网络的时候发送的广播的Action同为上述的Action,那么我们如何知道当前是网络连接还是断开呢?接下来我们就会用到ConnectivityManager这个类,Conn...

2018-11-12 20:02:30 5808 2

原创 Builder设计模式

Builder设计模式Buider设计模式作为23种设计模式之一,其定义为:讲一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。通常情况下,Builder模式中有以下角色:Builder(建造者)Builder角色负责定义用于生成实例的接口,因此Builder类一般为抽象类,其中的方法为抽象方法ConcreteBuilder(具体的建造者)ConcreteBu...

2018-10-10 19:04:36 331

原创 Android笔记--读取手机通讯录获取联系人信息

我们都知道,Android应用程序生成的SQLDataBase数据库都是私有的,如果外部应用程序需要访问只能统统ContentProvider(内容提供者)来进行增删改查,同样的,我们的应用程序需要读取通讯录的信息也需要通过内容提供者来实现。用Android SDK自带的模拟器打开DDMS,在data/data目录下找到com.android.providers.contacts包,打开da

2018-01-21 18:49:39 6204 1

原创 Android如何使edittext默认失去焦点

有时候的项目当中进入某个页面edittext会自动获取焦点弹出软键盘,用户体验非常不好,那么如何避免这种情况呢?在网上查了一下大概有三种方法。第一种:设置一个默认的View,在页面加载的时候调用requFocus()方法,前提是该View的setFocusable()要设置为true第二种:直接调用edittext的clearFocus()方法,不过该方法有时候会不生效第三种:在布局文...

2017-06-05 17:25:42 22671 1

空空如也

空空如也

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

TA关注的人

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