gpt4 book ai didi

android - 异步任务。从 Java 服务器接收的问题

转载 作者:可可西里 更新时间:2023-11-01 02:54:46 25 4
gpt4 key购买 nike

我想使用 AsyncTask 从 Java 服务器接收 ArrayList(在本例中)。可以肯定的是,我从服务器收到了一些东西,我正在尝试用 Toast 显示它。

代码如下:

 public class MainActivity extends Activity {

private DataReceiving dRec;
private DataTransfer dTrans;
private EditText inputData;
private Button sendParametersBtn;
private Button startComputationBtn;
private TextView displayText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

inputData=(EditText) findViewById(R.id.InputText);
sendParametersBtn=(Button) findViewById(R.id.button1);
startComputationBtn=(Button) findViewById(R.id.button2);
displayText=(TextView) findViewById(R.id.textView1);


sendParametersBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
dRec = new DataReceiving();
dRec.execute();

}
});
private class DataReceiving extends AsyncTask<Void, Void, ArrayList>
{

@Override
protected ArrayList doInBackground(Void... params) {
ArrayList b = new ArrayList();
try {
b = receive();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;

}

protected void onPostExecute(ArrayList result) {
super.onPostExecute(result);
Toast toast=Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_SHORT);
toast.show();
}

public ArrayList receive () throws IOException, ClassNotFoundException
{
ServerSocket s= new ServerSocket(8888);
Socket incoming =s.accept();
ObjectInputStream ios = new ObjectInputStream(incoming.getInputStream());
ArrayList b = (ArrayList) ios.readObject();
ios.close();
incoming.close();
s.close();
return b;
}

点击 sendParametersBtn 时没有任何反应。附言我可以成功地从 Android 传输到服务器。所以这不是连接或权限问题。

谢谢你的帮助

最佳答案

您好,如果您从服务器获取一些东西,您必须调用网络服务器 url 来获取数据。数据到达后,响应具有某种类型,如果它们是 RESTful 服务,则它将是 JSON/XML;如果它们是 SOAP 服务,则它们在信封中。所以在响应返回后得到它并按照逻辑解析它们。

寻找 HTTP get/post(用于 ping 服务器和获取数据)和解析(JSON/XML)。

关于android - 异步任务。从 Java 服务器接收的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099480/

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