最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Android蓝牙聊天示例应用程序使用

IT圈 admin 60浏览 0评论

2024年8月24日发(作者:学醉蝶)

本文我们将通过学习Android的蓝牙聊天示例应用程序来介绍蓝牙开发包的使用,该

示例程序完整的包含了蓝牙开发的各个部分,将实现两个设备通过蓝牙进行连接并聊

天。

前面我们说过,在使用蓝牙API时就需要开启某些权限,同时我们还可以从And

文件中找到应用程序启动时所进入的界面Activity等信息,因此下

面我们首先打开文件,代码如下:

1. roid" package="othChat" android:

versionCode="1" android:versionName="1.0"> > >

l="@string/app_name" android:configChanges="orientation|keybo

ardHidden"> " /> ER" />

- 用于显示蓝牙设备列表的Activity --> iceListActivity" android:label="@string/select_device" android:

theme="@android:style/" android:configChanges="o

rientation|keyboardHidden" />

t>

首先minSdkVersion用于说明该应用程序所需要使用的最小SDK版本,这里设

置为6,也就是说最小需要使用android1.6版本的sdk,同时Ophone则需要使用o

ms2.0版本,然后打开了BLUETOOTH和BLUETOOTH_ADMIN两个蓝牙操作相关的

权限,最后看到了两个Activity的声明,他们分别是BluetoothChat(默认主Activity)

和DeviceListActivity(显示设备列表),其中DeviceListActivity风格被定义为一个对

话框风格,下面我们将分析该程序的每个细节。

BluetoothChat

首先,程序启动进入BluetoothChat,在onCreate函数中对窗口进行了设置,代

码如下:

1. // 设置窗口布局 requestWindowFeature(E_CUSTO

M_TITLE); setContentView(); getWindow().setFe

atureInt(E_CUSTOM_TITLE, _titl

e);

这里可以看到将窗口风格设置为自定义风格了,并且指定了自定义title布局为c

ustom_title,其定义代码如下:

复制到剪贴板 Java代码

1. s/android" android:layout_width="match_parent" android:layo

ut_height="match_parent" android:gravity="center_vertical"

>

ut_alignParentLeft="true" android:ellipsize="end" android:sin

gleLine="true" style="?android:attr/windowTitleStyle" android:

layout_width="wrap_content" android:layout_height="match_pare

nt" android:layout_weight="1" /> @+id/title_right_text" android:layout_alignParentRight="true"

android:ellipsize="end" android:singleLine="true" android:la

yout_width="wrap_content" android:layout_height="match_paren

t" android:textColor="#fff" android:layout_weight="1"

/>

该布局将title设置为一个相对布局RelativeLayout,其中包含了两个TextView,

一个在左边一个在右边,分别用于显示应用程序的标题title和当前的蓝牙配对链接名

称,如下图所示。

其中左边显示为应用程序名称"BluetoothChat",右边显示一个connected:scort

则表示当前配对成功正在进行聊天的链接名称。整个聊天界面的布局在中

实现,代码如下:

复制到剪贴板 Java代码

1. android" android:orientation="vertical" android:layout_width=

"match_parent" android:layout_height="match_parent" >

layout_width="match_parent" android:layout_height="match_par

ent" android:stackFromBottom="true" android:transcriptMode

="alwaysScroll" android:layout_weight="1" /> tal" android:layout_width="match_parent" android:layout_hei

ght="wrap_content" > out" android:layout_width="wrap_content" android:layout_hei

ght="wrap_content" android:layout_weight="1" android:layou

t_gravity="bottom" />

发布评论

评论列表 (0)

  1. 暂无评论