- 博客(27)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Java 抽象类
一 抽象类可以不实现接口方法public interface mInter { void eat();}-------------------public abstract class mHuman implements mInter { public void main(String[] args) { eat(); }}二 抽象类只能...
2020-01-29 20:31:01
130
原创 网络框架——Retrofit
Retrofit的注解分类Retrofit的注解分为三大类,分别是:HTTP请求方法注解、标记类注解、参数类注解GET请求首先创建爱你请求地址和返回参数类型public interface IpService{ @GET("getIpInfo.php?ip=59.108.54.37") Call<IpModel> getIpMsg();}...
2020-01-10 17:23:37
161
原创 数组和Json相互转换
数组转Json private void strToJson() { JsonArray array = new JsonArray(); JsonObject object = new JsonObject(); JsonObject obj = new JsonObject(); object.addProperty("na...
2020-01-08 22:52:53
398
原创 android点击空白处隐藏软键盘
/** * 点击空白区域隐藏键盘. */ @Override public boolean dispatchTouchEvent(MotionEvent me) { if (me.getAction() == MotionEvent.ACTION_DOWN) { //把操作放在用户点击的时候 ...
2019-12-23 17:26:58
335
原创 Andorid开发自定义View(二)滑动
1 动画可以采用View动画来移动,需要在res目录中新建anim文件夹并创建translate.xml文件<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate ...
2019-12-11 18:11:31
121
原创 Andorid开发自定义View(二)
View滑动当点击事件传达到View时,系统记下触摸点的坐标,手指移动时系统记下后触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。1 layout()方法public class CustomView extends View{ public CustomView(Context context) { super(context);...
2019-12-10 18:11:40
88
原创 Andorid开发自定义View(一)
1 View与ViewGroupLinearLayout等布局控件继承ViewGroup,TextView继承View,而ViewGroup也继承自View2 坐标系Android系统中有两个坐标系,分别为View坐标系和Activity坐标系2.1 Andorid坐标系android将屏幕左上角的顶点作为Andorid坐标系的原点,原点向右是X轴正方向,原点向下是Y轴正方向。...
2019-12-10 17:23:14
223
原创 android根据url下载apk文件并更新
配置guild.gradle需要导入OkGo网络框架 implementation 'com.lzy.net:okgo:3.0.4' implementation 'com.lzy.net:okserver:2.0.5'需要授予app允许安装外部apk的权限 <uses-permission android:name="android.permission.REQUES...
2019-12-10 16:36:01
2280
原创 android6.0动态权限处理
Permissionsdispatcher请求框架该框架使用注册方式进行权限的动态请求首先需要在app.build里导入 implementation "com.github.hotchemi:permissionsdispatcher:3.1.0" annotationProcessor "com.github.hotchemi:permissionsdispatcher-pro...
2019-12-09 17:44:50
105
原创 androidRxJava线程控制
内置的SchedulerObservable.fromCallable(new Callable<Integer>() { @Override public Integer call() throws Exception { return null; ...
2019-12-04 15:46:31
174
1
原创 androidRxJava操作符(六)
条件操作符和布尔操作符1 allall操作符对所有Observable发射的数据进行判断,诅咒返回的结果就是这个判断结果,如果所有的判断都符合则为true 否则为false。 Observable.just(1, 2, 3, 4) .all(new Func1<Integer, Boolean>() { ...
2019-12-03 15:51:27
133
原创 androidRxJava操作符(五)
错误处理操作符Rxjava在错误出现的时候就会调用Subscriber的onError方法将错误分发出去,由Subscriber自己来处理错误。但是如果每个Subscriber都处理一遍的话工作量很大,所以需要错误处理操作符。1 catchcatch操作符拦截原始Observable的onError通知,将它替换成其他数据项或数据序列,让产生的Observable能够正常终止或者根本不...
2019-11-29 16:46:18
128
原创 androidRxJava操作符(四)
组合操作符1 startWith会在源Observable发射的数据前面加上一些数据 private void startWith() { Observable.just(3,4,5) .startWith(1,2)//在最前面插入1 2 .subscribe(new Action1<...
2019-11-27 16:29:12
140
原创 androidRxJava操作符(三)
过滤操作符1 filterfilter操作符是对源Observable产生的结果自定义规则进行过滤,只有满足条件的结果才会提交给订阅者 private void filterOb() { Observable.just(1, 2, 3, 4).filter(new Func1<Integer, Boolean>() { ...
2019-11-26 16:32:56
116
原创 androidRxJava操作符(二)
变换操作符变换操作符的作用是对Observable发射的数据按照一定规则做一些变换操作,然后将变换后的数据发射出去1 mapmap错左幅通过制定一个Func对象,将Observable转换为一个新的Observable对象并发射 private void mapOb() { Observable.just("www.qq.com").map(new Fun...
2019-11-25 16:35:23
140
原创 androidRxJava操作符(一)
创建操作符1 interval创建一个固定时间间隔发射横竖序列的Onservable,相当于定时器,如下所示,每隔3秒就会打印Log private void intervalOb() { Observable.interval(3, TimeUnit.SECONDS) .subscribe(new Action1<Long&g...
2019-11-24 22:56:57
120
原创 android开发RxJava(二)
Subjectsubject既可以是一个Observer也可以是一个Observerable,它是连接Observer和Observerable的桥梁,Rxjava提供四种Subject1 PublishSubject会把订阅发生的时间点之后来自Observable的数据发射给观察者。publishSubject可能会一创建完成就立刻开始发射数据,所以在创建后到有观察者订阅它之前这个时...
2019-11-22 16:34:46
111
原创 android开发-设计模式(三)
建造者模式建造者模式是生成器模式,是创建一个复杂对象额创建型模式,定义:讲一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在建造者模式中有如下角色:Director:导演类,负责安排已有模块的顺序,然后通知Builder开始建造Builder:抽象Builder类,规范产品的组件,一般由子类实现。ConcreteBulider:具体建造者,实现抽...
2019-11-21 16:58:20
95
原创 android开发Rxjava(一)
Rxjava介绍为何使用Rxjava:rxjava是Recative的一种java实现,让开发者可以利用可观察序列和LINQ(语言集成查询)风格查询,Rx=Observables+LINQ+Schedulers。Rxjava可以在请求数量较多,代码逻辑复杂的情况下保持清晰的逻辑,其原理就是穿件一个Observable对象来干活,然后使用各种操作符建立起来的链式操作,就如同流水线一样,把你想...
2019-11-21 16:23:16
121
原创 android 开发-设计模式(二)
一 . 简单工厂模式1.Factory:工厂类,负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。2.IProduct:抽象产品类,这是简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。3.Product:具体产品类,这是简单工厂模式的创建目标。1.简单工厂模式的简单实现(1)抽象产品类我...
2019-11-11 17:56:50
97
原创 java byte数组插入算法
在java开发中经常使用到插入数组,比如在某个元素后添加新元素,并将之后的元素后移,下面为插入数组的例子 byte[] msgTi = new byte[]{0x7e, 0x03, 0x7d, 0x00, 0x7e, 0x03, 0x7d}; Log.e("转义前", Arrays.toString(msgTi)); byte[] msgTi2 = new b...
2019-11-11 17:05:43
5945
原创 android 开发-设计模式(一)
单例模式:定义: 保证一个类仅有一个实例,并提供一个访问他的全局访问点1.单例模式的6种写法1.1 饿汉模式public class Man{ private static Man instance = new Man(); private Man (){ } public void Man getInstance (){...
2019-11-08 17:06:45
102
原创 Android教师管理系统(精简版)
这个教师管理系统分为教师端和管理端在注册时会进行账号类别的选择在登录管理员账号时会显示教师信息和管理员信息,并会对教师进行增加和删除在登录教师账号时会显示自己的信息并可以进行教师的查询 ...
2018-11-02 21:11:46
2752
原创 安卓一个简易的缓存工具类
在安卓开发中开发者经常会使用到SharedPreferences来进行缓存,如果每次都写command的话会非常浪费时间并增加开发效率,本人自己写了一个缓存工具类目前使用的情况非常好,在此分享给大家,具体代码如下public class PrefUtils{ //主要用来保存判断状态 可以运用到保存Checkbox等复选框状态中 public static b...
2018-09-11 11:07:18
332
原创 安卓与JS交互
安卓与JS交互,修改网页内容在webView开发中,经常会使用到安卓Activity与网页之间的互相调用,之前项目中有一个功能需要进行网页的获取通过点击网页内容进行相关的跳转,直接上代码:以腾讯视频的一个链接为例String strUrl = "https://m.v.qq.com/x/cover/q/q36vxbd95odijk1.html?=";首先需要webView支持JSWebSettin
2017-12-14 11:31:09
1022
原创 浅谈安卓蓝牙4.0BLE开发
蓝牙4.0技术相比较传统的蓝牙技术,具有传输速度快,低功耗,范围更广等优点,在开发过程中,相较于2.0,蓝牙4.0开发不需要进行输入配对吗,可以直接进行手机和模块的配对,而且可以实现一对多的连接,在我看来,蓝牙4.0在开发过程中与传统的蓝牙开发的最大不同是蓝牙4.0涉及到多通道连接,当用户进行手机和模块的连接的过程中,用户需要进行蓝牙通道的选择,不过对于开发者来说,我们可以在开发的过程中将通道进行
2017-09-11 18:31:01
393
原创 关于安卓蓝牙2.0的app开发原理
最近时间比较宽裕,觉得自己可以写一些东西来总结一下工作,索性就写一篇关于安卓蓝牙的开发总结吧安卓蓝牙开发其实也就是socket的开发,同时分为服务端和客户端,下面我就按照我的开发流程来降整个的安卓蓝牙2.0开发叙述一下,蓝牙4.0BLE我也会在之后给大家更新首先,我们要注册蓝牙相关的广播并在manifest中给出相应的权限(安卓6.0之后由于相应的底层改变,注册权限的时候不仅要给蓝牙的权限
2017-09-05 21:58:01
843
安卓和JS交互,往网页中的img添加一个点击事件
2017-12-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人