智能小车七《上位机android》
来源:互联网 发布:好的南方二本院校知乎 编辑:程序博客网 时间:2024/05/21 08:03
接着上文的串口协议,本文再介绍下android端如何实现。现在程序员分工很明确,很多会C的不会java,会java不一定会开发android。而我的本职工作是开发java后台的,android的开发只能算个业余选手,但开发一个小车的控制程序还是可以的。
先介绍一下android的开发环境,Android Studio。如下图:
我们新建一个项目后,主要的要改的文件都在这个main文件夹中。java文件夹是.java文件,放程序逻辑。res文件放用于界面展示的配置文件,AndroidManifest.xml是配置整个项目的权限,入口代码等。
我的设计是这样,进去的第一个界面先展示蓝牙列表与控制按钮。选择蓝牙连接上后,隐藏蓝牙列表,界面就只有控制按钮了。下面的进度条样子的控件是用于利用android的pwm功能来设置速度。
连接上蓝牙后:
这里面设置很多小的技术点,如设置横屏,如何隐藏控件,控件如何自适应屏幕大小。这些在专业的android程序员眼可能都不是事,但我做时还是用了不少时间查的。比如隐藏后如何自动适应屏幕,我用的是相对布局。这个可以看黑马程序员的android的视频课程。
这里介绍一个简单而重要的技术点,蓝牙如何保持连接?在实际的操作过程中,使用者可能会发现蓝牙会无缘无故断掉。一开始我只有重启app再连接,真到改了如下几行代码:
try {
os.write(msg.getBytes());
} catch (IOException e) {
e.printStackTrace();
//发送发生异常,重连Socket
System.out.println("发送发生异常,重连Socket");
connectSocket(lvDevices);
}
解释一下os是OutputStream,蓝牙的输出流。msg是要发送的消息内容。如果发生异常就再去连接蓝牙。其实最好的是连接之后再发送一次内容。
好了,一个简单的控制程序就介绍完了。
先介绍一下android的开发环境,Android Studio。如下图:
我们新建一个项目后,主要的要改的文件都在这个main文件夹中。java文件夹是.java文件,放程序逻辑。res文件放用于界面展示的配置文件,AndroidManifest.xml是配置整个项目的权限,入口代码等。
我的设计是这样,进去的第一个界面先展示蓝牙列表与控制按钮。选择蓝牙连接上后,隐藏蓝牙列表,界面就只有控制按钮了。下面的进度条样子的控件是用于利用android的pwm功能来设置速度。
连接上蓝牙后:
这里面设置很多小的技术点,如设置横屏,如何隐藏控件,控件如何自适应屏幕大小。这些在专业的android程序员眼可能都不是事,但我做时还是用了不少时间查的。比如隐藏后如何自动适应屏幕,我用的是相对布局。这个可以看黑马程序员的android的视频课程。
这里介绍一个简单而重要的技术点,蓝牙如何保持连接?在实际的操作过程中,使用者可能会发现蓝牙会无缘无故断掉。一开始我只有重启app再连接,真到改了如下几行代码:
try {
os.write(msg.getBytes());
} catch (IOException e) {
e.printStackTrace();
//发送发生异常,重连Socket
System.out.println("发送发生异常,重连Socket");
connectSocket(lvDevices);
}
解释一下os是OutputStream,蓝牙的输出流。msg是要发送的消息内容。如果发生异常就再去连接蓝牙。其实最好的是连接之后再发送一次内容。
好了,一个简单的控制程序就介绍完了。
阅读全文
0 0
- 智能小车七《上位机android》
- android上位机连接hc-06蓝牙模块(以蓝牙智能小车为例)
- 智能小车的制作(七)
- Android蓝牙开发:蓝牙小车上位机(开源)(第二版)
- 一、c++上位机与WiFi小车通讯
- 智能小车
- 【Ardunio小车】智能小车组装
- 基于android系统的智能小车控制软件开发
- 安卓手机蓝牙控制智能小车 android程序设计
- 智能寻迹蔽障小车论文
- 智能小车小记
- 红外遥控智能小车
- 智能小车循迹避障程序
- Arduino-智能小车
- 开始玩智能小车
- WiFi智能小车
- DIY智能小车
- anroid wifi 智能小车
- Linux文件查找利器 locate & find
- spring4.2+struts2.5+jdbc实例-PIMS(二)
- hdu 6096
- Python入门(二)
- CSU1978: LXX的图论题
- 智能小车七《上位机android》
- Redis集群搭建
- ubuntu搭建svn服务器
- 抽象类的定义及运用
- 2017.8.12在线笔试编程真题总结
- c++字符串string操作全解
- 模拟模拟交易系统(三)——UI设计
- HihoCoder
- 线段树总结(点修改+区间修改)