APP网络编程笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了APP网络编程笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2991字,纯文字阅读大概需要5分钟。
内容图文
![APP网络编程笔记](/upload/InfoBanner/zyjiaocheng/631/e65dda17b3884eddbd4e1b7ddef850e3.jpg)
代码地址:https://gitee.com/chuangshi96/androidwangluobiancheng
① 打开AndroidStudio
② 新建一个空的工程 File->New->New Project
③ 如图第一行为APP工程名称,第二行不用管,第三行为工程路径 然后点Next
④ 按照如图设置(默认)根据自己的实际要求选择SDK版本(若自己的安卓手机的安卓版本为7.0,则8.0的工程没法安装在自己的手机上),点击Next
⑤ 选择空的工程点击Next
⑥ 最后默认点击Finish,完成工程创建。
⑦ 等待初始化完成
(等待状态)
(完成状态)
⑧ 展开res->layout->activity_main.xml,双击打开如下图界面
⑨ 点击如图位置的Text 将TextView删掉
⑩ 返回Design 在如图位置找到LinearLayout(vertical),点击拖动到如下图的任意位置。(添加布局)
? 用相同的方法添加TextView
? 最总Text中的内容如下图
? 打开如图位置的MainActivity(这里是功能代码),该部分的最终代码放在了MainActivity.txt中了
代码分析:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();//初始化
newThread();//建立socket线程
}
这里相当于主函数,安卓里面叫主线程,这里一般做一些初始化操作和开启子线程。一般不做复杂的操作。
protected void init(){
dataView = (TextView) findViewById(R.id.data);
dataView.setText(" ");
}
初始化控件操作,这里要和activity_main.xml里面的TextView关联起来,关键点在于那个R.id后面的名字
private void newThread(){
new Thread() {
public void run() {
try {
acceptServer();//建立连接
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
开启子线程
private void acceptServer() throws IOException {
//1.创建客户端Socket,指定服务器地址和端口
Socket socket = new Socket("192.168.4.1", 8080);
//2.获取输出流,向服务器端发送信息
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())), true);
in = socket.getInputStream();
sendData(0x01);
reciveData();
//StringBuilder sb = new StringBuilder();
}
这里就是子线程做的事情,与单片机的WIFI模块连接。这里为什么不用主线程做?
因为主线程不能做,意思大概是说主线程不能做网络操作,具体的要自行百度一下。
private void sendData(int data) throws UnknownHostException {
//获取客户端的IP地址
InetAddress address = InetAddress.getLocalHost();
String ip = address.getHostAddress();
//int data=0x01;
out.write(ip +":"+ data);
out.flush();
//socket.shutdownOutput();//关闭输出流
}
/*接受数据
*
* */
private String reciveData() throws IOException {
byte[] bytes = new byte[1024];
String reData="";
while ((in.read(bytes)) != -1) {
//注意指定编码格式,发送方和接收方一定要统一,建议使用UTF-8
//sb.append(new String(bytes, 0, len,"UTF-8"));
info= new String (bytes);
handler.sendEmptyMessage(0x123);
} //*/
return reData;
}
这里的主要功能就是进行数据的收发。
整个APP的结构非常简单,关键点说明了。
内容总结
以上是互联网集市为您收集整理的APP网络编程笔记全部内容,希望文章能够帮你解决APP网络编程笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。