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

GET запрос - Программирование Android

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

нужно отправить запрос на сайт и вывести страницу и количество её строк на экран, с программированием на андроиде ещё не сталкивался, буду рад если кто подскажет или покажет как можно это осуществить
http://www.cyberforum.ru/android-dev/thread1267990.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 00:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос GET запрос (Программирование Android):

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

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

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

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

Запрос данных из БД. Один большой запрос или много маленьких?
Есть основная форма, на которой расположен TreeView, содержащий щас 30 ветвей....

23
V0v1k
1160 / 984 / 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,114
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,114
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,114
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
1160 / 984 / 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
1160 / 984 / 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
1160 / 984 / 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 / 3
Регистрация: 26.05.2013
Сообщений: 160
30.05.2013, 15:40 #14
Ошибка возникает потому что get запрос отправился, результат не пришле, а во текстовое поле уже сетится значение, которе естественно пустое.
Используй AsyncTask, который тебе V0v1k посоветовал - это то что нужно.
1
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 15:50 #15
какая на самом деле там ошибка можно только догадываться)

Добавлено через 2 минуты
там или нехватка пермишенов или NetworkOnMainThreadException или просто сервер пустой ответ отправляет.
1
haribo
41 / 41 / 3
Регистрация: 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("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;
        }
    }
    
    
    
    
}
Вот такой код получился, нажимаю и ничего не происходит, может из-за эмулятора
Пермишен прописал
0
V0v1k
1160 / 984 / 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
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 16:48 #20
Цитата Сообщение от aleex Посмотреть сообщение
пасибо. Если в onPostExecute, то response (ответ) там как не известная переменная
читайте внимательней ссылку которую я дал.
Цитата Сообщение от aleex Посмотреть сообщение
Логи во вкладке Console?
логи - LogCat
1
30.05.2013, 16:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 16:48
Привет! Вот еще темы с решениями:

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как...

Если нужно сделать запрос на добавление, зачем предварительно делать запрос на выборку?
Есть таблица: ID_записи, поле1, поле2, поле3. Хотелось бы записать запрос на...

Как сделать запрос, что бы найти минимальное число через под ЗАПРОС
Этот запрос у меня считает минимальное время ( сколько часов ведет урок...

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


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

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

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