发布

老欧说安卓

专栏成员
278
文章
447287
阅读量
79
订阅数
鸿蒙NEXT版仿抖音快手App的获取视频缩略图
上一节我们利用系统相机实现了录像功能,那么为了直观地浏览视频列表,就要给每个视频配上封面,这个封面图的来源之一便是视频里的某帧画面。接下来就介绍如何从视频文件中根据时间点提取帧图像,具体的提取过程分为以下四个步骤。
aqi00
2024-12-23
1400
鸿蒙NEXT版仿抖音快手App的相机录制视频
上一节我们使用Refresh组件实现了下拉刷新功能。除了浏览别人发布的短视频,用户也能在抖音App上发布自己的作品,当然首先得有一段录制好的视频,那么在鸿蒙系统录像用到了系统相机。使用相机录像的具体步骤说明如下:
aqi00
2024-12-19
940
鸿蒙NEXT版仿抖音快手App的下拉刷新组件
上一节我们通过网络请求库实现了简单的HTTP接口调用,那么除了在首次加载App界面时的接口调用,用户还会通过下拉刷新动作实时获取最新的接口内容。鸿蒙系统提供了专门的下拉刷新组件Refresh,方便开发者处理下拉刷新事件。
aqi00
2024-12-09
1030
鸿蒙NEXT版仿抖音快手App的网络接口调用
上一节我们通过添加权限配置成功申请了应用的网络访问权限,这样App才能访问网络接口,才能加载网络图片。那么调用HTTP接口是很常见的网络访问操作,在鸿蒙App代码中调用HTTP的具体过程包含以下几个步骤:
aqi00
2024-12-06
1270
鸿蒙NEXT版仿抖音快手App的网络动态授权
上一节我们利用滑块组件实现了多张图片的左右轮播特效,在此基础上可以实现多个短视频的上下轮播特效。那么要想正常播放网络视频,还得让App提前获得网络授权才行。鸿蒙系统提供了一种允许应用访问系统资源(例如通讯录)和系统能力(例如访问摄像头、麦克风等)的通用权限访问方式,以此避免系统数据和系统功能被不当使用。
aqi00
2024-12-05
1200
鸿蒙NEXT版仿微信聊天App的轮播特效
上一节我们利用相对布局实现了短视频播放界面的交互图标叠加效果,那么除了在空间上的叠加特效之外,还有另一种在时间上的轮播特效,允许同一类型的媒体列表随着时间流逝而切换。这种轮播特效便用到了滑块组件Swiper,它支持输入一组图片或者一组视频,通过滑动手势来切换前后的媒体内容。
aqi00
2024-12-02
630
鸿蒙NEXT版仿抖音快手App的相对布局
上一节我们利用photoAccessHelper实现了从相册挑选视频的功能,但在短视频APP界面,视频画面上还叠加了若干交互图标,包括但不限于:点赞、收藏、评论、分享等等。那么在某个组件上叠加显示其他组件,就用到了相对布局这个容器。
aqi00
2024-11-29
1140
鸿蒙NEXT版仿抖音快手App的选择相册视频
上一节介绍了Video组件的基本用法,那么要想观看视频播放效果,还得先找到待播放的视频文件才行。暂且不提网络视频,因为访问网络需要申请授权,只说从系统相册挑选一个视频文件,那就简单多了。
aqi00
2024-11-27
1150
鸿蒙NEXT版仿抖音快手App的视频播放组件
“仿抖音快手”的App项目在Android系统中有成熟的实战案例,具体参见《Android Studio开发实战:从零基础到App上线(第3版)》第14章的“14.4 实战项目:仿抖音的短视频分享”,该项目的前后端通讯方式采用HTTP接口实现,既支持向服务端上传短视频,也支持从服务端拉取短视频观看,并且在多部Android真机上测试通过,具备很高的学习研究价值。
aqi00
2024-11-25
1790
鸿蒙NEXT版仿微信聊天App的群聊功能
上一节我们通过自定义图片分段结构实现了从SocketIO服务器接收图片的功能,至此可以在单聊中发送文本和图片了。不过若想在群聊中发送文本和图片,还得构建一套群聊机制,把群成员发送的消息转发给其他的群成员。具体的群聊构建过程分为下列几个事件处理。
aqi00
2024-11-25
1250
鸿蒙NEXT版仿微信聊天App的接收图片
上一节我们通过自定义图片分段结构实现了向SocketIO服务器发送图片的功能,那么还需实现从SocketIO服务器接收图片的功能,才叫完成图片消息收发的闭环操作。接下来以BASE64串作为图片数据的载体,在接收完所有图片分段数据后,将其解码并重新拼接为原始的图片。具体的接收过程分为下列两个步骤。
aqi00
2024-11-25
820
鸿蒙NEXT版仿微信聊天App的发送图片
上一节我们综合使用util、image等工具库,把BASE64字符串成功解码为PixelMap像素图。接下来以BASE64串作为图片数据的载体,向后端的SocketIO服务器发送一段一段的图片消息,具体的发送过程分为下列三个步骤。
aqi00
2024-11-25
1280
鸿蒙NEXT版仿微信聊天App的BASE64转像素图
上一节我们综合使用fileIo、image、buffer等工具库,把图片文件的二进制数据成功编码为BASE64字符串。那么为了能够正常收发图片消息,还需从BASE64字符串解码得到原始的图片数据,这样一来一去的无损逆向操作,方能实现准确无误的图片传输功能。
aqi00
2024-11-25
1200
鸿蒙NEXT版仿微信聊天App的图片转BASE64
上一节我们利用photoAccessHelper实现了从相册挑选图片的功能,但是SocketIO不支持传输二进制数据,只允许传输文本字符串,那么得想办法把图片数据转成字符串才行。
aqi00
2024-11-25
1380
鸿蒙NEXT版仿微信聊天App的选择相册图片
上一节我们利用鸿蒙自带的JSON库实现了封装和解析JSON串,那么接下来准备把图片数据采用JSON格式封装。不过在此之前,得先从系统相册挑选一张待发送的图片才行,正所谓要先有鸡而后才有蛋呀。
aqi00
2024-11-25
1100
鸿蒙NEXT版仿微信聊天App的解析JSON串
上一节我们利用三方库SocketIO实现了在设备间收发文本消息,那么对于更复杂的消息包,就不仅是简单的一串文本,而是采用JSON格式封装的字符串。鉴于JSON格式是很常见的数据格式,这里就不再啰嗦了,如果是纯新手不了解JSON格式的话,建议参考《Android Studio开发实战:从零基础到App上线(第3版)》一书的“13.2.1 移动数据格式JSON”。
aqi00
2024-11-25
910
鸿蒙NEXT版仿微信聊天App的SocketIO库
上一节我们实现了仿微信消息的气泡背景效果,那么聊天消息的传输还要引入第三方的SocketIO库,我方手机的App先把消息内容传给后端的SocketIO服务器,再由SocketIO服务器把消息内容转发给对方手机的App。后端的SocketIO服务器可采用netty-socketio,完整的服务端工程代码参考 https://gitee.com/aqi00/net_server/tree/master/HttpServer 。
aqi00
2024-11-25
1050
鸿蒙NEXT版仿微信聊天App的气泡背景
上一节我们实现了仿微信聊天页面的消息左右对齐方式,那么聊天消息的气泡背景也是很有必要的,不管聊天消息有多长有多高,气泡背景都能自动跟着拉长拉高,恰当地把消息内容都包裹在气泡中,如下图所示。
aqi00
2024-11-25
1810
鸿蒙NEXT版仿微信聊天App的聊天消息对齐
上一节我们实现了仿微信聊天页面的软键盘避让方式,那么聊天时候的对方消息和我方消息有着不同的对齐方式,对方消息靠左靠上对齐,而我方消息靠右靠下对齐,如下图所示。
aqi00
2024-11-25
1430
鸿蒙NEXT版仿微信聊天App的避让软键盘
上一节我们实现了仿微信的昵称修改弹窗,那么在微信的聊天页面,看起来是对方和自己一左一右的对话交互。别看这个对话界面没什么技术含量,实际上打磨一个既方便又美观的交互效果可不容易了,仅仅对话界面就有软键盘避让、组件内外对齐、背景图拉伸三个难点需要一一攻克。
aqi00
2024-11-25
2680
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档