WIFI小车APP

对应这篇文章:433M射频遥控灯、震动感应灯、WIFI避障小车

目录

  • 代码概要
  • activity_contrl.xml
  • ContrlActivity.java
  • NetUtils.java
  • 详细工程代码下载

代码概要

在这里插入图片描述

activity_contrl.xml

在这里插入图片描述

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/test"tools:context=".ContrlActivity" ><LinearLayoutandroid:layout_centerVertical="true"android:layout_alignParentRight="true"android:layout_marginRight="100dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical" ><Buttonandroid:id="@+id/btnqian"android:layout_width="100dp"android:layout_height="100dp"android:layout_weight="1"android:background="@drawable/btn_back"android:text="前进"android:layout_margin="10dp"android:textColor="#ffffff" /><Buttonandroid:id="@+id/btnhou"android:layout_width="100dp"android:layout_height="100dp"android:layout_weight="1"android:layout_margin="10dp"android:background="@drawable/btn_back"android:text="后退"android:textColor="#ffffff" /></LinearLayout><LinearLayoutandroid:layout_centerVertical="true"android:layout_marginLeft="100dp"android:layout_height="wrap_content"android:layout_width="wrap_content"android:orientation="horizontal" ><Buttonandroid:id="@+id/btnzuo"android:layout_height="100dp"android:layout_width="100dp"android:layout_weight="1"android:background="@drawable/btn_back"android:text="左转"android:layout_margin="10dp"android:textColor="#ffffff" /><Buttonandroid:id="@+id/btnyou"android:layout_height="100dp"android:layout_width="100dp"android:layout_weight="1"android:layout_margin="10dp"android:background="@drawable/btn_back"android:text="右转"android:textColor="#ffffff" /></LinearLayout></RelativeLayout>

ContrlActivity.java

在这里插入图片描述

package com.gec.bluetoothcarlink;import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;public class ContrlActivity extends Activity {Button qian;Button hou;Button zuo;Button you;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 璁剧疆鏃犳爣棰樻爮requestWindowFeature(Window.FEATURE_NO_TITLE);// 璁剧疆鍏ㄥ睆getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 淇濇寔灞忓箷甯镐寒getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setContentView(R.layout.activity_contrl);initView();}void initView() {qian = (Button) findViewById(R.id.btnqian);hou = (Button) findViewById(R.id.btnhou);zuo = (Button) findViewById(R.id.btnzuo);you = (Button) findViewById(R.id.btnyou);qian.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:new NetUtils("4").sendMessage();break;case MotionEvent.ACTION_UP: {new NetUtils("s").sendMessage();break;}}return false;}});hou.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:new NetUtils("5").sendMessage();break;case MotionEvent.ACTION_UP: {new NetUtils("s").sendMessage();break;}}return false;}});zuo.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:new NetUtils("6").sendMessage();break;case MotionEvent.ACTION_UP: {new NetUtils("z").sendMessage();break;}}return false;}});you.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:new NetUtils("7").sendMessage();break;case MotionEvent.ACTION_UP: {new NetUtils("z").sendMessage();break;}}return false;}});}}

NetUtils.java

在这里插入图片描述

package com.gec.bluetoothcarlink;import java.io.OutputStream;
import java.net.Socket;import android.os.Handler;public class NetUtils {public String message;public String reTurnMes;public Handler handler;public NetUtils(String message) {this.message = message;}public NetUtils(String message, Handler handler) {this.message = message;this.handler = handler;}public void sendMessage() {new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtry {Socket client = new Socket("192.168.1.217", 8888);//Socket client = new Socket(StartActivity.IP, Integer.parseInt(StartActivity.Port));OutputStream out = client.getOutputStream();out.write(message.getBytes());out.close();client.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}).start();}
}

详细工程代码下载

https://download.csdn.net/download/zhuguanlin121/21023813?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Web App]必胜客宅急送产品设计思路介绍[转]

O2O模式是餐饮业在移动消费趋势下主动拥抱互联网的方向&#xff0c;迎合餐饮消费者从以往经验判断为主转变为依靠移动设备、LBS、社交网络进行立体决策的过程。App成为联系消费者和餐饮业的重要纽带&#xff0c;承载着在O2O双向流程的闭环中加深消费者对品牌的认同和感情认知的…

yara 模式匹配 android,YARA——恶意软件模式匹配利器

YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具(由virustotal的软件工程师Victor M. Alvarezk开发)&#xff0c;使用YARA可以基于文本或二进制模式创建恶意软件家族描述信息&#xff0c;当然也可以是其他匹配信息。YARA的每一条描述或规则都由一系列字符…

12.6今日任务

查询资料&#xff0c;查询如何包装成软件转载于:https://www.cnblogs.com/IENHOLT/p/10147742.html

C语言extern关键字(去使用外部全局变量、函数)

参考&#xff1a;C语言正确使用extern关键字 作者&#xff1a;xingjiarong 发布时间&#xff1a;2015-08-14 08:37:33 网址&#xff1a;https://blog.csdn.net/xingjiarong/article/details/47656339 目录1、引用同一个文件中的变量2、引用另一个文件中的变量3、引用另一个文件…

使用Raphael实现html中绘图

2019独角兽企业重金招聘Python工程师标准>>> 首先&#xff1a;下载Raphael的javascript库&#xff1a;http://raphaeljs.com/。或者在html页面<head></head>&#xff1a;如下 <script src"http://www.zfanw.com/blog/raphael.js"></…

ITSS认证对企业的意义

在数字化时代&#xff0c;信息技术已经成为企业发展的重要驱动力。ITSS&#xff08;信息技术服务标准&#xff09;认证&#xff0c;作为信息技术服务领域的权威认证&#xff0c;对企业的意义非凡。本文将从提高服务质量、提升企业竞争力、优化管理体系、保障信息安全等方面&…

vivo手机刷机鸿蒙,捡到vivo手机如何刷机

捡到手机&#xff0c;首先建议归还给失主&#xff01;然后如果需要刷机的话&#xff0c;建议可以清除账户密码&#xff1a;可以尝试在手机关机状态同时按住音量上键以及电源键3到4秒手机出现vivo手机标志后&#xff0c;放开按键进入recovery模式&#xff0c;先选择wipe data/fa…

UEditor 百度富文本编辑器 .Net实例

转自 http://download.csdn.net/download/hdsslxl/6740605 1、UEditor 百度富文本编辑器完整版 .Net实例 已解决上传图片问题。 2、内附完整demo实例&#xff0c;附带txt讲解说明及UEditor常见问题解决方案。 3、已经调试好的百度文本编辑器实例&#xff0c;用户体验不错&#…

详解ROM和RAM

参考&#xff1a;详解ROM和RAM 作者&#xff1a;嵌入式实验楼 网址&#xff1a;https://mp.weixin.qq.com/s/FhUxMLeAxkhWe5m-gV_hMw 目录1、只读存储器&#xff1a;ROM2、随机访问存储器&#xff1a;RAM内存是计算系统最重要的元素&#xff0c;因为没有它&#xff0c;计算机就…

ubuntu解压和压缩文件

.tar 解包&#xff1a;tar xvf FileName.tar打包&#xff1a;tar cvf FileName.tar DirName&#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09;———————————————.gz解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d…

python递归查询并列出目录

第一种方法&#xff1a;>>> import os #导入模块 >>> os.walk(/tmp/test/testdir) #os的walk函数对象 <generator object walk at 0x1e8a960> >>> for i in os.walk(/tmp/test/testdir): #for循环打印出目录的文件 ... print i ... (/tmp…

html 输入框防止自动记忆,网页输入框input填写内容自动记忆功能怎么去除

我们在做前端的html网页模板的时候&#xff0c;免不了要制作一些输入框&#xff0c;供使用者输入信息实现人机交互。一般情况下我们都会使用如下的HTML代码来生成单行输入框&#xff1a;这是一个很简单的HTML代码&#xff0c;其效果就是可以在前端页面输出一个输入框供用户输入…

深入理解STM32内存管理

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

django ORM中的RelatedManager(关联管理器)

关联管理器应用在 一对多的表 或者 多对多的表 多对多表中的用法: 在多对多的表中 正向查询 #基于对象的查询 #正查 # author_obj Author.objects.get(id1) # print(author_obj) #<Author object: 1 吴晓波> # print(author_obj.book_set.all()) #出版过的所有的书 …

html 手写字效果,canvas画布实现手写签名效果的示例代码

最近项目中涉及到移动端手写签名的功能需求&#xff0c;将实现代码记录于此&#xff0c;供小伙伴们参考指摘哦~HTML代码&#xff1a;手写区清除确定CSS样式&#xff1a;.mSign_signMark_box{padding: 15px 15px 26px 15px;}.mSign_signMark_footer{max-width:640px;margin:0 au…

ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET

这是一个已经移植到 .NET 的 ADO 应用的例子。也演示了单向、只读、快速 DataReader 的使用。它演示如何使用 DataView 类从 DataSet 获取一个 Table 和 操作一个类似于旧的 ADO 记录集模型。请记得&#xff0c;ADO 记录集仅仅包含一个 Table 的数据&#xff0c;但是 ADO.NET D…

FTP云盘

参考&#xff1a;FTP云盘项目 作者&#xff1a;糯米啊啊 发布时间&#xff1a; 2021-08-19 10:34:05 网址&#xff1a;https://blog.csdn.net/weixin_43732386?spm1001.2014.3001.5509 参考&#xff1a;自制FTP云盘项目 作者&#xff1a;不说话的小脑斧 发布时间&#xff1a; …

html transform属性,css3 transform属性详解

CSS3变形是一些效果的集合&#xff0c;比如平移translate() 、旋转rotate()、缩放scare()和倾斜skew()效果&#xff0c;每个效果都被称作为变形函数(Transform Function),它们可以操控元素发生旋转、缩放、和平移等变化。CSS3的2D transform函数包括了translate()、scale()、ro…

UIApplication的作用

1.设置app图标右上角的数字2.设置状态栏的属性&#xff08;样式、是否要显示&#xff09;3.打开某个链接\发短信\打电话4.keyWindow : 访问程序的主窗口&#xff08;一个程序只能有一个主窗口&#xff09;5.windows : 访问程序中的所有窗转载于:https://www.cnblogs.com/gatsby…

PHP调用新浪API 生成短链接

我们经常收到类似于这样的短信&#xff08;如下图&#xff09;&#xff0c;发现其中的链接并不是常规的网址链接&#xff0c;而是个短小精悍的短链接&#xff0c;产品中经常需要这样的需求&#xff0c;如果在给用户下发的短信中是一个很长的连接&#xff0c;用户体验肯定很差&a…