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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
wistis
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 6
#1

Попытка принять сообщение с сервера - Программирование Android

13.06.2015, 22:56. Просмотров 280. Ответов 6
Метки нет (Все метки)

Пытаюсь сделать приложение чтобы отправлять и читать сообщения сервера, сервеная частьна пхп.
не могу понять, как сообщение пришедшее с сервера опубликовать в TEXTVIEV
Ниже код
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package ru.wistis.wistis.sms;
 
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
 
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
 
public class MainActivity extends Activity {
 
    final String LOG_TAG = "myLogs";
 
    Handler h;
    TextView tvInfo;
    Button btnStart;
 
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvInfo = (TextView) findViewById(R.id.tvInfo);
        btnStart = (Button) findViewById(R.id.btnStart);
        h = new Handler() {
            public void handleMessage(android.os.Message msg) {
 
                tvInfo.setText(msg.obj);
              //  if (msg.what == 10) btnStart.setEnabled(true);
            };
        };
    }
 
    public void onclick(View v) {
        switch (v.getId()) {
            case R.id.btnStart:
                btnStart.setEnabled(false);
                Thread t = new Thread(new Runnable() {
                    public void run() {
 
                        String  rrrr=downloadFile();
 
                         h.sendMessage(Message rrrr);
                        Log.d("343", rrrr);
 
                       //   h.sendMessage(rrrr);
 
 
                    }
                });
                t.start();
                break;
            case R.id.btnTest:
                Log.d(LOG_TAG, "test");
                break;
            default:
                break;
        }
    }
 
    String downloadFile() {
      String textik = null;
        try {
            HttpClient client = new DefaultHttpClient();
            String postURL = "http://site.ru/index.php";
            HttpPost post = new HttpPost(postURL);
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("user", "kris"));
            params.add(new BasicNameValuePair("pass", "xyz"));
            UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, HTTP.UTF_8);
            post.setEntity(ent);
            HttpResponse responsePOST = client.execute(post);
            HttpEntity resEntity = responsePOST.getEntity();
            if (resEntity != null) {
              //
                textik=EntityUtils.toString(resEntity);
 
 
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        return textik;
    }
}
Добавлено через 1 минуту
Помогите, уже второй день вожусь
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2015, 22:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Попытка принять сообщение с сервера (Программирование Android):

Как принять сообщение по BlueTooth - Программирование Android
Здравствуйте! Уже не первый день ломаю голову по поводу Bluetooth технологии, пытаясь написать элементарный терминал. Связываю планшет и...

Не приходит сообщение от сервера - Программирование Android
Здравствуйте! Ситуация такова: при отправке сообщения от клиента серверу все в порядке - сообщение приходит и отображается, однако, когда...

Отправка запроса на сервер и принять результат - Программирование Android
Здравствуйте! Такая проблема возникала. Пользователь вводит имя пользователя и пароль и отправляет эти данные на сервер. Но данные почему...

Принять XML от внешнего сервера - JavaScript
Такая ситуация: есть сервер Alpha. На нём скрипт script.php крутится. В зависимости от параметров он возвращает тот или иной XML файл. ...

Принять json ответ с сервера - jQuery
Здравствуйте. Такая проблема: не могу принять json ответ от php сервера в js скрипте. function send(){ var a =...

Как принять почту в Thunderbird с VPS-сервера? - Ubuntu Linux
Всем доброго времени суток! Недавно взял VPS на Ubuntu 12.04, поставил туда ISPmanager Lite. Тот автоматом установил почтовый сервер...

6
Mikalai
256 / 232 / 94
Регистрация: 11.01.2015
Сообщений: 656
14.06.2015, 01:16 #2
Что-то не понятно тут написано

Java
1
h.sendMessage(Message rrrr);
0
wistis
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 6
14.06.2015, 09:43  [ТС] #3
ну как бы в этой строчке и вопрос, как передать строку в handle, в данном случаее rrrr это строка, вот не пойму как sendMessage использовать
0
Mikalai
256 / 232 / 94
Регистрация: 11.01.2015
Сообщений: 656
14.06.2015, 10:45 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так работает:

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
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvInfo = (TextView) findViewById(R.id.tvInfo);
        btnStart = (Button) findViewById(R.id.btnStart);
        h = new Handler() {
            public void handleMessage(android.os.Message msg) {
                String str = msg.getData().getString("myString");
                tvInfo.setText(str);
            }
        };
    }
 
    public void onclick(View v) {
        switch (v.getId()) {
            case R.id.btnStart:
                btnStart.setEnabled(false);
                Thread t = new Thread(new Runnable() {
                    public void run() {
 
                        String  rrrr=downloadFile();
                        Message m = Message.obtain();
                        Bundle b = new Bundle();
                        b.putString("myString", rrrr);
                        m.setData(b);
                        h.sendMessage(m);
 
 
                    }
                });
                t.start();
                break;
            case R.id.btnTest:
                Log.d(LOG_TAG, "test");
                break;
            default:
                break;
        }
    }
1
wistis
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 6
14.06.2015, 13:51  [ТС] #5
Спасибо огромное, буду разбираться

Добавлено через 1 час 45 минут
Еще сразу попутно вопрос, как правильно. Хочу допустим общение с сервером вынести в отдельный класс и естественно в отдельный файл. Ну как вынести я понял, создал файл java c с именем . Там класс как из MainActiviti получить доступ к классам и методам класса. С ява особо не знаком поэтому такие вопросы, извиняюсь
0
Mikalai
256 / 232 / 94
Регистрация: 11.01.2015
Сообщений: 656
14.06.2015, 20:36 #6
Вот первый урок по AsyncTask. Там 6 коротких уроков. прочитай или посмотри.
0
wistis
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 6
14.06.2015, 22:35  [ТС] #7
Спасибо. Продолжаю копаться, возникла новая проблема, по реализации чата, понимаю отправлять каждые n секунд запрос на сервер по проверке новых сообщений не вариант, ляжет сервер быстро. Почитал и как бы вижу 2 варианта либо node.js или phpDaemon, правильно мыслю , куда копать лучше?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2015, 22:35
Привет! Вот еще темы с ответами:

Как программно принять сертификат сервера https - C#
Привет! У меня есть код который проходит регистрацию, но у сервера просрочен сертификат как сделать так что бы программа не проверял...

Как правильно передать и принять файлы на (с) Ftp-сервера? - C#
Как правильно передать и принять файлы на (с) Ftp-сервера?

Как принять сообщения от сервера в нужные колонны в ListView? - Delphi
Помогите мне доделать программу клиент сервер, нужно отправить с сервера 3 разных текста с edt2 , edt3 , edt4 а в клиенте обработать и...

С помощью Outlook принять входящую почту с почтового сервера и ... - C#
При создании службы в методе OnStart объявляю ссылку на объект Outlook protected override void OnStart(string args) { ...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
14.06.2015, 22:35
Ответ Создать тему
Опции темы

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