Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
aleex
12 / 12 / 2
Регистрация: 12.11.2012
Сообщений: 109
1

GET запрос

07.02.2013, 00:56. Просмотров 2737. Ответов 23
Метки нет (Все метки)

нужно отправить запрос на сайт и вывести страницу и количество её строк на экран, с программированием на андроиде ещё не сталкивался, буду рад если кто подскажет или покажет как можно это осуществить
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 00:56
Ответы с готовыми решениями:

Укомплектовать запрос в один. Запрос маленький проблема для знающего на 30 сек
Всем привет. Возможно кому то для поднятия настроения. Как укомплектовать такой запрос в один ...

Как посмотреть T-SQL запрос который генерирует Entity Framework запрос
как посмотреть T-SQL запрос который генерирует Entity Framework запрос в visual studio 2010, 2012

Как записать запрос так чтобы их запрос суммировался в одну ячейку?
Как записать этот запрос так чтобы их запрос суммировался в одну ячейку? Перепробовал все что знал...

Есть запрос на вставку в PostgreSQL нужно написать этот запрос в Python
Есть запрос на вставку в PostgreSQL нужно написать этот запрос в Python INSERT INTO "table1"...

23
V0v1k
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.02.2013, 01:25 2
http://leejava.wordpress.com/2009/09...est-from-java/
1
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
07.02.2013, 03:09 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);
            }
1
aleex
12 / 12 / 2
Регистрация: 12.11.2012
Сообщений: 109
08.02.2013, 00:08  [ТС] 4
Спасибо за примеры. Есть пару вопросов
1 там login и pass это передаваемые параметры? если они не нужны то их просто можно убрать оттуда?
2 и ещё. чем компилировать код?
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
08.02.2013, 00:39 5
1) login и pass это параметер который ты принимаешь на сервере для выдачи информации

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

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

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

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


Спасибо. Нет, просто понадобилось приложение написать.
Вместо пост, гет запрос возможно использовать?
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,115
08.02.2013, 03:26 7
Цитата Сообщение от aleex Посмотреть сообщение
Спасибо. Нет, просто понадобилось приложение написать.
Вместо пост, гет запрос возможно использовать?
Java
1
HttpPost("http://url.com");
говорит сам за себя, если хотите гет тогда
Java
1
HttpGet("http://url.com");
1
aleex
12 / 12 / 2
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 14:30  [ТС] 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);
     } 
}
0
V0v1k
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 14:32 9
а в чем конкретно проблема?
0
aleex
12 / 12 / 2
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 14:39  [ТС] 10
Цитата Сообщение от V0v1k Посмотреть сообщение
а в чем конкретно проблема?
Ответ не выводит
0
V0v1k
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 14:55 11
а в логи что выводит?
а это UIный поток?

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

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

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

Добавлено через 2 минуты
там или нехватка пермишенов или NetworkOnMainThreadException или просто сервер пустой ответ отправляет.
А, я перепутал с аяксом, он запросы асинхронно посылает не дожидаясь ответа...
1
aleex
12 / 12 / 2
Регистрация: 12.11.2012
Сообщений: 109
30.05.2013, 16:05  [ТС] 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("https://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;
        }
    }
    
    
    
    
}
Вот такой код получился, нажимаю и ничего не происходит, может из-за эмулятора
Пермишен прописал
0
V0v1k
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 16:13 18
Цитата Сообщение от aleex Посмотреть сообщение
Java
1
tvHello.setText(response);
это должно быть в методе onPostExecute

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

Добавлено через 30 секунд
и смотрите логи прежде чем спрашивать.
Спасибо. Если в onPostExecute, то response (ответ) там как не известная переменная
Логи во вкладке Console?
0
V0v1k
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 16:48 20
Цитата Сообщение от aleex Посмотреть сообщение
пасибо. Если в onPostExecute, то response (ответ) там как не известная переменная
читайте внимательней ссылку которую я дал.
Цитата Сообщение от aleex Посмотреть сообщение
Логи во вкладке Console?
логи - LogCat
1
30.05.2013, 16:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 16:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Почему ответ на GET запрос из Python отличается от ответа на GET запрос из HTTP Analyzer
Добрый день. Делаю GET запрос из HTTP Analyzer Указываю только адрес запроса:...

Запрос Select T-sql - Вложенный запрос вернул больше одного значения
Нужно посчитать комиссию от сделки. DealShare(комиссия) - поле таблицы agents, supplies -...

Как переделать запрос в цикле на один запрос с фильтром по массиву
Мне говорят: код неправильный, надо запрос ciblockelement::getlist c фильтром по разделу, который...

Как в sql запрос вставить еще один запрос правильно?
Есть длинный запрос, в котором можете даже не разбираться если не хотите, но выдает он следующее:...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.