将 TextView 中的字符串设置为 TCPClient.class 字符串 IP 时出现问题

约翰·K

晚上好,我正在尝试将文本数据从MainActivityTextView传递到 Client.class(TCP 客户端)并将其设置为另一个字符串(实际上我正在传递在 MainActivity 的 TextView 中设置的 IP 并尝试加载它在 Client.class 中)但是当我试图用吐司来可视化它时(为了测试我是否已经传递了变量,有这样的东西)

在此处输入图片说明

这里客户端代码:

public class Client {

static Intent intent = getIntent();
static String getIp = intent.getExtra("key");
private String serverMessage;
public static final String SERVERIP = getIp; //your computer IP address
public static final int SERVERPORT = 4444;
private OnMessageReceived mMessageListener = null;
private boolean mRun = false;

MainActivity main;
PrintWriter out;
BufferedReader in;
/**
 *  Constructor of the class. OnMessagedReceived listens for the messages received from server
 */
public Client(OnMessageReceived listener) {
    mMessageListener = listener;
}

/**
 * Sends the message entered by client to the server
 * @param message text entered by client
 */
public void sendMessage(String message){
    if (out != null && !out.checkError()) {
        out.println(message);
        out.flush();
    }
}

public void stopClient(){
    mRun = false;
}

public void run() {

    mRun = true;

    try {
        //here you must put your computer's IP address.
        InetAddress serverAddr = InetAddress.getByName(SERVERIP);

        Log.e("TCP Client", "C: Connecting...");

        //create a socket to make the connection with the server
        Socket socket = new Socket(serverAddr, SERVERPORT);

        try {

            //send the message to the server
            out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);

            Log.e("TCP Client", "C: Sent.");

            Log.e("TCP Client", "C: Done.");

            //receive the message which the server sends back
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //in this while the client listens for the messages sent by the server
            while (mRun) {
                serverMessage = in.readLine();

                if (serverMessage != null && mMessageListener != null) {
                    //call the method messageReceived from MyActivity class
                    mMessageListener.messageReceived(serverMessage);
                }
                serverMessage = null;

            }

            Log.e("RESPONSE FROM SERVER", "S: Received Message: '" + serverMessage + "'");

        } catch (Exception e) {

            Log.e("TCP", "S: Error", e);

        } finally {
            //the socket must be closed. It is not possible to reconnect to this socket
            // after it is closed, which means a new socket instance has to be created.
            socket.close();
        }

    } catch (Exception e) {

        Log.e("TCP", "C: Error", e);

    }

}

//Declare the interface. The method messageReceived(String message) will must be implemented in the MyActivity
//class at on asynckTask doInBackground
public interface OnMessageReceived {
    void messageReceived(String message);
}

}

主要活动:

        Intent i = new Intent(MainActivity.this, Client.class);
        i.putExtra("STRING_I_NEED", String.valueOf(indr));
HB。

在你MainActivity做这样的事情:

Intent i = new Intent(MainActivity.this, Client.class);
i.putextra("key", IPTextView);
// IPTextView is the IP address you want to toast

并在您Client class执行以下操作:

String getIp = getIntent.getExtra("key")

你可以Toast喜欢:

Toast.makeText(context, getIp, Toast.LENGTH_SHORT).show();

您拥有的其他选项是保存 IP 地址SharedPreferences并将其取回Client class


或者你可以创建一个带有一些返回值的静态方法,然后你可以Client class通过类名获取IP

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试将临时表中的列值设置为空字符串时出现问题

来自分类Dev

将Excel列中的字符串数据提取到hashmap中时出现问题

来自分类Dev

将值捕获到字符串中时出现问题

来自分类Dev

C ++:将字符串复制到字符数组时出现问题

来自分类Dev

将字符串转换为数字日期格式时出现问题R

来自分类Dev

将Python字符串传递给SQL查询时出现问题

来自分类Dev

在将日期更改为字符串的日期格式时出现问题

来自分类Dev

将图像转换为字节然后转换为字符串时出现问题

来自分类Dev

将字符串数据类型插入数据库时出现问题

来自分类Dev

将IP地址从int更改为字符串的问题

来自分类Dev

将IP地址从int更改为字符串的问题

来自分类Dev

将文本文件中的字符串扫描到数组中时出现问题

来自分类Dev

在javascript中添加字符串时出现问题

来自分类Dev

Ruby,将字符串与UTF-8字符进行比较时出现问题

来自分类Dev

TextView 将多个字符串设置为一个 setText(int resid)

来自分类Dev

将字符串数组存储为JSON数组,然后在尝试接收TextView并将其设置为值时获取Ljava.lang.String @

来自分类Dev

将Base64字符串转换为十六进制字符串时出现问题

来自分类Dev

在将两个数字添加到路径字符串以读取多个文件时出现问题

来自分类Dev

使用UniversalValueConverter(或任何转换器)将字符串绑定到Path.Data时出现问题

来自分类Dev

将 JSON 字符串发送到需要对象数组的 API 时出现问题

来自分类Dev

拆分字符串数组时出现问题

来自分类Dev

绘制文字(字符串)时出现问题

来自分类Dev

替换字符串时出现问题

来自分类Dev

添加字符串时出现问题?

来自分类Dev

尝试显示字符串时出现问题

来自分类Dev

从定义的字符串导入HTML时出现问题

来自分类Dev

用scanf存储字符串时出现问题

来自分类Dev

检查字符串是否为c中的数字时出现问题

来自分类Dev

附加字符串时使字符串环绕Java时出现问题

Related 相关文章

  1. 1

    尝试将临时表中的列值设置为空字符串时出现问题

  2. 2

    将Excel列中的字符串数据提取到hashmap中时出现问题

  3. 3

    将值捕获到字符串中时出现问题

  4. 4

    C ++:将字符串复制到字符数组时出现问题

  5. 5

    将字符串转换为数字日期格式时出现问题R

  6. 6

    将Python字符串传递给SQL查询时出现问题

  7. 7

    在将日期更改为字符串的日期格式时出现问题

  8. 8

    将图像转换为字节然后转换为字符串时出现问题

  9. 9

    将字符串数据类型插入数据库时出现问题

  10. 10

    将IP地址从int更改为字符串的问题

  11. 11

    将IP地址从int更改为字符串的问题

  12. 12

    将文本文件中的字符串扫描到数组中时出现问题

  13. 13

    在javascript中添加字符串时出现问题

  14. 14

    Ruby,将字符串与UTF-8字符进行比较时出现问题

  15. 15

    TextView 将多个字符串设置为一个 setText(int resid)

  16. 16

    将字符串数组存储为JSON数组,然后在尝试接收TextView并将其设置为值时获取Ljava.lang.String @

  17. 17

    将Base64字符串转换为十六进制字符串时出现问题

  18. 18

    在将两个数字添加到路径字符串以读取多个文件时出现问题

  19. 19

    使用UniversalValueConverter(或任何转换器)将字符串绑定到Path.Data时出现问题

  20. 20

    将 JSON 字符串发送到需要对象数组的 API 时出现问题

  21. 21

    拆分字符串数组时出现问题

  22. 22

    绘制文字(字符串)时出现问题

  23. 23

    替换字符串时出现问题

  24. 24

    添加字符串时出现问题?

  25. 25

    尝试显示字符串时出现问题

  26. 26

    从定义的字符串导入HTML时出现问题

  27. 27

    用scanf存储字符串时出现问题

  28. 28

    检查字符串是否为c中的数字时出现问题

  29. 29

    附加字符串时使字符串环绕Java时出现问题

热门标签

归档