Форум программистов, компьютерный форум CyberForum.ru

GET запрос - Android

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
07.02.2013, 00:56     GET запрос #1
нужно отправить запрос на сайт и вывести страницу и количество её строк на экран, с программированием на андроиде ещё не сталкивался, буду рад если кто подскажет или покажет как можно это осуществить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 00:56     GET запрос
Посмотрите здесь:

Android post запрос
SQL запрос Android
Android SQLite запрос
Android не работает запрос
Android GET запрос
Android GET запрос
Android POST Запрос
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.02.2013, 01:25     GET запрос #2
http://leejava.wordpress.com/2009/09...est-from-java/
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
07.02.2013, 03:09     GET запрос #3
Вовик сильно сложный дал пример, вот по проще:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
try {
                DefaultHttpClient hc = new DefaultHttpClient();
                ResponseHandler<String> res = new BasicResponseHandler();
                HttpPost postMethod = new HttpPost("http://url.com");
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("login", login.getText().toString()));
                nameValuePairs.add(new BasicNameValuePair("pass", pass.getText().toString()));
                postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                String response = hc.execute(postMethod, res);
                Log.d("",response.toString());                            //то что получили от сервера
            } catch (Exception e) {
                System.out.println("Exp=" + e);
            }
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
08.02.2013, 00:08  [ТС]     GET запрос #4
Спасибо за примеры. Есть пару вопросов
1 там login и pass это передаваемые параметры? если они не нужны то их просто можно убрать оттуда?
2 и ещё. чем компилировать код?
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
08.02.2013, 00:39     GET запрос #5
1) login и pass это параметер который ты принимаешь на сервере для выдачи информации

example.com/login.php?login=alex&pass=123456

2) Компилить эклипсом батенька... Я так понимаю у вас нет никаких знаний...
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
08.02.2013, 02:02  [ТС]     GET запрос #6
Цитата Сообщение от dajver Посмотреть сообщение
1) login и pass это параметер который ты принимаешь на сервере для выдачи информации

example.com/login.php?login=alex&pass=123456

2) Компилить эклипсом батенька... Я так понимаю у вас нет никаких знаний...


Спасибо. Нет, просто понадобилось приложение написать.
Вместо пост, гет запрос возможно использовать?
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
08.02.2013, 03:26     GET запрос #7
Цитата Сообщение от aleex Посмотреть сообщение
Спасибо. Нет, просто понадобилось приложение написать.
Вместо пост, гет запрос возможно использовать?
Java
1
HttpPost("http://url.com");
говорит сам за себя, если хотите гет тогда
Java
1
HttpGet("http://url.com");
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 14:30  [ТС]     GET запрос #8
Подскажите, как правильно вывести ответ в edit1

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    
public void butHello_Click(View v){
TextView tvHello = (TextView)findViewById(R.id.edit1); 
try {
      DefaultHttpClient hc = new DefaultHttpClient();
      ResponseHandler<String> res = new BasicResponseHandler();
      HttpGet getMethod = new HttpGet("http://google.com");
      String response = hc.execute(getMethod, res);
      Log.d("",response.toString()); //то что получили от сервера
 
      tvHello.setText(response); //тут нужно чтобы выводился ответ
 
     } catch (Exception e) {
        System.out.println("Exp=" + e);
     } 
}
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 14:32     GET запрос #9
а в чем конкретно проблема?
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 14:39  [ТС]     GET запрос #10
Цитата Сообщение от V0v1k Посмотреть сообщение
а в чем конкретно проблема?
Ответ не выводит
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 14:55     GET запрос #11
а в логи что выводит?
а это UIный поток?

Добавлено через 3 минуты
может екзепшен вылетает из-за запроса в UIном потоке?
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 15:03  [ТС]     GET запрос #12
Цитата Сообщение от V0v1k Посмотреть сообщение
а в логи что выводит?
а это UIный поток?

Добавлено через 3 минуты
может екзепшен вылетает из-за запроса в UIном потоке?
не UIный, это основной, видимо так делать запрещено,
как создать еще один поток?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 15:22     GET запрос #13
Цитата Сообщение от aleex Посмотреть сообщение
не UIный, это основной
основной это и есть UIный.
использования сети нужно создавать отдельный поток да и пермишены прописывать нужно.
XML
1
<uses-permission android:name="android.permission.INTERNET" />
http://developer.android.com/referen...AsyncTask.html
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
30.05.2013, 15:40     GET запрос #14
Ошибка возникает потому что get запрос отправился, результат не пришле, а во текстовое поле уже сетится значение, которе естественно пустое.
Используй AsyncTask, который тебе V0v1k посоветовал - это то что нужно.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 15:50     GET запрос #15
какая на самом деле там ошибка можно только догадываться)

Добавлено через 2 минуты
там или нехватка пермишенов или NetworkOnMainThreadException или просто сервер пустой ответ отправляет.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
30.05.2013, 15:57     GET запрос #16
Цитата Сообщение от V0v1k Посмотреть сообщение
какая на самом деле там ошибка можно только догадываться)

Добавлено через 2 минуты
там или нехватка пермишенов или NetworkOnMainThreadException или просто сервер пустой ответ отправляет.
А, я перепутал с аяксом, он запросы асинхронно посылает не дожидаясь ответа...
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 16:05  [ТС]     GET запрос #17
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.example.checkon;
 
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
 
 
 
public class MainActivity extends Activity {
    
    MyTask mt;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    public void butHello_Click(View v){         
        mt = new MyTask();
        mt.execute();     
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
 
    
    class MyTask extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected Void doInBackground(Void... arg0) {
            TextView tvHello = (TextView)findViewById(R.id.edit1);  
            try {
                DefaultHttpClient hc = new DefaultHttpClient();
                ResponseHandler<String> res = new BasicResponseHandler();
                HttpGet getMethod = new HttpGet("http://www.cyberforum.ru/");
                String response = hc.execute(getMethod, res);
                Log.d("",response.toString());                            //то что получили от сервера
                tvHello.setText(response);
             } catch (Exception e) {
                  System.out.println("Exp=" + e);
              }
            return null;
        }
    }
    
    
    
    
}
Вот такой код получился, нажимаю и ничего не происходит, может из-за эмулятора
Пермишен прописал
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 16:13     GET запрос #18
Цитата Сообщение от aleex Посмотреть сообщение
Java
1
tvHello.setText(response);
это должно быть в методе onPostExecute

Добавлено через 30 секунд
и смотрите логи прежде чем спрашивать.
aleex
12 / 12 / 0
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 16:17  [ТС]     GET запрос #19
Цитата Сообщение от V0v1k Посмотреть сообщение
это должно быть в методе onPostExecute

Добавлено через 30 секунд
и смотрите логи прежде чем спрашивать.
Спасибо. Если в onPostExecute, то response (ответ) там как не известная переменная
Логи во вкладке Console?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 16:48     GET запрос
Еще ссылки по теме:

Запрос по SOAP Android
Android Post запрос
Android Как именно можно сделать SQLite запрос, если запрос уже сформирован?
Android GET запрос
Android Get - запрос

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 16:48     GET запрос #20
Цитата Сообщение от aleex Посмотреть сообщение
пасибо. Если в onPostExecute, то response (ответ) там как не известная переменная
читайте внимательней ссылку которую я дал.
Цитата Сообщение от aleex Посмотреть сообщение
Логи во вкладке Console?
логи - LogCat
Yandex
Объявления
30.05.2013, 16:48     GET запрос
Ответ Создать тему
Опции темы

Текущее время: 07:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru