2016-04-20 19 views
0

我有一个包含AsyncTask的android应用程序的问题。当我尝试调试它时,androidStudio将我带入asynctask的一段评论。如果这个问题是由问题引起的上库或如果问题是上巷道施工的逻辑我不理解:我有一类为什么我的AsyncTask类未被调试?

-fetch从UI然后

- 午餐的AsyncTask连接的整数到服务器并接收数据(把其上的变量),然后

-redraw用户界面和载于一个TextView

像代码数据:

public class MainActivity extends Activity 
{ 
    LinearLayout spazioGen; 
    TextView[] cell; 
    LinearLayout[] rows; 
    LinearLayout def; 
    LinearLayout solution; 
    private Socket client; 
    private PrintWriter printwriter; 
    private BufferedReader in; 
    private EditText textField; 
    private TextView serverOut; 
    private Button button; 
    private String messsage; 
    private String inputLine; 
    private Integer dimensionChoosed = 10; 
    private String word1 = ""; 
    private String word2 = ""; 

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

     textField = (EditText) findViewById(R.id.dimension);  
     button = (Button) findViewById(R.id.findCenter);    

     button.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       messsage = textField.getText().toString(); // get the text message on the text field 
       textField.setText("");      // Reset the text field to blank 
       dimensionChoosed = Integer.parseInt(messsage.toString()); 
       SendMessage sendMessageTask = new SendMessage(); 
       sendMessageTask.execute(); 
       createGriglia(); 
      } 
     }); 
    } 

    private void createGriglia(Integer dimensionChoosed) 
    { 
     int i,j; 
     spazioGen = new LinearLayout(this); 
     spazioGen.setOrientation(LinearLayout.VERTICAL); 
     spazioGen.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
     spazioGen.setBackgroundDrawable(getResources().getDrawable(R.drawable.border_ext)); 
     spazioGen.setPadding(5, 5, 5, 5); 

     //create an array of textview to fillup with data received from server 

     setContentView(spazioGen); 
    } 

    private class SendMessage extends AsyncTask<Void, Void, Void> 
    { 
     @Override 
     protected Void doInBackground(Void... params) 
     { 
      try 
      { 
       client = new Socket("192.168.0.104", 4444); // connect to the server 
       printwriter = new PrintWriter(client.getOutputStream(), true); 
       printwriter.println(messsage); // write the message to output stream 
       printwriter.flush(); 

       InputStreamReader inputStreamReader = new InputStreamReader(client.getInputStream()); 
       BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // get the client message 
       String message = ""; 


       while ((message = bufferedReader.readLine()) != null && !(message.equals("flag"))) 
       { 
        word1 = message; 
        //do stuff with data received 
       } 

       while ((message = bufferedReader.readLine()) != null) 
       { 
        word2 = message; 
        //do stuff with data received 
       } 

       inputStreamReader.close(); 
       System.out.println(message); 
       printwriter.close(); 
       client.close(); // closing the connection 

      } catch (UnknownHostException e) 
      { 
       e.printStackTrace(); 
      } catch (IOException e) 
      { 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) 
     { 
      createGriglia(dimensionChoosed); 
     } 
    } 

} 

在此先感谢

+1

从您的设备中删除您的应用程序。清理你的项目并重新安装应用程序,看看它是否可以帮助你。 – Ahmed

+0

干净的项目没有变化...现在我尝试重新启动并安装Android工作室的最后一个版本... – ocrampico

+0

如果你把断点放在'client = new Socket(“192.168.0.104”, 4444);'?这个异常是否被'doInBackground'中的任何'catch'块捕获?你得到什么类型的问题? – kit

回答

0

感谢大家谁帮助我。
我解决了这个问题安装最新版本的android studio。
我希望这可以帮助谁得到我的同样的问题

相关问题