gpt4 book ai didi

android - AsyncTask,doInBackground 从不在 android 中运行

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:18 25 4
gpt4 key购买 nike

当我尝试启动我的 doinbackground 以等待传入的消息时,它从未真正运行过它只是跳过它

public class Incomingdata extends AsyncTask<Void,Void,Void>
{
Socket s ;
String input;

public Incomingdata(Socket socket)
{
super();
this.s = socket;
}

@Override
protected Void doInBackground(Void... params)
{
Log.i("ddd","Got here before try");
try
{
InputStream in = s.getInputStream();
Scanner r = new Scanner(in);
Log.i("Info",s.getPort()+"");
Log.i("ddd","Got here");
while(s.isConnected() && r.hasNext())
{
String input =r.nextLine();
}
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch(NoSuchElementException e)
{
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(Void input)
{
System.out.println("123"+input);
}

}

这是我的日志猫

 java.net.Socket.startupSocket(Socket.java:724)
04-25 23:50:26.659: W/System.err(28882): at java.net.Socket.<init>(Socket.java:263)
04-25 23:50:26.659: W/System.err(28882): at com.example.handy.myComs.sending_data(myComs.java:23)
04-25 23:50:26.659: W/System.err(28882): at com.example.handy.MainActivity.readSms(MainActivity.java:277)
04-25 23:50:26.659: W/System.err(28882): at com.example.handy.MainActivity$1.onClick(MainActivity.java:92)
04-25 23:50:26.659: W/System.err(28882): at android.view.View.performClick(View.java:2485)
04-25 23:50:26.659: W/System.err(28882): at android.view.View$PerformClick.run(View.java:9080)
04-25 23:50:26.659: W/System.err(28882): at android.os.Handler.handleCallback(Handler.java:587)
04-25 23:50:26.659: W/System.err(28882): at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 23:50:26.659: W/System.err(28882): at android.os.Looper.loop(Looper.java:130)
04-25 23:50:26.659: W/System.err(28882): at android.app.ActivityThread.main(ActivityThread.java:3687)
04-25 23:50:26.659: W/System.err(28882): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 23:50:26.659: W/System.err(28882): at java.lang.reflect.Method.invoke(Method.java:507)
04-25 23:50:26.659: W/System.err(28882): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-25 23:50:26.659: W/System.err(28882): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-25 23:50:26.659: W/System.err(28882): at dalvik.system.NativeStart.main(Native Method)
04-25 23:50:26.729: I/System.out(28882): 123null

这就是我所说的

public class myComs 
{
private static int i = 0;

public static void sending_data(String ipAddress, String message)
{
try
{
InetAddress inet = InetAddress.getByName(ipAddress);
Socket s = new Socket(inet, 2000);
OutputStream o = s.getOutputStream();
PrintWriter p = new PrintWriter(o);
while(i<1)
{
new Incomingdata(s).execute();
i++;
}
p.println(message);
p.flush();
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

正如您在 123null 中看到的那样,它从不等待任何帮助都会很棒,因为我在这方面已经很长时间了,而且速度很快

谢谢

更新对,我知道它正在获取端口,但它仍然没有等待刚刚完成的传入数据

最佳答案

我注意到你正在使用

System.out.println("123"+input);

用于一种类型的调试,Log.i 用于其他类型。也许它正在工作,但您正在记录的 View 未正确设置以查看 Log.i。

如果您使用 System.out 而不是 Log.i,您能看到其他消息吗?

关于android - AsyncTask,doInBackground 从不在 android 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com