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

Отправка POST запроса серверу - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android AsyncTask должен использовать Context http://www.cyberforum.ru/android-dev/thread839395.html
Добрый день! Мое приложение должно использовать сетевое соединение, вынесенное в отдельный поток. В этом потоке я выполняю POST запрос и пытаюсь записать результат в БД, но экземпляр класса создаваемый для работы с БД требует в качестве параметра переменную типа Context. Каким образом можно решить эту проблему? Возможно ли использовать параметр Context (AsyncTask<Context, Void, String>), если...
Android HttpPost конфликтует с БД Добрый вечер! Столкнулся со следующей проблемой, я имею два корректно работающих приложения: первое выполняет POST запрос и получает ответ, второе записывает и удаляет строки в БД (взяты из примеров и немного изменены). Однако, когда я пытаюсь подставить код приложения выполняющего POST запрос в приложение осуществляющее запись в БД, то получаю краш приложения. Хотелось бы понять в чем ошибка... http://www.cyberforum.ru/android-dev/thread838963.html
Android Сделать часть текста жирным шрифтом
доброго времени суток. Пишу программу тестирования, и хотелось бы чтобы после вопроса ответ выделялся жирным шрифтом. Но никак не могу сделать это. Вот собственно код снизу. Хотел выкласть в синтаксисе но тогда не смогу показать какую часть кода. А так он в тексте выделен красным цветом. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
Отображение кол-ва часов Android
package com.workplz.theappitself; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity {
Android Не запускается приложение http://www.cyberforum.ru/android-dev/thread838852.html
Код приложения: package com.workplz.theappitself; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity {
Android Маштабирование мультитач Здравствуйте! Хотел спросить имеется фотография которая увеличивается с центра экрана! расположение экрана setBounds(100, 50, image.getIntrinsicWidth(), image.getIntrinsicHeight()); Есть какие нибудь идеи. Спс! подробнее

Показать сообщение отдельно
Flash_8
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 3

Отправка POST запроса серверу - Android

16.04.2013, 15:55. Просмотров 4580. Ответов 7
Метки (Все метки)

Здравствуйте. Пишу приложение для Android, которое получает данные о местонахождении и отправляет их на Web-сервер.

Данные о местонахождении получаю нормально. А вот при отправке данных на сервер возникает проблема: на сервер ничего не приходит.

Подскажите в чём проблема!

Заранее спасибо! )

Функция передачи - public static void sendData.
Javascript
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 package com.arish;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.KeyStore;
import java.security.PublicKey;
 
import javax.net.ssl.HttpsURLConnection;
 
import org.apache.http.HttpConnection;
 
import android.app.Activity;
import android.app.ProgressDialog;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Window;
import android.widget.TextView;
 
 
public class GPSTestAction extends Activity implements LocationListener{
    
    private LocationManager myManager;
    
    public static    String res;
 
     static String ouTxt=" Server is unavailable.\n\n Check access to the Internet.";
     static String errorTxt="\nProgram error !\nRestart the program please.\n";
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        
        
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        sendData("http://my-gps-monitoring.ru/upload.php", "OK!");        
        
        //Связываем менеджер и сервис
        myManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        //Назначаем слушателя
        myManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
        
    }
 
    public void onLocationChanged(Location location) {
    
    // TODO Auto-generated method stub
        TextView tx = (TextView) findViewById(R.id.tv1);
                
          ProgressDialog progressDialog;
          Handler progressHandler;
          String resultStr = new String(""); 
          
          sendData("http://www.my-gps-monitoring.ru/upload.php", "OK!");
              
         
          tx.setText("88Широта: "    + location.getLatitude()  + "\nДолгота: " + location.getLongitude() + 
                   "\nСкорость: " + location.getSpeed() + "\n" + "\n" + ouTxt );
  }
    
    public static void sendData (final String serverAddress, final String myString)
    {
        Runnable r = new Runnable() {
            public void run() {
                
                      StringBuffer requestBody = new StringBuffer();
                      
 
 
                      try {
                          URLConnection connection = null;
                          URL url = new URL(serverAddress);
                          connection = url.openConnection();
                          HttpURLConnection httpConnection = (HttpURLConnection) connection;
                          httpConnection.setRequestMethod("POST");
                          httpConnection.setUseCaches(false);
                          httpConnection.setDoOutput(true);
                          httpConnection.setDoInput(true);
                          httpConnection.setRequestProperty("Host", "igb.agri.gov.il");
                          httpConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2");
                          httpConnection.setRequestProperty("Accept", "text/html, application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                        
 
                          //httpConnection.setRequestProperty("Content-Length", String.valueOf(myString)); //              
                          httpConnection.setRequestProperty("Accept-Language","he, utf-8;");//
                          httpConnection.setRequestProperty("Accept-Charset","utf-8"); //
                          
                          httpConnection.setRequestProperty("Accept-Encoding", "gzip, deflate");
                          httpConnection.setRequestProperty("DNT", "1");
                          httpConnection.setRequestProperty("Referer", "http://igb.agri.gov.il/");
                          httpConnection.setRequestProperty("Host", "igb.agri.gov.il");
                          httpConnection.setRequestProperty("Connection", "keep-alive");
                          httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                          requestBody.append( myString ); //добавление моих данных к запросу Post
                          // соединение
                          httpConnection.connect();
                          // отправка запроса
                          DataOutputStream dataOS = new DataOutputStream( httpConnection.getOutputStream());
                          dataOS.writeUTF(myString.toString()); 
                   
                          dataOS.writeUTF(myString.toString());
                          dataOS.flush();
                          dataOS.close();
                  
                  
                          // получение ответа сервера
                          int responseCode = httpConnection.getResponseCode();
                          if (responseCode == 200) { // если все прошло нормально(200), получаем результат
                              InputStream in = httpConnection.getInputStream();
                              InputStreamReader isr = new InputStreamReader(in, "UTF-8");
                              StringBuffer data = new StringBuffer();
                              int c;
                              while ((c = isr.read()) != -1) {  data.append((char) c);  }
                              
                              
                                                          ouTxt = new String(data.toString());
                          }  else  {                        ouTxt = "Server is unavailable.\nPlease try again."; }
                      } catch (MalformedURLException e) { ouTxt = errorTxt+"MalformedURLException:" + e.getMessage(); }
                        catch (IOException e) {              ouTxt = errorTxt+"IOException:" + e.getMessage(); Log.e("ERROR", e.getMessage());
                      } catch (Exception e) {             ouTxt = errorTxt+"Exception:" + e.getMessage();  }
                      requestBody = null;
                      System.gc();
                  };
            }; 
            new Thread(r).start();
 
    }
 
}

Вот код сервера

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$filename = "datafile.txt";
 
 
$f = fopen($filename,"a");
printf($f,"Data received @ ".date(DATE_RFC822));
printf($f,"\n");
printf($f,'First Name:['.$_POST['MyString'].']');
print('First Name:['.$_POST['MyString'].']');
 
printf($f,"\n");
 
fclose($f);
print "SUCCESS";
?>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru