![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基本组件控件
yuezheyue123
这个作者很懒,什么都没留下…
展开
-
线程池使用
一、线程池的构造器:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable原创 2020-05-28 09:13:42 · 119 阅读 · 0 评论 -
Palette的使用
BitmapDrawable drawable = (BitmapDrawable) iv.getDrawable(); Bitmap bitmap = drawable.getBitmap(); //得到bitmap里面的的一些色彩信息---通过Palette类分析出来的 //Palette palette = Palette.generate(bitmap); //异步任务--...原创 2019-02-19 10:07:31 · 950 阅读 · 0 评论 -
CoordinatorLayout的使用
1.CoordinatorLayout是一个viewgroup,用法相当于framelayout,CoordinatorLayout的behavior只能作用于其直接的子布局。因此进行嵌套线性布局等然后使用behavior是无效的。http://www.jcodecraeer.com/plus/view.php?aid=104282.自定义的behavior:https://www.j...原创 2019-02-19 16:23:25 · 4744 阅读 · 0 评论 -
CardView和FloatingActionButton
cardView是在android.support.design包下面的。使用的是com.android.support:cardview对于design包中的api应该是对低版本是兼容的,包括cardView使用CardView的效果 看看里面的自定义的属性app:cardCornerRadius 这个是圆角app:cardElevation 这个是阴影的效果,对低版本仍然可以...原创 2019-02-19 16:42:50 · 153 阅读 · 0 评论 -
线程的使用
1、创建线程的三个方法①继承Thread类,重写run方法,调用start()开启②实现Runnable接口,并实现该接口的run()方法.一般推荐使用②实现Callable接口,重写call()方法 2.同步的使用①一般使用的是synchronized可以使用wait()进行阻塞线程然后通过notify()方法解除阻塞状态 ②但是也可以使用可重入锁...原创 2019-02-25 11:00:43 · 101 阅读 · 0 评论 -
响应式编程Rxjava2
1.需要的依赖implementation "io.reactivex.rxjava2:rxjava:2.1.12"implementation "io.reactivex.rxjava2:rxandroid:2.0.2" 2.基本使用3.just fromArray的使用4.interval和timer的使用5.range的使用6.repeat...原创 2019-02-26 15:15:33 · 313 阅读 · 0 评论 -
Rxjava1源码学习
使用泛型的super和 extends的区别。使用泛型的存取原则如果你想从一个数据类型中获取数据,就使用? extends X。因为在存的时候,无法确定添加的具体是哪个子类。但是在取的时候,我们能确定肯定是X或是其子类。如果想把数据写入一个数据结构中,就使用? super X。因为在取的时候,不能确定到底超类是什么。?就是父类。但是在存的时候,我们能确定肯定能存入X及其它的子类。如...原创 2019-02-26 15:48:52 · 182 阅读 · 0 评论 -
Rxjava1和Rxjava2的区别
出现了两种观察者模式:Observable ( 被观察者 ) / Observer ( 观察者 )Flowable (被观察者)/ Subscriber (观察者)可以使用下面的代码进行打算执行if(!disposable.isDisposed()){ disposable.dispose();}使用Consumer来代替Action等方法 表示有多少个返回值Consu...原创 2019-02-26 16:28:11 · 2017 阅读 · 0 评论 -
Rxjava和Retrofit的使用
添加依赖,最新的版本在github上查看。implementation 'com.squareup.okhttp3:okhttp:3.11.0'implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'implementation 'com.squareup.retrofit2:retrofit:2.4.0'im...原创 2019-02-26 16:58:40 · 104 阅读 · 0 评论 -
MVVM中Databinding的使用
1、MVVM( Model-View-ViewModel),需要使用Data Binding在module的gradle中配置android{ dataBinding{ enabled true }}2.布局和节点介绍3.在代码部分在这里的设置方法都是和布局中data标签中的定义的variable中的name相对应。4.指定binding名称在这里自动生成...原创 2019-02-01 17:20:09 · 403 阅读 · 0 评论 -
toolbar中searchaView的使用
使用searchVIew 一般是和Toolbar进行配合使用进行长按的时候进行显示toast在设置menu的时候要进行设置命名控件然后使用app:showAsAction="never"或是always那么就是显示在外面 不能使用android:showAsAction 这个是不管用的在menu中使用app:actionViewClass=“android.support.v7.widg...原创 2019-02-19 09:45:35 · 285 阅读 · 0 评论 -
ToolBar和FloatingActionbar在CoordinatorLayout的作用下显示和消失
<!-- 利用Behavior实现当recyclerview向上滑动时候,对floatingActionButton的显示和消失 自定义FabBehavior,要继承CoordinatorLayout的behavior 对于toolbar的显示消失是利用toolbar的自己特有的属性:layout_scrollFlags,设置scro...原创 2019-02-18 18:13:54 · 469 阅读 · 0 评论 -
ToolBar的使用
1.作用:导航控件—显示标题 导航back 快捷 菜单的操作。而且toolBar不一定要放在顶部也是可以放在底部。toolbar来自android.support.v7.widget.Toolbar它是继承在ViewGroup,在xml布局中能够存放其他的view控件具有很多的自定义的属性不能使用android:title的属性,设置了没有效果,要是用app自定义的属性2.使用的时候...原创 2019-02-18 16:54:41 · 205 阅读 · 0 评论 -
android四大组件--service(二)IntentService的使用和缺陷
1.IntentService。里面封装了handlerThread的代码,并且在执行任务完毕后就自动的调用stopSelf()停止。主要是让service有一个异步线程进行处理耗时操作,这样就节省了开发者的操作。特点:只存在一个线程,如果发送多个intent,如果发送第二个intent的时候,前面已经被执行完毕,那么service就已经被销毁 了,新的intent只能重新创建service.但...原创 2018-10-11 14:38:40 · 1212 阅读 · 0 评论 -
android四大组件--BroadcastReceiver两种注册方式和有序广播
1.动态注册2.静态注册3.使用:如果是在程序的运行过程中才关心广播时间,那么就在代码中进行注册广播。这样能更少的消耗资源。否则在功能清单中进行注册,在app启动的时候就会启动,这样就会消耗更多的资源。...原创 2018-10-18 09:27:44 · 1247 阅读 · 0 评论 -
android四大组件--使用本地广播LocalBroadcast进行应用内数据传递
1.区别:本地广播的发送和接受,只能在一个进程中。因此在跨进程中的通讯是不能使用的。比如创建了新的进程或者是在不同app之间通讯都是不能使用。但是在不同的线程中是能够进行发送和接受数据。因此保证了广播的安全问题。2.使用是通过LocalBroadcastManager获取到获取实例进行操作。这个类是存储在support.v4包中。发送数据注册接收器解注册...原创 2018-10-18 09:35:04 · 879 阅读 · 0 评论 -
使用Messenger实现Activity和Service在不同线程间的通讯
这里使用Messenger进行activity和service的通信,让它提供远程接口,可以实现线程和线程之间的通讯,但是在线程执行的过程中,是按照顺序依次执行,不能做到并发执行。然后存储在replyTo的属性中。这样就不需要使用广播或是aidl的通讯。1.MessagerService2.activity...原创 2018-10-15 09:43:32 · 344 阅读 · 0 评论 -
数据存储SharedPreferences多种用法
持久化:就是将数据保存在本地中。序列化:就是数据如何组织,同时包括在持久化状态和内存中。SharedPreferences存储的数据时在xml文件中。一般不用于存储数组,表格或二进制的文件。二进制的数据(图片,视频或音频之类)一般不存储在sqlite和SharedPreferences中,而是以文件的方式进行存储。SharedPreferences获取对象通常有三种形式。在同一个进程中,每...原创 2018-10-18 15:02:20 · 280 阅读 · 0 评论 -
Android组件--ContentProvider的使用
原文博客:https://blog.csdn.net/carson_ho/article/details/761010931.在使用ContentProvider的时候,会用到ContentResolver,因为ContentProvider可能有多个,但是需要ContentResolver进行统一的管理。即通过URI 即可操作不同的ContentProvider 中的数据,外部进程通过Cont...原创 2018-10-18 17:48:15 · 477 阅读 · 0 评论 -
网络retrofit的使用
1.Http有keepalive connection的机制,这个可以配置到请求报头中,可以在传输数据后仍然保持连接,当客户单再次需要获取数据的时候,直接使用刚刚空闲的连接而无需再次握手。2.一般一个http请求报文由请求行,请求报头,空行,请求数据四部分组成。请求行是由请求方法,url,http协议的版本组成。请求报头,是由0个或多个请求报头组成,每个请求报头都包含着一个名字和一个值...原创 2019-02-22 14:04:44 · 276 阅读 · 0 评论 -
android中三种notification管理
1.普通通知2.折叠通知①折叠通知通过设置自定义的通知view,实现通知view和app的交互。在通知中通过广播和service之间进行通讯。这时候要在service中注册广播 在service中注册广播,当上面调用expanedView.setOnclickPendingIntent()的时候,就会发送广播到达service中,这样就可以进行控制音乐等的播放。...原创 2019-02-18 13:52:14 · 383 阅读 · 0 评论 -
TextinputLayout的使用
1.在Design包中还有个TextInputEditText,这个的效果和EditText的效果是相同的。进行修改TextView中的字体的样式:首先在assets资源文件中的添加字体:然后设置Typeface属性:AssetManager assets=this.getAssets();String path="font/hwcy.TTF";Typeface fromAsset=...原创 2019-02-18 15:55:53 · 146 阅读 · 0 评论 -
android四大组件--service(一)service的启动
1.对于activity中耗时的操作,都应该放在service中,service组件能有效的把处理后台任务的应用逻辑和界面显示的代码分开。2.有两种类型的service①用来执行和用户输入无关的操作。 startService()②由用户直接触发service。bindService()3.对于service常用的生命周期就onCreate()和onDestroy(),在onCreate...原创 2018-10-11 14:12:54 · 149 阅读 · 0 评论