【实例简介】
虽然分有点高,但是对于想做对讲机的你绝对是一个很好的例子,可以基于此列子做二次开发。一个简单的按钮,按下就可以实时对讲,而且通过标识包头来解决自己听到自己说的话,简单易学,代码注释清晰,规范,比之前网络上的Demo要好得多。下载资源后将AppConfig.java中的IP设为自己WiFi的网段“x.x.x.0” 编译运行后即可实现对讲。两个线程启动的方式还没改,是在按钮按下后才启动的,所以想要听到效果的话,先按一下按钮,让线程启动,在按住按钮说话。
【实例截图】
【核心代码】
Wifi对讲机
└── Wifi对讲机
├── AndroidManifest.xml
├── bin
│ ├── AndroidManifest.xml
│ ├── classes
│ │ └── com
│ │ └── wifitalk
│ │ ├── Activity
│ │ │ ├── MainActivity$1.class
│ │ │ ├── MainActivity$ReceiveSoundsThread.class
│ │ │ ├── MainActivity$SendSoundsThread.class
│ │ │ └── MainActivity.class
│ │ ├── BuildConfig.class
│ │ ├── Config
│ │ │ └── AppConfig.class
│ │ ├── R$attr.class
│ │ ├── R$dimen.class
│ │ ├── R$drawable.class
│ │ ├── R$id.class
│ │ ├── R$layout.class
│ │ ├── R$menu.class
│ │ ├── R$string.class
│ │ ├── R$style.class
│ │ ├── R.class
│ │ └── Utils
│ │ └── dataPacket.class
│ ├── classes.dex
│ ├── dexedLibs
│ │ └── android-support-v4-806dfe3d5a829cd186ad8fb14d1aa2e4.jar
│ ├── jarlist.cache
│ ├── res
│ │ └── crunch
│ │ ├── drawable-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── speak1.png
│ │ │ ├── speak2.png
│ │ │ └── speak3.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ └── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── resources.ap_
│ └── WifiTalk.apk
├── gen
│ └── com
│ └── wifitalk
│ ├── BuildConfig.java
│ └── R.java
├── ic_launcher-web.png
├── libs
│ └── android-support-v4.jar
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable
│ │ └── speak_bt_select.xml
│ ├── drawable-hdpi
│ │ ├── ic_launcher.png
│ │ ├── speak1.png
│ │ ├── speak2.png
│ │ └── speak3.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── layout
│ │ └── activity_main.xml
│ ├── menu
│ │ └── main.xml
│ ├── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-v11
│ │ └── styles.xml
│ ├── values-v14
│ │ └── styles.xml
│ └── values-w820dp
│ └── dimens.xml
└── src
└── com
└── wifitalk
├── Activity
│ └── MainActivity.java
├── Config
│ └── AppConfig.java
└── Utils
└── dataPacket.java
37 directories, 55 files