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

Передача значения переменой на сервер - Android

Восстановить пароль Регистрация
 
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 176
08.11.2015, 18:09     Передача значения переменой на сервер #1
Здраствуйте!
Например есть у меня переменная, а её значение надо передать на сервер. Как это реализовать?

Добавлено через 3 часа 9 минут
Ребят, помогите
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2015, 18:09     Передача значения переменой на сервер
Посмотрите здесь:

Передача данных звуком Android
Передача данных по Bluetooth Android
Android Сервер
Android Передача звука
Android Передача значения в Список из диалога
Android Передача значения из SPiner
Передача id в TimePickerDialog Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
08.11.2015, 18:28     Передача значения переменой на сервер #2
den_droid, Apache http client, HttpUrlConnection итд. С помощью GET/POST/PUT запроса
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 176
08.11.2015, 20:43  [ТС]     Передача значения переменой на сервер #3
YuraAAA, можете привести самый простой пример? Пожалуйста...
MisterMr
1 / 1 / 0
Регистрация: 07.04.2015
Сообщений: 41
09.11.2015, 10:09     Передача значения переменой на сервер #4
Java
1
2
3
4
5
String s = "http://yourdomen.blablabla/api/functionname?knowledge=false"
HttpClient HttpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(s);
 
String data = httpClient.execute(httpGet, new BasicResponceHandler());
Должно работать
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 176
09.11.2015, 18:00  [ТС]     Передача значения переменой на сервер #5
Просто хочу список лучших игроков сделать)
Помогите, пожалуйста
Rainmaker93
 Аватар для Rainmaker93
3 / 3 / 1
Регистрация: 12.09.2013
Сообщений: 69
10.11.2015, 00:02     Передача значения переменой на сервер #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
den_droid,
Извинте, что уидаю мобильную ссылкуhttp://m.youtube.com/watch?v=B_Rk9TiV46o
Тут в 7 туториалов создается приложение с php прослойкой. Сам просмотрел и научился.
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 176
10.11.2015, 07:58  [ТС]     Передача значения переменой на сервер #7
Rainmaker93, благодарю!
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
10.11.2015, 08:38     Передача значения переменой на сервер #8
Цитата Сообщение от YuraAAA Посмотреть сообщение
den_droid, Apache http client, HttpUrlConnection итд. С помощью GET/POST/PUT запроса
__________________
большинство пользователей решают именно так, но вот вопрос как защитить скрипт с стороны сервера от всевозможного шлака. т.е. если какой либо злодей получил URL POST скрипта JSON, что ему мешает загадить таблицу?
Rainmaker93
 Аватар для Rainmaker93
3 / 3 / 1
Регистрация: 12.09.2013
Сообщений: 69
10.11.2015, 09:17     Передача значения переменой на сервер #9
den_droid, Пожалуйста

P.S.
Могут возникнуть проблемы с кодировкой. Если возникнут, читайте тут Android - PhP - MySql. Кодировка

Добавлено через 2 минуты
Russtem81,
Защитить можно механизмом, предоставленным mysqli_bind_param. Он защищает от SQL инъекций.
а механизм идентификации и настройки сервера остается за разработчиком.
MisterMr
1 / 1 / 0
Регистрация: 07.04.2015
Сообщений: 41
10.11.2015, 10:45     Передача значения переменой на сервер #10
Russtem81, Наличие токенов и проверка по ним может быть ?)
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.11.2015, 12:14     Передача значения переменой на сервер #11
MisterMr, точно. Нужно использовать токены авторизации + SSL
MisterMr
1 / 1 / 0
Регистрация: 07.04.2015
Сообщений: 41
10.11.2015, 16:28     Передача значения переменой на сервер #12
YuraAAA, не совсем понимаю, зачем ssl при http запросах
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.11.2015, 16:29     Передача значения переменой на сервер #13
MisterMr, чтобы скрыть header и body. И не при http, а при https протоколе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2015, 17:50     Передача значения переменой на сервер
Еще ссылки по теме:

Передача данных Android
Передача данных по Wifi Android
Android Передача фото по сети на сервер
Передача по TCP Android
Android Передача HTML как строки из Андроида на сервер

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

Или воспользуйтесь поиском по форуму:
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 176
10.11.2015, 17:50  [ТС]     Передача значения переменой на сервер #14
Простите меня за мой тупизм... Помогите пожалуйста этот код сократить до того, что приложение просто получает значение переменной и отправляет его, а не так замудренно как я нашёл... Ещё раз, простите
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
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
package inducesmile.com.androidloginandregistration;
 
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
 
 
public class RegisterActivity extends ActionBarActivity {
 
    protected EditText username;
    private EditText password;
    private EditText email;
    protected String enteredUsername;
    private final String serverUrl = "Path to your server";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
 
        username = (EditText)findViewById(R.id.username_field);
        password = (EditText)findViewById(R.id.password_field);
        email = (EditText)findViewById(R.id.email_field);
        Button signUpButton = (Button)findViewById(R.id.sign_up);
 
        signUpButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                enteredUsername = username.getText().toString();
                String enteredPassword = password.getText().toString();
                String enteredEmail = email.getText().toString();
 
                if(enteredUsername.equals("") || enteredPassword.equals("") || enteredEmail.equals("")){
                    Toast.makeText(RegisterActivity.this, "Username or password or email must be filled", Toast.LENGTH_LONG).show();
                    return;
                }
                if(enteredUsername.length() <= 1 || enteredPassword.length() <= 1){
                    Toast.makeText(RegisterActivity.this, "Username or password length must be greater than one", Toast.LENGTH_LONG).show();
                    return;
                }
                // request authentication with remote server4
                AsyncDataClass asyncRequestObject = new AsyncDataClass();
                asyncRequestObject.execute(serverUrl, enteredUsername, enteredPassword, enteredEmail);
            }
        });
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_register, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
    private class AsyncDataClass extends AsyncTask<String, Void, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
            HttpParams httpParameters = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);
            HttpConnectionParams.setSoTimeout(httpParameters, 5000);
 
            HttpClient httpClient = new DefaultHttpClient(httpParameters);
            HttpPost httpPost = new HttpPost(params[0]);
 
            String jsonResult = "";
            try {
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("username", params[1]));
                nameValuePairs.add(new BasicNameValuePair("password", params[2]));
                nameValuePairs.add(new BasicNameValuePair("email", params[3]));
                httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 
                HttpResponse response = httpClient.execute(httpPost);
                jsonResult = inputStreamToString(response.getEntity().getContent()).toString();
                System.out.println("Returned Json object " + jsonResult.toString());
 
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return jsonResult;
        }
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            System.out.println("Resulted Value: " + result);
            if(result.equals("") || result == null){
                Toast.makeText(RegisterActivity.this, "Server connection failed", Toast.LENGTH_LONG).show();
                return;
            }
            int jsonResult = returnParsedJsonObject(result);
            if(jsonResult == 0){
                Toast.makeText(RegisterActivity.this, "Invalid username or password or email", Toast.LENGTH_LONG).show();
                return;
            }
            if(jsonResult == 1){
                Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
                intent.putExtra("USERNAME", enteredUsername);
                intent.putExtra("MESSAGE", "You have been successfully Registered");
                startActivity(intent);
            }
        }
        private StringBuilder inputStreamToString(InputStream is) {
            String rLine = "";
            StringBuilder answer = new StringBuilder();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            try {
                while ((rLine = br.readLine()) != null) {
                    answer.append(rLine);
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return answer;
        }
    }
    private int returnParsedJsonObject(String result){
 
        JSONObject resultObject = null;
        int returnedResult = 0;
        try {
            resultObject = new JSONObject(result);
            returnedResult = resultObject.getInt("success");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return returnedResult;
    }
}
Yandex
Объявления
10.11.2015, 17:50     Передача значения переменой на сервер
Ответ Создать тему
Опции темы

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