package com.example.android.socketclite;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
private EditText ipconnet, inputcontent;
private TextView content;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
inputcontent = (EditText) findViewById(R.id.inputcontent);
ipconnet = (EditText) findViewById(R.id.ipconnet);
content = (TextView) findViewById(R.id.content);
}
Socket socket = null;
BufferedWriter writer = null;
BufferedReader reader = null;
public void connect(View v) {
final String contents = ipconnet.getText().toString();
AsyncTask<Void, String, Void> read = new AsyncTask<Void, String, Void>() {
@Override
protected Void doInBackground(Void... voids) {
try {
socket = new Socket(contents, 5011);
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
publishProgress("@success");
}catch (Exception e){
Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show();
}
String line;
try {
while ((line = reader.readLine()) != null) {
publishProgress(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(String... values) {
if (values[0].equals("@success")){
Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
}
content.append("别人说:"+values[0]+"\n");
super.onProgressUpdate(values);
}
};
read.execute();
}
public void send(View v) {
try {
content.append("我说:"+inputcontent.getText().toString()+"\n");
writer.write(inputcontent.getText().toString()+"\n");
writer.flush();
inputcontent.setText("");
} catch (IOException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
socket简单聊天室源码.rar (83个子文件)
socket简单聊天室源码
socketclite
.gitignore 127B
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 236B
local.properties 562B
build.gradle 521B
gradlew.bat 2KB
gradlew 5KB
app
.gitignore 8B
build.gradle 976B
proguard-rules.pro 969B
app.iml 11KB
libs
src
test
java
com
example
android
socketclite
ExampleUnitTest.java 425B
main
AndroidManifest.xml 814B
java
com
example
android
socketclite
MainActivity.java 3KB
res
values
styles.xml 394B
colors.xml 214B
strings.xml 77B
mipmap-xxhdpi
ic_launcher_round.png 10KB
ic_launcher.png 8KB
layout
activity_main.xml 2KB
mipmap-xhdpi
ic_launcher_round.png 6KB
ic_launcher.png 5KB
mipmap-hdpi
ic_launcher_round.png 4KB
ic_launcher.png 3KB
drawable
mipmap-mdpi
ic_launcher_round.png 2KB
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher_round.png 14KB
ic_launcher.png 10KB
androidTest
java
com
example
android
socketclite
ExampleInstrumentedTest.java 792B
.gradle
3.3
tasks
_app_compileDebugJavaWithJavac
localJarClasspathSnapshot
localJarClasspathSnapshot.bin 20KB
localJarClasspathSnapshot.lock 17B
localClassSetAnalysis
localClassSetAnalysis.lock 17B
localClassSetAnalysis.bin 27KB
taskArtifacts
fileSnapshots.bin 2.23MB
taskArtifacts.lock 17B
fileHashes.bin 141KB
taskArtifacts.bin 129KB
gradle.properties 747B
.idea
libraries
support_vector_drawable_26_0_0_alpha1.xml 642B
jsr305_2_0_1.xml 330B
javax_annotation_api_1_2.xml 358B
support_core_utils_26_0_0_alpha1.xml 627B
rules_0_5.xml 563B
runner_0_5.xml 566B
animated_vector_drawable_26_0_0_alpha1.xml 645B
javax_inject_1.xml 511B
constraint_layout_solver_1_0_2.xml 360B
espresso_core_2_2_2.xml 602B
constraint_layout_1_0_2.xml 410B
javawriter_2_1_1.xml 330B
hamcrest_integration_1_3.xml 354B
hamcrest_library_1_3.xml 342B
support_v4_26_0_0_alpha1.xml 603B
support_fragment_26_0_0_alpha1.xml 621B
appcompat_v7_26_0_0_alpha1.xml 609B
support_compat_26_0_0_alpha1.xml 615B
support_media_compat_26_0_0_alpha1.xml 633B
support_annotations_26_0_0_alpha1.xml 576B
espresso_idling_resource_2_2_2.xml 635B
support_core_ui_26_0_0_alpha1.xml 618B
exposed_instrumentation_api_publish_0_5.xml 653B
hamcrest_core_1_3.xml 526B
junit_4_12.xml 477B
runConfigurations.xml 564B
workspace.xml 158KB
misc.xml 2KB
modules.xml 359B
copyright
profiles_settings.xml 76B
compiler.xml 686B
gradle.xml 626B
socketclite.iml 865B
settings.gradle 16B
sockte
.project 382B
bin
com
liuyongyi
socket
MyThread1.class 1KB
MyThread2.class 2KB
ChatManager.class 2KB
Main.class 563B
.settings
org.eclipse.jdt.core.prefs 598B
src
com
liuyongyi
socket
ChatManager.java 604B
MyThread1.java 592B
Main.java 187B
MyThread2.java 1KB
.classpath 299B
共 83 条
- 1
资源评论
dasuhsa
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于MATLAB的钢板表面缺陷检测系统
- MS SQL里生成行政区域县区信息表和相应数据
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
- python测验,hello-tornado.rar
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功