2015-05-16 3 views
-2

Я действительно смущен, почему у меня такая проблема. Я проверил несколько разных способов сделать запросы GET, и все они принесли один и тот же результат. Я тестировал разные способы в IDEA, и все они отлично работают. Я очень новичок в разработке Android, поэтому я не уверен, с чего начать, когда решаю эту проблему. Я считаю, что у меня есть все необходимые разрешения в файле манифеста для работы в сети, поэтому я полностью потерян. Вот сегмент кода, который делает отправку запроса GET.Мое приложение падает, когда я пытаюсь выполнить запрос GET. Что я могу сделать, чтобы преодолеть эту ошибку?

// HTTP GET request 
    public String sendGet(String url_given) { 

     String url = url_given; 
     String final_response = "FAILED!"; 

     HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(url); 

     HttpResponse response; 
     try { 
      response = client.execute(request); 

      final_response = response.toString(); 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     return final_response; 
    } 

Это метод onCreate.

protected void onCreate(Bundle savedInstanceState) { 

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_search_for_discogs); 

    RelativeLayout touch = (RelativeLayout) findViewById(R.id.touch); 
    final Button button = (Button) findViewById(R.id.button); 
    final TextView quoteText = (TextView) findViewById(R.id.quote); 
    final TextView personText = (TextView) findViewById(R.id.person); 

    final SetText new_text = new SetText(); 

    final String url = new_text.createURL("a%20lot%20like%20birds", "conversation%20piece"); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      quoteText.setText(new_text.sendURL(url)); 
     } 
    }); 
} 
+0

пожалуйста, напишите журнал ошибок здесь – strings95

+0

вывесить StackTrace пожалуйста. – theapache64

+0

Посмотрите, что это такое. Он ничего не печатает в логарифме. –

ответ

1

Вот некоторые возможные решения вашей проблемы

1- Возможно, вы забыли добавить разрешение Интернет в файл AndroidManifes.xml

<uses-permission android:name="android.permission.INTERNET" /> 

2- Вы, вероятно, запустить соединение на MainThread. Для решения этой проблемы вы должны использовать AsyncTask, которые вы можете прочитать об этом в ссылках ниже

AsyncTasks

AsyncTasks2

+0

Я добавил разрешения в манифест. Я буду читать через asybctasks. Спасибо. –

+0

, так что вы не добавили разрешение INTERNET? – theapache64

+0

попробуйте с помощью 'AsyncTask', как указано выше ... ваше приложение может выйти из строя из-за' NetworkOnMainThreadException' ... – ELITE

Смежные вопросы