protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ipEditText = findViewById(R.id.ipEditText); portEditText = findViewById(R.id.portEditText); Button connectButton = findViewById(R.id.connectButton); connectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String ip = ipEditText.getText().toString(); int port = Integer.parseInt(portEditText.getText().toString()); new ConnectTask().execute(ip, String.valueOf(port)); } }); Button sendMessageButton = findViewById(R.id.sendMessageButton); sendMessageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showSendMessageDialog(); } }); } private class ConnectTask extends AsyncTask<String, Void, Void> { @Override protected Void doInBackground(String... params) { String ip = params[0]; int port = Integer.parseInt(params[1]); try { socket = new Socket(ip, port); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }加入一个滑块能向所连端口发送不同位置对应的数字
时间: 2024-02-14 16:10:19 浏览: 47
你可以在布局文件中添加一个 SeekBar 组件,然后在 onCreate 方法中获取该组件并设置监听器。当用户拖动滑块时,监听器会触发,你可以在该监听器中获取滑块的当前进度值,并将该值发送到已连接的端口。具体实现代码如下:
1. 在布局文件中添加 SeekBar 组件,例如:
```
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:max="100"
android:progress="50" />
```
2. 在 onCreate 方法中获取 SeekBar 组件并设置监听器:
```
SeekBar seekBar = findViewById(R.id.seekBar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// 将进度值发送到已连接的端口
out.println(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
```
在该代码中,我们设置了 SeekBar 的最大值为 100,初始进度值为 50。当用户拖动滑块时,监听器中的 onProgressChanged 方法会被触发,我们可以在该方法中获取当前进度值,并将其发送到已连接的端口。
阅读全文