java服务器在Android设备上推送图像

标签 java tcp android

我正在尝试制作一个 java tcp 服务器,它将向所有连接的 Android 设备发送图像。

然后设备应将此图像设置为背景。我知道如何将图像从java服务器发送到android设备。但我想让android一直监听传入的流,每当它获取图像时,它就会将其设置为背景。

public void listenForIncomingImage() {
        Thread InComImage = new Thread(new Runnable() {

            @Override
            public void run() {
                while (true) {
                    try {
                        inComImageBitmap = BitmapFactory.decodeStream(mySocket
                                .getInputStream());
                        MainActivity.setImage(inComImageBitmap, true);
                        Log.d("Bitmap", "Bitmap receviced and sent to method");
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                }
            }
        });
        InComImage.start();

    }

这是在 android 端,它将图像发送到 Mainactivity。

public void imageUpdate() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    runOnUiThread(new Runnable() {
                        public void run() {
                            while(imageCheck = true)
                            myImage.setImageBitmap(finalImage);
                            imageCheck = false;

                        }
                    });
                }
            }
        }).start();
    }

这是在主 Activity 中使用的步骤来更新 UI,但是应用程序不会更新并且崩溃。我认为线程过度加载内存并导致应用程序崩溃。

知道发生了什么事吗?或者更好的实现方式。

最佳答案

我不确定您要做什么,但循环中存在一些错误:

 while(imageCheck = true)
     myImage.setImageBitmap(finalImage);
     imageCheck = false;

1 你分配 imageCheck= true 而不是检查 imageCheck==true

2 您不使用括号 {},因此 imageCheck=false 不在您的 while 循环内

3 你的循环可以永远运行

4 您正在无休止地调用 runOnUIThread,因为“while(true)”将继续运行:您需要这个 while 循环吗?

关于java服务器在Android设备上推送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15722292/

相关文章:

Python,为基于套接字的应用程序实现代理支持(不是 urllib2)

linux - TCP SYN/SYN ACK 的 IP header 中的 Dscp 值

android - 我可以在现有的 GCM 服务器上注册一个新的应用程序吗?

java - 定义 JPA 行为以再次设置相同的值?

java - Mongodb 更改流 "not authorized to execute command"

java - Spring 集成使用 1 个 channel 用于两个不同的进程

android - 1000页的ViewPagerIndicator不流畅

java - 绘制组件未被调用

react-native - 使用 tcp 而不是 webSocket react native paho mqtt

java - 围绕不以位图为中心的点旋转位图