首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Ble蓝牙App(四)UI优化和描述符

Ble蓝牙App(四)UI优化和描述符 前言   上一篇中了解了特性和属性,同时显示设备蓝牙服务下的特性和属性,本文中就需要来使用这些特性和属性来完成一些功能。...正文   在进行具体的功能开发之前,对于UI的优化也是必不可少的,就拿主页面来说,目前是比较奇怪的,如果你是第一次使用这个App的话,可能就会很疑惑,要怎么使用?...基于这个点我们增加一个布局,优化以下主页面的提示。 一、UI优化 ① 主页面提示优化   首先在layout下新建一个lay_empty_ble.xml,里面的代码如下所示: <?...android:text="暂无蓝牙设备,请点击页面左上角蓝牙图标按钮,进入扫描页面,选择设备连接后进行操作" android:textColor="@color/gray...③ 设备信息优化   当前连接设备之后我们可以看到设备的服务信息,但是却不知道是那个设备,没有一个地方显示设备的信息,最重要的当然就是设备的名称和Mac地址了,这里我们可以优化一下,首先修改一下activity_main.xml

30330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Ble蓝牙App(一)扫描

    针对这个情况,我决定做了系列性的Ble蓝牙App,尽可能的避免在你运行的时候出现bug,所以这是一个低功耗蓝牙工具App,可以让你了解到一些东西。..." ...> 三、扫描页面   在Android12及以上版本,使用蓝牙时需要请求扫描、连接权限、如果还需要使用手机作为从机的话,就请求广播权限,后面会提到的,同时在低版本Android...:layout_marginBottom="16dp" android:text="从Android12.0开始,打开蓝牙之前需要请求此权限,使用蓝牙连接权限" app:...attr/actionBarSize" android:background="@color/orange" app:title="选择蓝牙设备" app...-- 手机蓝牙未开启时显示 --> <include android:id="@+id/enable_bluetooth_lay" layout="@layout

    1.1K60

    Android Ble蓝牙App(五)数据操作

    Ble蓝牙App(五)数据操作 前言   关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了,而下面就是使用这些知识进行数据的读取、写入、通知等操作。.../android" xmlns:app="http://schemas.android.com/apk/res-auto" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox...="parent" app:layout_constraintTop_toTopOf="parent" app:title="写入数据" /> <com.google.android.material.textfield.TextInputLayout...一、概念 Ble Enable Notify是指在蓝牙低功耗(BLE)通信中使能通知功能的操作。当设备之间建立了蓝牙连接后,设备可以通过特征(Characteristic)来交换数据。...,所在在蓝牙的一些API处理上,我们都要考虑兼容的问题,我觉得奇怪的是,为什么不在Android12的版本中顺便加上去这些改动的API,也不重要,开发者就是这个命,这里的代码实际上比较简单,就是根据操作名进行

    1.3K30

    Android Ble蓝牙App(七)扫描过滤

    前言   在上一篇文章中了解了MTU的相关知识以及对于设备操作信息的展示,本篇文章中将增加扫描设备的过滤功能让你更方便的扫描想要找的低功耗蓝牙设备。...二、使用MMKV   因为我们修改的菜单项会涉及到保存过滤设置的功能,所以需要将一些参数报错到手机中,那么我们可以使用SP、DataStore等方式,但是这里我是用MMKV,主要是因为用起来比较的方便,.../android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent...android:text="RSSI:" android:textColor="@color/black" app:layout_constraintStart_toStartOf...android:layout_weight="1" android:text="确定" app:layout_constraintEnd_toEndOf=

    67950

    Android-App性能优化

    上一篇我们讲了java的引用机制,今天我们来一下和它有关的app性能优化(其实也不是很大)。...那么我们如何解决呢,主要从两点入手:ui布局,绘制优化和主线程优化? 布局优化 避免ui布局优化可以先从合理使用背景色开始,比如:如果子view和父布局公用一个背景色就没有必要了。...绘制优化 -我们之前说过根据Android系统显示的原理,View的绘制频率保证60fps是最佳的,这就要求每帧绘制时间不超过16ms(16ms = 1000/60),因此要减轻onDraw()的负担。...还有就是刷新,刷新的话尽量减少不必要的刷新和尽可能减少刷新面积 启动优化 冷启动 冷启动是指安装apk后首次启动应用程序,或者应用程序上次结束,进程被杀死后重新打开app....稳 主线程优化 主线程的优化大部分是指内存优化,不要内存泄漏,那么通常那些地方容易引起内存泄漏呢?

    2.2K40

    fiddler对Android手机APP抓包

    公司有一个APP项目,因为涉及第三方开发好的接口返回的数据,APP需要根据这些返回数据或者返回的状态进行相对于的处理,但是我一开始也是懵逼的,我不知道怎么办,不知道测试?...二、下载fiddler设置手机抓包 1、怎么下载fiddler就不用说了吧,直接百度就好了。主要还是说下怎么设置fiddler手机抓包吧。...,实现对手机APP发出的http请求进行抓包 1)fiddler端: 在菜单栏tools-options-Connections下勾选Allow remote computers to connect...2)设置手机端 因为fiddler是通过设置代理来进行抓包,所以需要对手机端进行设置代理,同时能够实现抓包的前提:手机连的wifi和PC电脑需要同一个网段,不然是不能够抓包的呢 步骤一、进入手机设置,...这个端口和fiddler监听的端口保持一致 查看电脑IP方法,命令ipconfig 完成上面fidller和手机端的设置后,就可进行手机APP端的抓包了。

    1.9K30

    Android实现一对一蓝牙聊天APP

    学习了,三天的Android 蓝牙开发,开始是一头雾水,看着别人讲的Google官方的demo感觉很容易,所有自己也尝试写一个很简单的聊天demo.可是想的很简单,自己做起来也花了,将近一天的时间才搞定这个基本的流程设计...: 1.实现一对一蓝牙连接 2.实现一对一聊天 很简单的功能,思路看着也很清晰,可是深入去写,才知道,水还是深度的,java不熟的话....此处基本的如何打开蓝牙不在复述,请自行百度....思路: 1)初始化,打开手机蓝牙,开始蓝牙服务器线程,等待连接 2)配对,获取某台手机蓝牙address地址. 3)开启连接线程连接手机蓝牙 4)连接成功后,开启,蓝牙聊天的线程,进行聊天的通讯...// because mmServerSocket is final BluetoothServerSocket tmp = null; try { // MY_UUID is the app's

    87640

    Androidapp中实现蓝牙服务Service的案例

    Android应用中,你可以通过服务(Service)来实现蓝牙数据读取。以下是一个简单的示例,演示如何创建一个Android服务以连接到蓝牙设备并读取数据。...你可以创建一个名为BluetoothService的类:  import android.app.Service; import android.content.Intent; import android.os.Binder...这通常需要使用Android蓝牙API或第三方蓝牙库(如Android Bluetooth SDK或其他开源库)。...下面是一个简化的示例,假设你使用Android蓝牙API(需要处理权限、配对等细节): import android.app.Service; import android.content.Intent...以下是一个活动的示例,展示如何使用服务: import android.app.Activity; import android.content.ComponentName; import android.content.ServiceConnection

    1.1K20

    android开发之手机与单片机蓝牙模块通信

    之前两篇都是在说与手机的连接,连接方法,和主动配对连接,都是手机手机的操作,做起来还是没问题的,但是最终的目的是与单片机的蓝牙模块的通信。...下面是到目前为止尝试的与单片机的通信方法,没有成功,但是从思路上来说没有问题,最大的问题是与单片机配对的时候,单片机的蓝牙模块的PIN配对码是写死的,固定为1234, 而手机这边连接配对都是自动生成的PIN...配对码,这种方式在手机手机配对的时候是极为方便的,但是在这里与单片机连接却成了最大的问题,因为手机自动生成而且每次都不一样,所以没法与单片机蓝牙模块的1234相同也就没法陪对了。...private void showDevices() { ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item...在这个上面我现在在想,是否通过判断搜索到的设备类型来识别单片机蓝牙模块与手机蓝牙的不同,采取不一样的配对方式,从而不自动生成配对码。不知是否可行,一会尝试。

    79720

    Android App 优化之ANR详解

    作者:anly_jun https://juejin.im/post/582582df0ce4630058bbbad2 本文由anly_jun原创,已获授权原创首发 1, 你碰到ANR了吗 在App使用过程中...1.2 为什么会产生ANR 在Android里, App的响应能力是由Activity Manager和Window Manager系统服务来监控的....(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke...2.2.3 内存原因 其实内存原因有可能会导致ANR, 例如如果由于内存泄露, App可使用内存所剩无几, 我们点击按钮启动一个大图片作为背景的activity, 就可能会产生ANR, 这时trace信息可能是这样的...3.内存不够用的 增大VM内存, 使用largeHeap属性, 排查内存泄露(这个在内存优化那篇细说吧)等。 3, 深入一点 没有人愿意在出问题之后去解决问题。

    1.1K10

    Android APP性能优化分析

    本文通过Android APP性能优化的四个方面做了详细分析,并对原理和重点做了详细解释,以下是全部内容: 说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃...,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才感觉运行速度稍微提高了点,就算手机在各种性能跑分软件面前分数遥遥领先,还是感觉无论有多大的内存空间都远远不够用。...由于 Android 系统源码是开放的,每个人只要遵从相应的协议,就可以对源码进行修改,那么国内各个厂商就把基于 Android 源码改造成自己对外发布的系统,比如我们熟悉的小米手机 Miui 系统、华为手机...,导致用户在使用过程中用户体验感受不同,那么有些问题用户就会转化为 Android 系统问题,进而影响对Android 手机的评价。...性能优化 今天想说的重点是Android APP 性能优化,也就是在开发应用程序时应该注意的点有哪些,如何更好地提高用户体验。

    1.9K00

    Android实战APP启动速度优化

    APP启动速度非常重要,APP启动速度慢,可能会造成用户体验不良好,尤其是在最近用Android studio之后,如果长时间不打开app,启动速度就会特别的慢,下面我们一起探讨一下影响app启动速度的原因.../adb shell am start -W "com.hchstudio.dict"/".MainActivity" Starting: Intent { act=android.intent.action.MAIN...这是一个很长时间没有启动的app,当它第一次启动的时候就有很长的启动时间,下面来说怎么来减少吧。...,给你的app首页主题样式加上android:windowBackground,放一下app的背景图片,这样即使app启动慢,也会首先加载背景,这样就会给用户造成一种假象,认为是app已经启动。...Instant Run 对于Android studio的新功能Instant Run,你知道多少呢?

    94420

    Android Ble蓝牙App(六)请求MTU与显示设备信息

    前言   在上一篇文章中已经了解了数据操作的方式,而数据交互的字节长度取决于我们手机蓝牙设备的最大支持长度。...MTU 是指在一个蓝牙数据包中能够传输的最大数据量。   通过调用 requestMtu 方法,你可以请求增加或减少 BLE 连接中的 MTU 大小。...获取MTU,蓝牙一般默认支持的MTU长度是23个字节,一个字节为类型操作码,两个字节为类型操作句柄,实际传输数据就是20字节。通过gatt.requestMtu(mtu)。...这里mtu 的范围在23 ~ 517之间,目前市面上Android版本高的手机基本上都是247。也就是说即使你mtu = 517,回调中的mtu可能还是247,为什么呢?...因为你的Android手机上的蓝牙最大支持247。而在传输的时候你还需要-3,也就是244。单次传输的最大字节数据为244个字节。

    2.6K30
    领券