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

GET запрос

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

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

Как именно можно сделать SQLite запрос, если запрос уже сформирован?
Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если...

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

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

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

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

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 / 0
Регистрация: 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 / 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("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

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

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

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


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

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

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