- 博客(40)
- 收藏
- 关注
原创 Netty——实现Android客户端长连接
关于长连接的一些介绍长连接的应用场景非常的广泛,比如监控系统,IM系统,即时报价系统,推送服务等等。像这些场景都是比较注重实时性,如果每次发送数据都要进行一次DNS解析,建立连接的过程肯定是极其影响体验。长连接的维护必然需要一套机制来控制。比如 HTTP/1.0 通过在 header 头中添加 Connection:Keep-Alive参数,如果当前请求需要保活则添加该参数作为标识,否则服务端就不会保持该连接的状态,发送完数据之后就关闭连接。HTTP/1.1以后 Keep-Alive 是默认打开的。
2021-09-02 17:03:22 1663 2
原创 安卓自定义View——实现类似微信状态按钮的文字与边框渐变
因为项目需要只有边框和文字渐变效果得按钮,尝试过用drawable文件设置,发现只能设置全背景渐变效果,也懒得用其他方式,就自己动手画了一个,画完之后就把全背竟的也给加上了,因为这个项目类似这种的按钮还不少,避免了挨个去创建drawable文件了。当我写完之后,微信就更新了8.0发现这个按钮跟微信8.0的状态按钮挺像,就起了这么一个标题自定义View相关的代码最开始画这个控件的时候,继承的是View,自己用画笔去绘制文字,发现居中一直有问题,算了一下午的文字居中发现没有任何屌用,后来小伙伴跟我说..
2021-02-01 15:54:19 2406
原创 安卓—简单实现直播间垂直聊天弹幕控件
公司项目新加需求,可以对扣分情况进行实时展示,就像某大型滤镜美颜直播间那种垂直展示聊天弹幕一样,在网上找了好多大佬的实现方法,发现我们的需求只是简单的展示,就选了一个最简单的方式实现 链接地址但是发现这兄弟把代码都堆在了Activity里面,我的直播界面代码已经够多了,防止Activity代码太乱,就继承了一下LinearLayout,只对外提供目前需要的几个方法继承之后的代码/** * @author: OlderJiao * @date: 2020/12/18 * @ClassNa..
2020-12-18 12:27:33 1551 4
原创 Android简单实现悬浮吸附的FloatingView
/** * @ProjectName: yqf-android * @Package: com.jao.pointsystem.weight * @ClassName: ScrollFloatinigButton * @Description: java类作用描述 * @Author: OlderJiao * @CreateDate: 2020/3/24 10:47 * @UpdateUser: 更新者: * @UpdateDate: 2020/3/24 10:47 * @Version.
2020-12-04 15:33:55 3203 8
原创 记录Android studio登录GitHub出现的未授权问题
今今天有个小伙伴突然出现Android studio出现登录GitHub未授权问题,之前自己就遇到过,往死了回忆才回忆起来,为了防止再次出现这种问题,博客记录分享一下打开浏览器登录GitHub,打开设置选择开发人员设置打开创建token的选项(右边选项卡最下面的),将token复制下来回到Android studio打开设置里面的GitHub选项,点击use token,将token复制进去,点击login登录成功后,在studio里面登录G
2020-11-17 18:34:39 3155
原创 Android使用Dialog实现贴键盘输入框(类似微博评论)
效果图实现输入框跟随键盘移动需要在清单文件中给activity设置一个属性 android:windowSoftInputMode="stateAlwaysHidden|adjustPan"创建类继承Dialog输入布局文件自己定义即可 public class InputDialogUtils extends Dialog { private Context mContext;//上下文对象 private EditText editText;//输入框对象
2020-08-08 16:47:43 1856
原创 简单实现GPS定位
一、权限添加: <!-- 用于网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!-- 用于GPS定位 --> <uses-permission android:name="android.permission...
2019-06-17 19:59:10 4388
原创 Android AIDL跨进程通信基础(多端情况)
AIDL建议在来自不同的客户端访问你的服务并且需要处理多线程问题时你才必须使用AIDL,其他情况下你都可以选择其他方法,如使用 Messenger,也能跨进程通信。可见 AIDL 是处理多线程、多客户端并发访问的,而 Messenger 是单线程处理。下面介绍 AIDL 的使用方法。AIDL 文件可以分为两类。一类用来声明实现了 Parcelable 接口的数据类型,以供其他 AIDL 文件使用那些非默认支持的数据类型。还有一类是用来定义接口方法,声明要暴露哪些接口给客户端调用。
2022-11-23 20:27:10 1109 2
原创 安卓自定View实现滑动验证效果
效果图自定义属性代码<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="MyCheckView"> <attr name="m_blockBg" format="reference" /><!--滑块背景图片--> <attr name="m_blockColor" format="color" /
2021-12-24 15:35:35 2738 3
原创 Java实现集合中将重复数据与单一数据筛选
要求与效果-------------------------原数据-----------------------{张三,李四a,张三B,王五b,张三,李四a,李四a,王五}------------------------------筛选后---------------------------单一数据集合:{张三B,王五b,王五}重复数据集合:{张三,张三,李四a,李四a,李四a}代码 /** * 无序 * * @param strings 集合数据
2021-11-23 10:36:29 614
原创 记录实现时间选择控件,自定义VIew实现
记录实现时间选择控件,自定义VIew实现堂堂一个安卓,被迫写出IOS控件效果,没办法被逼的。。。。。package com.jao.pointsystem.weight;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android...
2020-03-25 11:03:25 229
原创 Kotlin简单实现单例
Kotlin中的伴生对象:companion object Obj { var flag = false fun plus(num1: Int, num2: Int): Int { return num1 + num2 } }伴生对象相当于java当中的静态代码块,在Kotlin中不支持静态static...
2019-09-28 19:40:13 298
原创 Retrofit网络获取字符串
简介:一个基于 OkHttp 的 RESTful API 请求工具Retrofit 在使用时其实就充当了一个适配器(Adapter)的角色,主要是将一个 Java 接口翻译成一个 HTTP 请求对象,然后用 OkHttp 去发送这个请求核心思想:动态代理—通俗来讲,就是你要执行某个操作的前后需要增加一些操作,比如查看用户个人信息前需要判断用户是否登录,用户访问数据库后想清除用户的访问记录等操...
2019-07-17 21:23:51 481
原创 自定义View实现圆柱与饼状图
自定义布局代码:package com.example.workday06;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;im...
2019-07-11 21:26:14 315
原创 自定义View实现擦除和点击亮灯效果
擦除效果图:自定义View代码:package com.example.workday05;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android...
2019-07-10 21:23:56 270
原创 自定义View实现风扇代码
布局代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools...
2019-07-09 21:33:46 546
原创 安卓属性动画集合实现
效果图:这里的点击事件使用的是Xutils,所以需要导入依赖:implementation ‘org.xutils:xutils:3.5.0’布局代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi...
2019-07-08 21:15:16 763
原创 安卓实现帧动画与补间动画
Animation详解:AnimationSet 继承自 Animation,是上面四种的组合容器管理类,没有自己特有的属性,他的属性继承自 Animation,所以特别注意, 当我们对 set 标签使用 Animation 的属性时会对该标签下的所有子控件都产生影响。主要属性方法:帧动画代码:点击事件和获得布局控件用的是Xutils,所以需要导入依赖:implementation...
2019-07-07 21:39:07 163
原创 XUtils获取网络数据
XUtils简介:xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,官网:https://github.com/wyouflf/xUtils3xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(246K), 并且特性强大, 方便扩展:稳定的基石: AbsTask和统一的回调接口Callback, 任何异常, 即使你的...
2019-07-05 21:50:41 330
原创 Okhttp获取数据+Volley获取数据与图片
Okhttp获取数据代码://okhttp的GET的访问 public void Okhttp_GET(String urlStr){ Request request = new Request.Builder().url(urlStr).get().build(); OkHttpClient client = new OkHttpClient(); ...
2019-06-25 21:29:23 185
原创 安卓HTTP的GET请求方式获取图片
什么是HTTP:HTTP( HyperText Transfer Protocol )超文本传输协议 ,是一种用于分布式、协作式和超媒体信息系统的应用层协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。GET方法:GET方法是默认的HT...
2019-06-21 21:50:52 1177
原创 安卓开发--开启蓝牙(支持配对功能)
安卓的不同版本所实现的代码不同,9.0需要动态申请权限,包括获取位置的权限的Location9.0以下版本的代码:权限: <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETO...
2019-06-18 21:36:42 1009
原创 VideoView播放视频
VideoView是安卓自带的视频播放控件,可以通过两种方式播放,一种是访问网络,还有一种是访问本地视频第一种:访问网络代码:package com.example.day08;import android.content.Intent;import android.net.Uri;import android.support.v7.app.AppCompatActivity;im...
2019-06-14 21:45:05 220
原创 SurfaceView+MediaPlayer实现简单的视频的播放
初始化的代码:private void initMediaPlayer() { mediaPlayer = new MediaPlayer(); try { //mediaPlayer.setDataSource("/sdcard/newyear.mp4");//配置播放MP4文件源。 Uri uri = Ur...
2019-06-12 21:49:24 368
原创 安卓ToolBar+抽屉
前言抽屉是生活中最常见的存放东西的容器,无论衣柜,茶几还是冰箱,都有抽屉的应用,他可以将空间很好的隐藏,不影响外部的美观还会节省空间,在安卓开发中也有抽屉的应用。抽屉效果(此为示例图,百度搜的!!)ToolBar布局代码<android.support.v7.widget.Toolbar android:layout_width="match_parent" ...
2019-06-09 19:54:45 355
原创 RecyclerView适配器类
先导入依赖implementation ‘com.android.support:recyclerview-v7:28.0.0’api(‘com.jcodecraeer:xrecyclerview:1.5.9’) {exclude group: ‘com.android.support’}此适配器方法可以更好的实现删除添加数据的效果适配器代码如下:package com.exam...
2019-06-08 21:43:44 1484 1
原创 Service实现后台音乐播放器
简单实现音乐播放器,通过服务去操作播放器的上一首、下一首、播放和暂停操作播放器的主要几种方法:start();开始播放setDataSource(String path)设置数据源seekTo(int msec)设置指定播放位置(毫秒)getCurrentPosition()当前播放位置(毫秒)getDuration()获得时长pause()暂停reset()重新开始stop(...
2019-05-28 21:14:58 1261
原创 安卓四大组件之一 Service简单实现
1、介绍:Service,服务,是四大组件之一, 和Activity 非常相似, 一般运行在后台, 没有用户界面, 可执行的程序Activity 和 Service的区别不同点:1、Activity : 可以和用户交互, 页面可见2、Service : 后台运行, 没有界面相同点:service 的用途:播放音乐;后台下载大文件2、代码:主类代码:package com.e...
2019-05-27 21:43:25 344
原创 浅析回退栈
一、Fragment回退栈Activity切换时,相信大家都知道是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回退栈,它是直接销毁再重建,但如果将Fragment任务添加到回退栈,情况就会不一样了,它就有了类似Activity的栈管理方式。二、代码:主类代码:package com.example.day13_new;import android.suppo...
2019-05-23 21:43:29 364
原创 ViewPager+Fragment+选项卡
ViewPager这是在手机上最常见的一种控件,几乎每款手机软件都会应用,ViewPager+Fragment的使用可以实现更加美观的界面和效果。java代码:主类:package com.example.day13;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragm...
2019-05-22 22:01:50 2632
原创 Fraagment基础
介绍:Fragment,英文碎片的意思,早期应用在平板设计中。特点:Android 3.0 后出现, 是Activity 的一部分Fragment 作用: 提高代码的重用性, 提高用户的体验, 可以对Activity 进行模块化的管理Fragment 有自己的生命周期和接收处理用户的事件Fragment 可以 添加, 移除, 替换, 显示, 隐藏java代码:主类:packa...
2019-05-21 21:40:40 202
原创 EventBus
EventBusEventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思).EventBus三大要素:Event 事件。它可以是任意类型。Subscriber 事件订阅者。Publisher 事件的发布者。我们可以在任意线程里发布事件,一般情况下,使用EventBus.getDefault()就可以得到一个EventBus对象,...
2019-05-20 21:46:29 151
原创 广播接收者实现跨APP的聊天与数据传递
广播接收者1.自Android 3.1之后,所有新安装但未被执行过的apk,以及那些被用户强行停止的apk,都会处于stopped状态。这个状态下,apk中的广播接收者,均处于未激活状态, 无法履行监听功能。2.注册分为两种,一种为静态注册,一种为动态注册3.广播有有序广播与无序广播有序广播1.广播消息是按照一定的顺序传达的,高优先级的先得到广播消息,低优先级的后得到2.高优先级的可以...
2019-05-17 21:59:01 430
原创 安卓开发图片的二次采样
图片的二次采样是将从网络上获取到的原图,进行比例缩小,比如最常见的头像设置。不多说直接上代码。主类代码:Button btn; ImageView img; String str = "https://goss.veer.com/creative/vcg/veer/800water/veer-141874146.jpg"; @Override protected...
2019-05-16 22:07:44 334
原创 安卓开发操作数据库
安卓的数据库为SQLite,使用的sql语句都是互通的,这里就不多讲了,看代码:static ArrayAdapter adapter; ImageView img; Button add; Button delete; Button updata; Button select; ListView liv; SQLiteDatabase ...
2019-05-15 21:39:56 3483
原创 android三级缓存
目前缓存机制使用大致流程是,当App需要加载某一张图片时,先去手机内存中去找该图片,如果有,那么直接显示,如果无,则去手机sd卡或者手机外部存储中找该图片,如果有,那么直接显示,如果无,那么此时才去网络下载该图片。这种机制常称为三级缓存策略。三级缓存代码:主类代码:isLurCache ilc = new isLurCache(); TextView getimg; Ima...
2019-05-14 21:26:36 343
原创 两种PopupWindow的实现
出现在控件下方的PopupWindow这种方法可以自己设置出现的位置,主要是以出现在空间的下方为主;布局都是简单布局,就不演示布局代码了;效果图:先看一下设置背景色的代码:<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme....
2019-05-10 22:06:15 806
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人