- 博客(15)
- 收藏
- 关注
原创 AIDL
AIDL 概述:它是用于某个service与多个应用程序组件之间进行跨进程通信,从而可以实现多个应用程序共享一个Service的功能,从而进一步实现进程间的通信(也就是一个远程服务) AIDL的客户端与服务端: 服务端:服务端首先要创建一个service(这个服务的binder继承AIDL接口.stub,重写接口中的所有方法后可以通过传参,或者return语句进行信息的传递)用来监听客户端的...
2018-08-31 12:01:09
273
原创 线程与线程池
线程与线程池 什么是线程, 提到线程就要说一下进程, 进程: 进程就是正在执行的程序,(任务管理器) 线程: 是程序执行的一条路径,一个进程中可以包含多条线程, 举个例子,你打开你的微信,这叫打开了一个进程,你在微信里跟微信好友视频聊天就是开启了一个线程, 两者之间的关系一个进程中至少有一个线程,当然也可以有多条线程 一条线程一定会在进程里面 ...
2018-08-31 12:00:21
203
原创 数据结构
数据结构是计算机存储和组织数据的的方式 数组 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型。 数组的局限性分析: ①、插入慢,对于无序数组,上面我们实现的数组就是无序的,即元素没有按照从大到小或者某个特定的顺序排列,只是按照插入的顺序排列。无序数组增加一个元素很简单,只需要在数组末尾添加元素即可,但是有序数组却不一定了,它需要在指定的位置插入。 ②、查找快,...
2018-08-31 11:29:18
213
原创 头像选择
//初始化一个popupWindow //Android 8.0需要使用,否则相机调用不出来 @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, ...
2018-07-27 00:37:25
488
原创 城市选择器
//先导入依赖 implementation 'liji.library.dev:citypickerview:1.1.0' //初始化城市选择器 private CityPicker cityPicker; //初始化 public void initCityPicker() { //滚轮文字的大小 //滚轮文字的颜色 //省份滚轮是否循环显示 //城市滚轮是...
2018-07-27 00:34:06
826
原创 日历
调用系统的日历 //定义一个值保存状态然后三个变量分别表示年、月、日 final int DATE_DIALOG = 1; int mYear, mMonth, mDay; //初始化日历并给他们赋值 final Calendar ca = Calendar.getInstance(); mYear = ca.get(Calendar.YEAR); mMonth = ca.get...
2018-07-27 00:27:35
367
原创 Android与js交互
Android与JS交互就是Android和JavaScript之间相互调用来实现页面的展示,他们之间的桥梁就是Webview 对于Android调用JS代码的方法有2种: 1. 通过WebView的loadUrl() 2. 通过WebView的evaluateJavascript() 这两种方式的区别: 通过loadurl()来调用使用方便,但是他是在没有返回的情况下使用,...
2018-07-27 00:23:18
651
原创 Glide
获取缓存的路径 获取缓存的路径 指是定缓存路径获取缓存的路径 指定缓存路径 with方法 with方法 with方法with Requeswith方法tManagerRetriever.get方法 RequestManagerRetrieRequestManagerRetriever.get方法RequestManagerRetriever.get方法RequestM...
2018-07-27 00:18:21
256
原创 上拉刷新下拉加载
Listview上拉刷新下拉加载是什么 就是android中的一种加载数据的方式 如何实现它 他需要用到三个方法, 分别是 setOnScrollListener滑动监听 onLoad()加载数据用的 pullLoad()刷新数据用到的方法 先要设置头布局headerView; 头布局高度headerViewHeight; 还要给头布局设置图片 在设置底布局footerView; 底布局...
2018-07-27 00:07:08
363
原创 版本迭代
调用安装程序 File file = new File(Environment.getExternalStorageDirectory(),"six.apk"); Intent intent = new Intent(Intent.ACTION_VIEW); //判读版本是否在7.0以上 if (Build.VERSION.SDK_INT >= 24) { ...
2018-07-27 00:03:24
1809
原创 Dagger2
先导入依赖 compile 'com.google.dagger:dagger:2.7' annotationProcessor 'com.google.dagger:dagger-compiler:2.7' Dagger2 Dagger2 依赖注入框架 在编译期间自动生成代码,负责依赖对象的创建。 依赖注入 依赖注入是一种面向对象的编程方式,它的出现就是为了降低耦...
2018-07-27 00:02:25
213
原创 EventBus
EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题。 主要功能 替代Intent,Handler,BroadCast在线程之间的信息传递。 EventBus 三要素 1 Event 事件,可以是任意类型的对象 2 Subscriber 事件订阅者 OnEvent On...
2018-07-26 23:55:23
304
原创 沉浸式状态栏
//沉浸式状态栏 //首先判断Api版本号是否大于19也就是Android4.4 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { int flagTranslucentStatus = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; int flagTranslu...
2018-07-25 08:01:54
152
原创 AutoLayout
//屏幕适配AutoLayout //1、添加依赖 implementation 'com.zhy:autolayout:1.4.3' //2、在清单文件中注明你要设计的初始屏幕尺寸 <meta-data android:name="design_width" android:value="1080" /> <meta-data android:name="design_heig...
2018-07-25 07:55:06
685
原创 MapView与ScrollView嵌套时的滑动冲突的解决措施
//写一个类来继承RelativeLayout,它是专门来将MapView包裹起来的 public class MapContainer extends RelativeLayout { // 定义一个SsrollView 将它与Activity的scrollView绑定; private ScrollView scrollView; //三个构造 public MapC...
2018-07-25 07:43:03
981
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人