Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
HITKORN
0 / 0 / 1
Регистрация: 07.04.2015
Сообщений: 1
#1

Передача данных и изоражения из приложения android на сервер в Интернет - Программирование Android

05.05.2015, 16:28. Просмотров 605. Ответов 0
Метки нет (Все метки)

Здравствуйте!! Новичку очень нужна подсказка. Есть код который передает на сервер фото но при попытке передать Айди юзера(uid) ничего не выходит.
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
package info.androidhive.loginandregistration;
 
 
 
import info.androidhive.loginandregistration.helper.SQLiteHandler;
import info.androidhive.loginandregistration.helper.SessionManager;
import java.util.HashMap;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
 
import android.widget.TextView;
 
 
 
 
import java.io.ByteArrayOutputStream;
import android.annotation.SuppressLint;
 
import android.app.ProgressDialog;
 
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.AsyncTask;
 
import android.provider.MediaStore;
import android.util.Base64;
 
import android.widget.ImageView;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
 
 
public class LoadActivity extends Activity {
 
 
    private TextView txtuid;//
    
 
 
    
    @SuppressLint("NewApi")
        ProgressDialog prgDialog;
        String encodedString;
        SessionManager session;//
        RequestParams params = new RequestParams();
        SQLiteHandler db;//
        String imgPath, fileName, uid;
        
        Bitmap bitmap;
        private static int RESULT_LOAD_IMG = 1;
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_load);
            
            
            txtuid = (TextView) findViewById(R.id.uid);//
            // SqLite database handler
            db = new SQLiteHandler(getApplicationContext());//
 
            // session manager
            session = new SessionManager(getApplicationContext());//
            HashMap<String, String> user = db.getUserDetails();
 
            String uid = user.get("uid");
 
            // Displaying the user details on the screen
            txtuid.setText(uid);
    prgDialog = new ProgressDialog(this);
            // Set Cancelable as False
            prgDialog.setCancelable(false);
        }
 
        public void loadImagefromGallery(View view) {
            // Create intent to Open Image applications like Gallery, Google Photos
            Intent galleryIntent = new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            // Start the Intent
            startActivityForResult(galleryIntent, RESULT_LOAD_IMG);
        }
 
        // When Image is selected from Gallery
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            try {
                // When an Image is picked
                if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK
                        && null != data) {
                    // Get the Image from data
 
                    Uri selectedImage = data.getData();
                    String[] filePathColumn = { MediaStore.Images.Media.DATA };
 
                    // Get the cursor
                    Cursor cursor = getContentResolver().query(selectedImage,
                            filePathColumn, null, null, null);
                    // Move to first row
                    cursor.moveToFirst();
 
                    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                    imgPath = cursor.getString(columnIndex);
                    cursor.close();
                    ImageView imgView = (ImageView) findViewById(R.id.imgView);
                    // Set the Image in ImageView
                    imgView.setImageBitmap(BitmapFactory
                            .decodeFile(imgPath));
                    // Get the Image's file name
                    String fileNameSegments[] = imgPath.split("/");
                    fileName = fileNameSegments[fileNameSegments.length - 1];
                    // Put file name in Async Http Post Param which will used in Php web app
                    params.put("filename", fileName);
 
                    
                } else {
                    Toast.makeText(this, "You haven't picked Image",
                            Toast.LENGTH_LONG).show();
                }
            } catch (Exception e) {
                Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG)
                        .show();
            }
 
        }
        
        public void GoBackmain(View view) {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);  
        }
        
 
        // When Upload button is clicked
        public void uploadImage(View v) {
            // When Image is selected from Gallery
            if (imgPath != null && !imgPath.isEmpty()) {
                prgDialog.setMessage("Converting Image to Binary Data");
                prgDialog.show();
                // Convert image to String using Base64
                encodeImagetoString();
            // When Image is not selected from Gallery
            } else {
                Toast.makeText(
                        getApplicationContext(),
                        "You must select image from gallery before you try to upload",
                        Toast.LENGTH_LONG).show();
            }
        }
        
        // AsyncTask - To convert Image to String
        public void encodeImagetoString() {
            new AsyncTask<Void, Void, String>() {
 
                protected void onPreExecute() {
 
                };
 
                @Override
                protected String doInBackground(Void... params) {
                    BitmapFactory.Options options = null;
                    options = new BitmapFactory.Options();
                    options.inSampleSize = 3;
                    bitmap = BitmapFactory.decodeFile(imgPath,
                            options);
                    ByteArrayOutputStream stream = new ByteArrayOutputStream();
                    // Must compress the Image to reduce image size to make upload easy
                    bitmap.compress(Bitmap.CompressFormat.PNG, 50, stream); 
                    byte[] byte_arr = stream.toByteArray();
                    // Encode Image to String
                    encodedString = Base64.encodeToString(byte_arr, 0);
                    
                    return "";
                    
                }
 
                @Override
                protected void onPostExecute(String msg) {
                    prgDialog.setMessage("Вызываем ПХП");
                    // Put converted Image string into Async Http Post param
                    params.put("image", encodedString);
                    
                    // Trigger Image upload
                    triggerImageUpload();
                }
            }.execute(null, null, null);
        }
        
        public void triggerImageUpload() {
            makeHTTPCall();
        }
 
        
        
        
        
        // Make Http call to upload Image to Php server
        public void makeHTTPCall() {
            ////////////////////////////////////////////////////////////////////////////
            
            params.put("uid", uid);
            
            prgDialog.setMessage("Подключаем ПХП");     
            AsyncHttpClient client = new AsyncHttpClient();
            // Don't forget to change the IP address to your LAN address. Port no as well.
            
 
                
                
                
            client.post("http://logreg.tioo.ru/include/imgupload/upload_image.php",
                    params, new AsyncHttpResponseHandler() {
                
                        // When the response returned by REST has Http
                        // response code '200'
                        @Override
                        public void onSuccess(String response) {
                            // Hide Progress Dialog
                            prgDialog.hide();
                            Toast.makeText(getApplicationContext(), response,
                                    Toast.LENGTH_LONG).show();
                        }
 
                        // When the response returned by REST has Http
                        // response code other than '200' such as '404',
                        // '500' or '403' etc
                        @Override
                        public void onFailure(int statusCode, Throwable error,
                                String content) {
                            // Hide Progress Dialog
                            prgDialog.hide();
                            // When Http response code is '404'
                            if (statusCode == 404) {
                                Toast.makeText(getApplicationContext(),
                                        "Requested resource not found",
                                        Toast.LENGTH_LONG).show();
                            }
                            // When Http response code is '500'
                            else if (statusCode == 500) {
                                Toast.makeText(getApplicationContext(),
                                        "Something went wrong at server end",
                                        Toast.LENGTH_LONG).show();
                            }
                            // When Http response code other than 404, 500
                            else {
                                Toast.makeText(
                                        getApplicationContext(),
                                        "Error Occured \n Most Common Error: \n1. Device not connected to Internet\n2. Web App is not deployed in App server\n3. App server is not running\n HTTP Status code : "
                                                + statusCode, Toast.LENGTH_LONG)
                                        .show();
                            }
                        }
                    });
        }
 
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            // Dismiss the progress bar when application is closed
            if (prgDialog != null) {
                prgDialog.dismiss();
            }
 
        }
        
        
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2015, 16:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача данных и изоражения из приложения android на сервер в Интернет (Программирование Android):

Отправка данных из Android-приложения на сервер
Пишу приложения которое должно собирать кое какую инфу и отправлять её на...

Отправка массива данных из Android-приложения на сервер по протоколу HTTP
Пишу приложения которое должно собирать кое какую инфу и отправлять её на...

Передача пароля из Android приложения в PHP
Здравствуйте. Подскажите, пожалуйста, начинающему разработчику Android в...

Как сделать лог интернет соединения Android приложения
Есть приложение и его исходники. Какие есть способы посмотреть что принимает и...

Интернет. Передача данных
Всем привет. Нужна помощь... Каким образам можно создать - (&quot;интернет&quot;...

Передача данных Android устр. - stm по bluetooth
Здравствуйте, есть задача передавать данные с android планшета на на плату с...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2015, 16:28
Привет! Вот еще темы с решениями:

Передача данных между двумя телефонами Android + Content Provider
Добрый день. Подскажите, пожалуйста, есть телефон на нём установлена...

База данных для интернет-приложения
Здравствуйте, я новенький в разработке, и у меня есть вопросы? Какую базу...

Android - Передача данных с одного Activity на другое Activity
Здравствуйте , возникла необходимость получения числовых (int и float ну или...

Можно ли написать веб сервер на Java для клиента на Android, имея под рукой только телефон на Android?
Уважаемые гуру программирования, если можно, пожалуйста, напишите поподробнее-...


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

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

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