Member 12948264 Ответов: 1

Я не могу отправить данные


Я хочу отправить данные с помощью printwriter.Я получил широту и долготу из базы данных.Но я не могу отправить эти данные через PrintWriter.Приведенный ниже код не выполняется.

"Издания из = Новый printwriter(новое звено outputstreamwriter(гнездо.getOutputStream()));"

Что я уже пробовал:

try{

                    serverSocket=new ServerSocket(socketServerPORT);

                    while (true) {

                            Socket socket = serverSocket.accept();
                            InputStream is = socket.getInputStream();
                            InputStreamReader isr = new InputStreamReader(is);
                            BufferedReader br=new BufferedReader(isr);
                            list.clear();
                                  while ((number=br.readLine())!=null){
                                      list.add(number);
                                   }
                            br.close();
                            isr.close();
                            is.close();

                    if(list.size()>=2) {
                            lat = list.get(0);
                            log = list.get(1);
                            route = list.get(2);
                            activity.mydb.updateData(lat, log, route);
                    }else {
                          parentroute = list.get(0);
                          Cursor res = activity.mydb.getData(parentroute);
                          while (res.moveToNext()) {
                              latitude = res.getString(0);
                              longitude = res.getString(1);
                          }
                        PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
                        out.println(latitude);
                        out.println(longitude);
                        out.flush();
                        out.close();
                      }

Richard MacCutchan

Используйте отладчик, чтобы узнать, что происходит.

OriginalGriff

"не выполняется" - это не полезный отчет о проблеме: он ничего нам не говорит.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Итак, расскажите нам, что произошло такого, чего вы не ожидали или не ожидали. Расскажите нам о любых сообщениях об ошибках, как вы заставили его сделать то, что он сделал, что произошло, когда вы использовали отладчик, чтобы посмотреть на него.
Мы не можем запустить ваш код: у нас нет ваших данных! Так что вам нужно сделать "работу ног", Если вы хотите получить помощь от нас.
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
2

Patrice T

Чтобы безопасно выполнить этот код,

if(list.size()>=2) {
        lat = list.get(0);
        log = list.get(1);
        route = list.get(2);
        activity.mydb.updateData(lat, log, route);

тебе нужно list.size()>=3

Используйте отладчик, чтобы увидеть, что делает ваш код. Он позволяет выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.