博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android studio 52 mp3下载客户端001
阅读量:1542 次
发布时间:2019-04-21

本文共 4310 字,大约阅读时间需要 14 分钟。

第一步:mainActivity.javapackage com.example.mydownloadmusic01;import android.annotation.SuppressLint;import android.os.Handler;import android.os.Message;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;public class MainActivity extends AppCompatActivity {
TextView tv; Button btn; EditText edt; String NeedFindWords; private final int HANDLER_MSG_TELL_RECV = 0x124; @SuppressLint("HandlerLeak") Handler handler = new Handler(){
public void handleMessage(Message msg){
//接受到服务器信息时执行// Toast.makeText(MainActivity.this,(msg.obj).toString(),Toast.LENGTH_LONG).show(); tv.setText((msg.obj).toString()); } }; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.button); edt=(EditText)findViewById(R.id.editText); tv= (TextView) findViewById(R.id.ReData); btn.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// 响应事件 NeedFindWords=edt.getText().toString(); startNetThread(); } }); } private void startNetThread() {
new Thread() {
@Override public void run() {
try {
Socket socket = new Socket("192.168.1.7", 666); InputStream is = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(NeedFindWords.getBytes()); //3.发送 out.flush(); byte[] bytes = new byte[1024]; int n = is.read(bytes); Message msg = handler.obtainMessage(HANDLER_MSG_TELL_RECV, new String(bytes, 0, n)); msg.sendToTarget(); is.close(); socket.close(); } catch (Exception e) {
} } }.start(); }}第二步 activity-main.xml

在这里插入图片描述

import socketimport sysfrom time import ctimedef FindMusicName(MusicName):    f = open('musicName3.txt','r',encoding='utf8')    for lines in f.readlines():        if lines.find("马桃")!=-1:            print(lines)            print("find it .........................")            return lines# 1.socket(socket_family, socket_type, protocol=0)# 其中,socket_family 是 AF_UNIX 或 AF_INET,ocket_type 是 SOCK_STREAM或 SOCK_DGRAM, protocol 通常省略,默认为 0。# 为了创建 TCP/IP 套接字,可以用下面的方式调用 socket.socket()。# tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 同样,为了创建 UDP/IP 套接字,需要执行以下语句。# udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)ServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 获取本地机器名host = socket.gethostname()# 设置端口port = 666# 2.s.bind绑定本地地址到socket对象ServerSocket.bind((host, port))# 3.s.listen监听地址端口,连接几个客户端ServerSocket.listen(2)while True:    # 4.s.accept阻塞接受链接请求,被动接受 TCP 客户端连接,一直等待直到连接到达(阻塞)    # accept()方法会返回一个含有两个元素的元组(fd,addr)。    # 第一个元素是新的socket对象,服务器通过它与客户端通信。    # 第二个元素也是元组,是客户端的地址及端口信息。    clientsocket, addr = ServerSocket.accept()    print("连接地址:%s" % str(addr))    msg = "welcomt to my demo"    all_line=""    #send()和recv()的数据格式都是bytes。    # (str和bytes的相互转化,用encode()和decode(),或者用bytes()和str())    print("send msg:welcomt to my demo.")    #clientsocket.send(msg.encode("utf-8"))    data = clientsocket.recv(1024)    print(data.decode("utf-8"))    print("显示文件歌曲查询结果")    f = open('musicName3.txt','r',encoding='utf8')    for lines in f.readlines():        if lines.find(data.decode("utf-8"))!=-1:            print(lines)            print("find it .........................")            all_line=all_line+lines;            continue    data2= all_line.encode("utf-8")    print(all_line)    #data1 = ('[%s] %s' % (ctime(),data.decode())).encode("utf-8")    clientsocket.send(data2)    #clientsocket.send(str(MusicN).decode("utf-8"))    clientsocket.close()ServerSocket.close()

转载地址:http://fjqdy.baihongyu.com/

你可能感兴趣的文章
IOU ,GIOU ,DIOU,CIOU 介绍
查看>>
ubuntu matplotlib解决中文显示问题
查看>>
矫正图像带的旋转角度信息和目标检测标签坐标也随之改变
查看>>
YOLO系列资料整合
查看>>
目标检测-数据准备系列(一)--voc2coco
查看>>
目标检测-数据准备系列(二)--coco2voc
查看>>
目标检测-数据准备系列(三)--coco2csv
查看>>
目标检测-数据准备系列(四)--voc2csv
查看>>
pip安装opencv-python
查看>>
windows下安装anaconda和改pip、conda源
查看>>
ubuntu16.04安装anaconda和改pip、conda源
查看>>
mmdetection安装和测试
查看>>
mmdetection训练自己的数据集
查看>>
windows安装opencv4.1.1过程中ffmpeg、ippicv、face_landmark_model下载出错解决办法
查看>>
windows10+nvidia驱动+cuda10.1+cudnn安装教程
查看>>
win10+cuda10.1+cudnn+opencv3.4.2+yolov3+vs2017安装教程
查看>>
windows10+Git-Bash使用cloc代码统计工具
查看>>
YOLOv4生成GPU版和CPU版动态库,供python调用
查看>>
docker一些错误记录
查看>>
win10+vs2017+opencv4.5.0+opencv_contrib-4.5.0+cuda源码编译详细教程
查看>>