adhieresthenes

Lost thread statement in the background

Mar 23rd, 2016
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. package app.z0nen.slidemenu;
  2.  
  3. import android.app.Activity;
  4. import android.app.Fragment;
  5. import android.os.AsyncTask;
  6. import android.os.Bundle;
  7. import android.support.annotation.Nullable;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.Button;
  12. import android.widget.EditText;
  13. import android.widget.TextView;
  14.  
  15. import java.io.BufferedReader;
  16. import java.io.IOException;
  17. import java.io.InputStream;
  18. import java.io.InputStreamReader;
  19. import java.net.HttpURLConnection;
  20. import java.net.URL;
  21. import java.nio.charset.MalformedInputException;
  22.  
  23. /**
  24. * Created by Z0NEN
  25. */
  26. public class menu1_Fragment extends Fragment {
  27. View rootview;
  28. EditText editIp;
  29. Button btnOn, btnOff;
  30. TextView textInfo1, textInfo2;
  31. // private View.OnClickListener btnOnOffClickListener;
  32.  
  33. @Nullable
  34. @Override
  35. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  36. rootview = inflater.inflate(R.layout.menu1_layout, container, false);
  37. return rootview;
  38. }
  39.  
  40. public void addListenerOnButton(View rootview) {
  41. editIp = (EditText) rootview.findViewById(R.id.ip);
  42. btnOn = (Button) rootview.findViewById(R.id.bon);
  43. btnOff = (Button) rootview.findViewById(R.id.boff);
  44. textInfo1 = (TextView) getView().findViewById(R.id.info1);
  45. textInfo2 = (TextView) getView().findViewById(R.id.info2);
  46.  
  47. btnOn.setOnClickListener((View.OnClickListener) this);
  48. btnOff.setOnClickListener((View.OnClickListener) this);
  49. }
  50.  
  51. public View.OnClickListener btnOnOffClickListener = new View.OnClickListener() {
  52. public void onClick(View rootview) {
  53. String onoff;
  54. if (rootview == btnOn) {
  55. onoff = "/on";
  56. } else {
  57. onoff = "/off";
  58. }
  59.  
  60. btnOn.setEnabled(false);
  61. btnOff.setEnabled(false);
  62.  
  63. String serverIP = editIp.getText().toString() + onoff;
  64.  
  65. TaskEsp taskEsp = new TaskEsp(serverIP);
  66. taskEsp.execute();
  67. }
  68. };
  69.  
  70. private class TaskEsp extends AsyncTask<Void, Void, String>{
  71. String server;
  72.  
  73. TaskEsp(String server){ this.server = server;}
  74.  
  75.  
  76. protected String doInBackground(Void... params){
  77. final String p = "http://"+server;
  78.  
  79.  
  80. getActivity().runOnUiThread(new Runnable() {
  81. @Override
  82. public void run() {
  83. textInfo1.setText(p);
  84. }
  85. });
  86.  
  87. String serverResponse = "";
  88. //Using java.net.HttpURLConnection
  89. try{
  90. HttpURLConnection httpURLConnection = (
  91. HttpURLConnection)(new URL(p).openConnection());
  92.  
  93. if(httpURLConnection.getResponseCode()== HttpURLConnection.HTTP_OK){
  94.  
  95. InputStream inputStream = null;
  96. inputStream = httpURLConnection.getInputStream();
  97. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
  98. serverResponse = bufferedReader.readLine();
  99.  
  100. inputStream.close();
  101. }
  102. }catch (MalformedInputException e){
  103. e.printStackTrace();
  104. serverResponse = e.getMessage();
  105. }catch (IOException e){
  106. e.printStackTrace();
  107. serverResponse = e.getMessage();
  108. }
  109. return serverResponse;
  110. }
  111.  
  112.  
  113.  
  114. @Override
  115. protected void onPostExecute(String s){
  116. textInfo2.setText(s);
  117. btnOn.setEnabled(true);
  118. btnOff.setEnabled(true);
  119. }
  120. }
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment