Android

Android搭建grpc环境过程分步详解

目录 各种配置文件 编写proto文件并编译 编写简单的demo代码 结语 下面介绍的这个版本搭配是我研究好久好久才跑通的,这在我的电脑上是一组可行的配置,如果你使用了同样的配置跑不通,那可能是环境中某一部分还是有不同的地方,需要你自己再去找一下解决问题的办法,那么话不多说,直接上配置吧。 »

Android使用socket进行二进制流数据传输

目录 引言 简单的自定义协议 完整的代码 结语 引言 使用socket流传输二进制流数据,比如文件或者视频图片等等信息的时候,我们通常使用tcp协议传输,因为tcp协议可以保证二进制流按序到达,并且保证交付,这样子就可以保证我们传输二进制流的完整性。 使用tcp协议进行二进制流传输的时候 »

Android开发_记事本(1)

安卓开发入门 一些知识 Textview TextView中有下述几个属性: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的 »

zsc02

Android对so进行简单hook思路解析

目录 1、什么是Hook 2、对App的so进行Hook的一种思路 3、一个最基本的JNI sample程序代表目标宿主Apk 4、开始Hook 4.1、编写Hook代码 1、什么是Hook Hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到 »

AndroidBanner - ViewPager 03

AndroidBanner - ViewPager 03 上一篇文章,描述了如何实现自动轮播的,以及手指触摸的时候停止轮播,抬起继续轮播,其实还遗留了一些问题: 当banner不可见的时候,也需要停止轮播 给banner设置点击事件,长时间的触摸也会被默认是一个点击事件 这篇文章就来解决这些问题 »

android-lol

Android媒体通知栏多系统适配实例讲解

目录 一,先看效果图 二,实现方式 做音乐播放器,必然要用到通知栏,由于通知栏很多版本都有改动,一些厂商也做了调整,适配起来比较麻烦,能用系统自带的就用。 这里分享一下系统媒体通知栏的适配。 需要考虑的问题如下: 1,通知栏适配,音乐播放需要常驻,所以要维护一个通知栏。 2,音控处理, »

Android MediaPlayer音频播放器封装示例浅析

在 Android 中封装优雅的 MediaPlayer 音频播放器,可以遵循以下几个原则: 采用单例模式,确保整个应用中只有一个播放器实例,避免资源浪费和冲突。 封装音频播放器的基本操作,包括播放、暂停、停止、快进、快退、跳转到指定时间等。 提供回调接口,监听播放器状态变化事件,例如播放开始、 »

Android Vitamio和ExoPlayer两种播放器优劣分析

Vitamio是一个功能强大而稳定的播放器库,它支持多种视频格式和编解码方式,并且具有快速、流畅的播放效果,因此在一些对播放质量要求比较高的应用场景下可以考虑使用。但是需要注意的是,Vitamio的开发团队近些年来已经较少更新和维护,不支持较新的Android版本(如Android 7.0及以上版本 »

Android深色模式适配适配过程详解

目录 Android 深色模式适配 深色主题背景 在应用中支持深色主题背景 主题背景和样式 Force Dark 在视图上停用 Force Dark Android 10以上 配置变更 Android 深色模式适配 深色主题背景 Android 10 (API 级别 2 »

Android蓝牙的开启和搜索设备功能开发实例

目录 概览 设置蓝牙 蓝牙权限 设置蓝牙 查找设备 查询已配对设备 发现设备 启用可检测性 概览 Android 平台包含蓝牙网络堆栈支持,此支持能让设备以无线方式与其他蓝牙设备交换数据。应用框架提供通过 Android Bluetooth API 访问蓝牙功能的权限。这些 API »

Android SeekBar控制视频播放进度实现过程讲解

目录 效果图 简介 使用MediaController控制器 使用SeekBar 效果图 简介 使用VideoView控件播放视频时,我们希望能够调节播放的进度,一种方法是使用自带的控制器MediaController进行控制,另一种方法是自己实现一个SeekBar控制。 使用 »

Android自定义控件--如何在XML文件中使用自定义属性

目录 前言 一、为什么需要自定义控件 二、具体步骤 1.首先我们创建一个 layout xml文件: 2.为自定义控件创建java类: 3.在res/values下,新建一个attrs.xml文件: 4.最后使用: 前言 你好, 我是Cici。这几天在做一个小项目的时候,用到了自定 »

Android TabLayout选项卡使用教程

目录 TabLayout TabItem 演示效果的xml TabLayout TabLayout 在开发中一般作为选项卡使用,常与 ViewPager2 和Fragment 结合起来使用。 常用属性: app:tabBackground 设置 TabLayout 的背景色,改变整 »

Android自定义PhotoView使用教程

目录 准备工作 1、双击放大和缩小 2、滑动和惯性滑动 3、双指放大和缩小 4、完整DEMO 准备工作 自定义PhotoView 自定义 PhotoView 继承(extends)自 View。并在最中间显示后面操作的图片。绘制图片可以重写 onDraw()方法,并在里面通过Canvas »

详解Android Flutter如何使用相机实现拍摄照片

目录 简介 使用相机前的准备工作 在flutter中使用camera 总结 简介 在app中使用相机肯定是再平常不过的一项事情了,相机肯定涉及到了底层原生代码的调用,那么在flutter中如何快速简单的使用上相机的功能呢? 一起来看看吧。 使用相机前的准备工作 flutter中为使 »

Android Banner - ViewPager 02

Android Banner - ViewPager 02 现在来给viewpager实现的banenr加上自动轮播 自动轮播的原理,使用handler的延迟消息来实现。 自动轮播实现如下内容 开始轮播&停止轮播 可配置轮播时长、轮播方向 通过自定义属性来配置轮播时长,方向 »

android-lol

Android TextView冷门实用方法技巧

目录 介绍 自定义字体 AutoLink 对齐模式 介绍 TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显示文本。但是,TextView 有几个较少为人知的功能,对开发人员非常有用。在本博客文章中,我们将探讨其中的一些功能。 自定义字体 默认情况下 »

Android TextView冷门实用方法技巧

目录 介绍 自定义字体 AutoLink 对齐模式 介绍 TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显示文本。但是,TextView 有几个较少为人知的功能,对开发人员非常有用。在本博客文章中,我们将探讨其中的一些功能。 自定义字体 默认情况下 »