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

PrintWriter и OutputStream - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Setonclicklistner для множества обьектов http://www.cyberforum.ru/android-dev/thread1725770.html
у меня есть 16 кнопок ColorButton1=(Button)findViewById(R.id.button00); ColorButton2=(Button)findViewById(R.id.button01); ColorButton3=(Button)findViewById(R.id.button02); ...
Программирование Android Redirect в Fragment Добрый день, вот такая небольшая проблема возникла. Как сделать чтобы из public class ListGlobal extends AppCompatActivity {} при нажатии на какой либо кнопку перекидывать в public... http://www.cyberforum.ru/android-dev/thread1725732.html
View во фрагментах Программирование Android
Чтобы прикрепить вид к layout в onCreateView мы раздуваем вид таким образом: View view = inflater.inflate(R.layout.fragment_mylayout, parent, false); и в конце метода возвращаем return view; А...
Кодировки в ListView, вывод русского текста Программирование Android
При использовании ListView происходит проблема с выводом русского текста.
Программирование Android Предупреждения IDE AS http://www.cyberforum.ru/android-dev/thread1725483.html
Прокомментируйте, пожалуйста, недовольства AS 1. Какой нульпойнтер, ведь в джаве нет, типа, указателей. 2.тоже самое я так понимаю надо просто try/catch добавить 3. надо в каком-то файле...
Программирование Android NullPointerException Не пойму почему налл?? @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v =... подробнее

Показать сообщение отдельно
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,313

PrintWriter и OutputStream - Программирование Android

02.05.2016, 13:31. Просмотров 245. Ответов 2
Метки (Все метки)

Мне нужно передать на TCP сервер изображение и контакты телефона андроид. Изображение отлично передается таким кодом
Java
1
 outputStream.write(mybytearray1, 0, mybytearray1.length);
, где outputStream инициализированный объект OutputStream соответственно.
А контакты телефона читает из базы контактов смартфона и успешно передает такой код
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
Cursor c = getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                    null, null, null);
            PrintWriter out = new PrintWriter(new BufferedWriter(
                    new OutputStreamWriter(socket.getOutputStream(), Charset.forName("UTF-8"))),
                    true);
            //ObjectOutputStream outputStream = new ObjectOutputStream(socket.getOutputStream());
            //out.println(STX);
 
 
 
            if (c.moveToFirst()) {
                //while (c.moveToNext())
                for (int i = 0; i < c.getCount(); i++)
                {
                    
                    String contactName = c
                            .getString(c
                                    .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
 
                    Log.d("Func", contactName);
                    String phNumber = c
                            .getString(c
                                    .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                    Log.d("Func", phNumber);
                    
 
                    
                    
                            out.flush();
                    
                            out.println(STX);
                            out.println(contactName);
                            out.println(phNumber);
                            out.println(ETX);
                    c.moveToNext();
                
                }
            }
Вот у меня и вопрос как можно и контакты телефона и байты изображения передать при помощи только одного класса PrintWriter или OutputStream? Просто размер изображения можно определить(он равен размеру файла в котором изображение хранится), а вот размер списка контактов определить сложно и выделить заблаговременно в массиве память для него, так контактов заранее неизвестно сколько может быть у пользователя. Это станет лишь ясно после прочтения всех контактов в ArrayList, например(тогда размер этого ArrayList и будет равен размеру списка контактов пользователя). Но проблема в том что если все запихивать в ArrayList и отправлять на сервер через writeObject(), так как сам TCP сервер написан на Qt то там нет методов десериализации объектов Java. Вот и вопрос как тогда отправить на сервер изображение и контакты одним каким то буфером и при помощи одного класса?? Подскажите пожалуйста наиболее оптимальный вариант?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru