Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Требуется разработчик Android (Москва)

Требуется разработчик Android с большим опытом написания приложений. Опыт работы: от 2-х лет
 
Задача: развитие существующего проекта для взаимодействия сообществ по интересам.
 
Условия работы:
 • Работа в офисе (м. Таганская).
 • Зарплата – 130 000−180 000 руб.
 • Гибкий график.
 • Бесплатные завтраки.

Резюме: nastya.kochurova@mail.ru (в резюме обязательно должны быть указаны ФИО кандидата, номер его телефона и email)
Ответ:
Требуется разработчик Android с большим опытом написания приложений. Опыт работы: от 2-х лет
 
Задача: развитие существующего проекта для взаимодействия сообществ по интересам.
 
Условия работы:
 • Работа в офисе (м. Таганская).
 • Зарплата – 130 000−180 000 руб.
 • Гибкий график.
 • Бесплатные завтраки.

Резюме: nastya.kochurova@mail.ru (в резюме обязательно должны быть указаны ФИО кандидата, номер его телефона и email)
Вопрос: Ищу разработчика Android!

Добрый день!
Ищу разработчика Android на удаленной основе.
Главные требования:
• Android обязательно (iOS и Windows Phone – приветствуется)
• Хорошее знание языка программирования С++
• Хорошее понимание REST/JSON/XML/SOAP
• Приветствуется опыт разработки кроссплатформенных мобильных приложений
• Опыт работы от 3х лет
• Обязательно наличие выполненных проектов введенных в коммерческую эксплуатацию и успешно эксплуатируемых по сей день.
• Опыт работы с дополнительными устройствами (ридерами, сканнерами и т.п.) сильно желателен.
• Знание архитектуры ОС мобильных устройств на уровне эксперта
• Приветствуется опыт разработки программ сбора данных телеметрии и управления
• Приветствуется знание T-SQL и опыт работы с MS SQL Server
• Приветствуется знание библиотек Qt
Ответ: тема создана в разделе "предложения работодателей"
Вопрос: Множество самостоятельных эмуляторов Android

Сразу скажу, что вопрос не о программировании, но мне показалось, что ветку форума я выбрал правильно.
У меня стоит задача получить несколько самостоятельных эмуляторов Android (своя память, свой логин в гугл.плей и т.д.). Существующие эмуляторы смущают багами, вопросами по конфиденциальности или существованием абонентской платы.

Наткнулся на то, что существует "родной" эмулятор для разработчиков Android, который к тому же еще можно запускать под разными эмулируемыми устройствами (не критично, но приятно). Так же находил, что эмулятор создает виртуальную SD карту для хранения информации. В общем, выглядит как лучшее решение под мою задачу.

Все необходимое "накопаю", но хотелось бы наверняка знать от знатоков решит ли этот "родной" эмулятор от Google мою задачу? (множество независимых друг от друга полноценных эмуляторов Android)
Ответ: Благодарю! Попробую оба варианта
Вопрос: Требуется Android developer

Всем добрый день!

На данный момент для нашего клиента - лидирующей в России и Восточной Европе компании с миллионной аудиторией и более 10000 + клиентов, с несколькими дата-центрами в России и за рубежом, с более 125 серверами ищем Android разработчика

Компания создает новые стандарты онлайн-коммуникаций, которые помогут людям делиться уникальным опытом, легко передавать знания, придумывать сенсационные идеи и выводить бизнес-процессы на новый уровень.

На данный момент создаем 2 долгоиграющих проекта: систему для дистанционного обучения и платформу для проведения видеоконференций.

Регион: Москва, офис. Рассмотрим и иногородних, поможем в переезде!


От Вас:
- Опыт разработки мобильных приложений от 2 лет;
- Отличное знание Java;

От компании:

- официальное трудоустройство
- белая зп до 160 тыс. на руки
- помощь в переезде
- стильный офис
- бонусы
- ноутбук
- молодая профессиональная команда
- вкусные завтраки
- и др.

С радостью отвечу на все вопросы и расскажу подробнее nadezhda.belaya@it-selection.ru
Ответ:
Всем добрый день!

На данный момент для нашего клиента - лидирующей в России и Восточной Европе компании с миллионной аудиторией и более 10000 + клиентов, с несколькими дата-центрами в России и за рубежом, с более 125 серверами ищем Android разработчика

Компания создает новые стандарты онлайн-коммуникаций, которые помогут людям делиться уникальным опытом, легко передавать знания, придумывать сенсационные идеи и выводить бизнес-процессы на новый уровень.

На данный момент создаем 2 долгоиграющих проекта: систему для дистанционного обучения и платформу для проведения видеоконференций.

Регион: Москва, офис. Рассмотрим и иногородних, поможем в переезде!


От Вас:
- Опыт разработки мобильных приложений от 2 лет;
- Отличное знание Java;

От компании:

- официальное трудоустройство
- белая зп до 160 тыс. на руки
- помощь в переезде
- стильный офис
- бонусы
- ноутбук
- молодая профессиональная команда
- вкусные завтраки
- и др.

С радостью отвечу на все вопросы и расскажу подробнее nadezhda.belaya@it-selection.ru
Вопрос: Научим Android-разработчиков как удвоить доход

коллеги, привет
меня зовут Анар Бабаев
последние несколько лет занимаюсь мобильными технологиями

сейчас я работаю над интересным продуктом 
если коротко, то эта штука помогает удваивать рекламный доход в приложениях и играх

но сейчас не об этом
хочу пригласить вас на бесплатный семинар по монетизации игр и приложений

место:  Москва, ул. Марксистская, дом 34, корп.7, Институт МИРБИС, Аудитория 722а 
26 февраля с 13:00 до 17:00 
записаться можно тут


Семинар будет интересен разработчикам приложений, маркетологам и предпринимателям

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

никакой рекламы, мы действительно старались сделать качественную лекцию, собрали весь свой опыт и опыт коллег по цеху
приходите!
Ответ:
коллеги, привет
меня зовут Анар Бабаев
последние несколько лет занимаюсь мобильными технологиями

сейчас я работаю над интересным продуктом 
если коротко, то эта штука помогает удваивать рекламный доход в приложениях и играх

но сейчас не об этом
хочу пригласить вас на бесплатный семинар по монетизации игр и приложений

место:  Москва, ул. Марксистская, дом 34, корп.7, Институт МИРБИС, Аудитория 722а 
26 февраля с 13:00 до 17:00 
записаться можно тут


Семинар будет интересен разработчикам приложений, маркетологам и предпринимателям

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

никакой рекламы, мы действительно старались сделать качественную лекцию, собрали весь свой опыт и опыт коллег по цеху
приходите!
Вопрос: Ищу Android разработчика для совместного проекта

Ищу специалиста разработчика Android программ, для совместного создания приложений для Андроида илиiOS/ Знание java, photoshop, android-studio и т.д. исполнительность и ответственность, желание работать зарабатывать и улучать свои профессиональные навыки! Платить вперед не могу, поэтому нужен энтузиаст (как я сам), который готов посвятить на первых парах свободное время созданию полезных и востребованных программ.
От Вас требуется:
- разработка приложений под Android,
- тестирование приложений,
- поддержка приложений
Работа носит удаленный характер. На основе тех задания, Вы разрабатываете приложение. Возможно, это будет совместная работа. Я разрабатываю графику приложений, Вы пишете код программы. После размещение на Play маркете чистая прибыль делиться 50/50 то есть моя идея, Ваше воплощение в коде. Конечно, кто то может сказать, что идеи ни чего не стоят, но давайте посмотрим, что вы можете потерять и что можете приобрести, если рискнете.
1. Вас могут кинуть на создание приложение (и то на 1-о) и ни чего не заплатить или платить копейки.
Но посудите, Вы приобретете большой опыт, как и в разработке, так и в общении и хоть и горький, но все равно опыт. Да жалко потраченного время, да и обида на все непорядочную часть человечества – гарантирована! Но в этом случае это разовое предприятие, и оно не устраивает в первую очередь меня. Одна программа один проект это не то на что нацелен я!
2. Что приобретаете - если рискнете? Очень интересные разработки в области психологии, здоровья и эзотерики.
3. Приложения в любом случае будут покупаться, и тот минимум, который покроет ваше время и усердие, Вы получите в любом раскладе!
4. Ну а если мы «найдем, друг друга» то дальнейшая совместная работа станет более чем хорошим источником к существованию! Ваш процент будет выплачиваться все время, пока мы будем работать вместе и за все программы, которые вы сделаете. Все по честному – как есть!
5. Разрабатывая вмести приложения, можете реализовывать, предлагать и свои проекты! Работа творческая, так что приветствуется инициативность и креативность!
Браться за эту работу, конечно решать вам, тем более если у вас уже есть какая работа то можете взять параллельный проект.
Конечно, хотелось бы сотрудничать с профессионалом, но понимая предложенные условия готов работать с Junior Java Developer и просто с перспективным фанатиком Android разработчиком
Ответ:
Сообщение от Cuda1
Как с вами связаться?
Вы можете связаться по почте:

ICQ 242696181, Skype vasi-lion,
Вопрос: Android studio, как запускать программу сразу на android смартфоне подключенному к usb?

android studio, как запускать программу сразу на android смартфоне подключенному к usb?
Ответ: на будущее
Сообщение от poss
странно, у меня в смартфоне нет такой функций,
для открытия опций разработчика, необходимо зайти в "Настройки"->"Сведения о телефоне"->несколько раз тапнуть на пункте "Номер сборки"...после данной последовательности действий в настройках появится пункт "Опции разработчика"
Вопрос: Библиотека для android-разработчиков

Всем доброго времени суток.
Хотел бы представить мою библиотеку, при помощи которой я хотел бы упростить разработку android-приложений.

Подробно можно посмотреть тут:

Естественно, доступна в jcenter и подключается через градл:

Code
1
compile 'com.aizenberg:support:0.1.3'
Кратко, что она умеет:
  • Переключение фрагментов (очистка стэка, передача аргументов)
  • Лёгкий Event Bus
  • Cache
  • Настраиваемые логи
  • Итерация и фильтрация по Map<>
  • GeoLocation
  • Набор различных утилит (String, Network listener, Validation etc)

Стали бы ли вы ей пользоваться?
Что бы вы хотели ещё видеть в такой библиотеке?

Спасибо за внимание.
Ответ:
Сообщение от YuraAAA
Но тормозить работу они не будут
Всегда есть "косвенные" тормоза!

У меня на телефоне критически не хватает памяти на внутренней флешке! 20-40 программ и на следующую просто не хватает места... Уже забыл когда игрушки ставил... Даже на тест очередной мелкой утилиты иногда не хватает места - качается с плея, а потом пишет "нет места на установку" (на внутренней флешке). А эта либа еще 50-100кб добавляет(если не будет расти)... из тех что нельзя перенести на флешку внешнюю...

К тому-же при запуске это все должно ЗАГРУЗИТЬСЯ в память для работы (если правильно понимаю на основе того что выучил в винде), а значит И здесь лишние потери...

И лишние проблемы в скачивании программы через медленный мобильный интернет (сельский = с плохой связью).

И при отладке каждый лишний мегабайт забирает "полезную" секунду на каждой установке (а когда когда разработчику их надо сделать сотню-две в день - это убивает нервы)

Кликните здесь для просмотра всего текста
Как уже говорил, Лог-кет для меня "больная тема"! Много лет назад (больше 10) я писал ОЧЕНЬ сложный проект. Именно математика/логика сложная! Обычных логов в текстовик явно не хватало! Распечатывал и искал ошибки в 5ти-6ти страчичных 2х-3х столбцовых A4-отчетах мелким шрифтом... Начал менять под себя инструменты... Сейчас с трудом обхожусь СИЛЬНО модифицированным ЛогКет(все ранее перечисленное и даже больше). И все равно иногда этого мало. На делфи написал программу на основе перехвата ЛогКет - шикарно работает (но сам протокол ЛогКэт оказался не стабильным - иначе бы давно сделал общедоступной и возможно коммерческой, возможно когда-нибудь изучу сокеты на андроиде и реанимирую проект...)

так вот...когда-то в Делфи сэкономил почти мегабайт на каждой программе вынеся ВСЕ логи из ЕХЕ во внешнюю программу с доступом через ДЛЛ. Убирал DLL из папки и программа становилась "релизом". Сейчас по той-же технологии пытаюсь пойти... Пишу "внешнюю" утилиту для отладчика - она ретранслирует логи и является "ключом" для использования логов вообще... Кстати это дало довольно интересные возможности... счетчики компиляций по проектам (когда за какой проект брался, какая версия рабочая, хоть график работы с проектом), внешний запуск тестов, флайку "с прошлой компиляции прошло", флайку с мини-логами (удобнее Тост-ов), активация WiFi ADB, запись лог-кет в файл/базу для анализа работы в "длительных" оффлайн и много чего другого...
...может через несколько месяцев похвастаюсь...
Вопрос: Android Загрузка изображения на стену vkontakte

Здравствуйте всем, возникла необходимость загрузить фотографию на стену вконтакте.
На сайте разработчиков есть статья
Там написано что необходимо выполнить 3 пункта.
1й - получить адрес сервера:
Java
1
2
3
4
5
6
7
8
public String photosGetWallUploadServer(Long user_id, Long group_id) throws MalformedURLException, IOException, JSONException, KException {
        Params params = new Params("photos.getWallUploadServer");
        params.put("uid",user_id);
        params.put("gid",group_id);
        JSONObject root = sendRequest(params);
        JSONObject response = root.getJSONObject("response");
        return response.getString("upload_url");
    }
3й - получить данные о загруженной фотографии:
Java
1
2
3
4
5
6
7
8
9
10
11
12
public ArrayList<Photo> saveWallPhoto(String server, String photo, String hash, Long user_id, Long group_id) throws MalformedURLException, IOException, JSONException, KException {
        Params params = new Params("photos.saveWallPhoto");
        params.put("server",server);
        params.put("photo",photo);
        params.put("hash",hash);
        params.put("uid",user_id);
        params.put("gid",group_id);
        JSONObject root = sendRequest(params);
        JSONArray array=root.getJSONArray("response");
        ArrayList<Photo> photos = parsePhotos(array);
        return photos;
    }
у меня встал вопрос как написать POST-запрос на полученный адрес? (2й пункт по ссылке)
вот мой нерабочий код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public String[] uploadPhotoOnWall(String server, String photo) throws MalformedURLException, IOException, JSONException, KException {
        Params params = new Params("post");
        params.put("server", server);
        params.put("photo", photo);
        JSONObject root = sendRequest(params);
        JSONObject response = root.getJSONObject("response");
        
        String server_ = response.optString("server");
        String photo_ = response.optString("photo");
        String hash_ = response.optString("hash");
        String[] res=new String[]{server_, photo_, hash_};
        return res;     
    }
Ответ: Тоже очень хотел бы получить ответ на этот вопрос. Пробую фото с компа загрузить и прикрепить к сообщению , но что то никак не пойму. сложно для меня это...
может вам поможет этот код , где реализованы различные методы vkApi. Код взял из их тестового приложения. И там вроде есть как отправить на стену фото, но я с трудом понимаю и не могу это переделать под прикрепление фото к личному сообщению .
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
public class TestActivity extends ActionBarActivity {
 
    private static final int[] IDS = {R.id.users_get, R.id.friends_get, R.id.messages_get, R.id.dialogs_get,
            R.id.captcha_force, R.id.upload_photo, R.id.wall_post, R.id.wall_getById, R.id.test_validation,
            R.id.test_share, R.id.upload_photo_to_wall, R.id.upload_doc, R.id.upload_several_photos_to_wall,
            R.id.test_send_request};
 
    public static final int TARGET_GROUP = 60479154;
    public static final int TARGET_ALBUM = 181808365;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        VKSdk.requestUserState(this, new VKPaymentsCallback() {
            @Override
            public void onUserState(final boolean userIsVk) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
//                      Toast.makeText(TestActivity.this, userIsVk ? "user is vk's" : "user is not vk's", Toast.LENGTH_SHORT).show();
                    }
                });
            }
        });
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        }
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
        }
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment implements View.OnClickListener {
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_test, container, false);
            for (int id : IDS) {
                view.findViewById(id).setOnClickListener(this);
            }
            return view;
        }
 
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.test_send_request: {
                    makeRequest();
                }
                break;
                case R.id.users_get: {
                    VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.FIELDS,
                            "id,first_name,last_name,sex,bdate,city,country,photo_50,photo_100," +
                                    "photo_200_orig,photo_200,photo_400_orig,photo_max,photo_max_orig,online," +
                                    "online_mobile,lists,domain,has_mobile,contacts,connections,site,education," +
                                    "universities,schools,can_post,can_see_all_posts,can_see_audio,can_write_private_message," +
                                    "status,last_seen,common_count,relation,relatives,counters"));
                    request.secure = false;
                    request.useSystemLanguage = false;
                    startApiCall(request);
                }
                break;
                case R.id.friends_get:
                    startApiCall(VKApi.friends().get(VKParameters.from(VKApiConst.FIELDS, "id,first_name,last_name,sex,bdate,city")));
                    break;
                case R.id.messages_get:
                    startApiCall(VKApi.messages().get());
                    break;
                case R.id.dialogs_get:
                    startApiCall(VKApi.messages().getDialogs());
                    break;
                case R.id.captcha_force:
                    startApiCall(new VKApiCaptcha().force());
                    break;
                case R.id.upload_photo: {
                    final Bitmap photo = getPhoto();
                    VKRequest request = VKApi.uploadAlbumPhotoRequest(new VKUploadImage(photo, VKImageParameters.pngImage()), TARGET_ALBUM, TARGET_GROUP);
                    request.executeWithListener(new VKRequestListener() {
                        @Override
                        public void onComplete(VKResponse response) {
                            recycleBitmap(photo);
                            VKPhotoArray photoArray = (VKPhotoArray) response.parsedModel;
                            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("https://vk.com/photo-%d_%s", TARGET_GROUP, photoArray.get(0).id)));
                            startActivity(i);
                        }
 
                        @Override
                        public void onError(VKError error) {
                            showError(error);
                        }
                    });
                }
                break;
                case R.id.wall_post:
                    makePost(null, "Hello, friends!");
                    break;
                case R.id.wall_getById:
                    startApiCall(VKApi.wall().getById(VKParameters.from(VKApiConst.POSTS, "1_45558")));
                    break;
                case R.id.test_validation:
                    startApiCall(new VKRequest("account.testValidation"));
                    break;
                case R.id.test_share: {
                    final Bitmap b = getPhoto();
                    VKPhotoArray photos = new VKPhotoArray();
                    photos.add(new VKApiPhoto("photo-47200925_314622346"));
                    new VKShareDialogBuilder()
                            .setText("I created this post with VK Android SDK\nSee additional information below\n#vksdk")
                            .setUploadedPhotos(photos)
                            .setAttachmentImages(new VKUploadImage[]{
                                    new VKUploadImage(b, VKImageParameters.pngImage())
                            })
                            .setAttachmentLink("VK Android SDK information", "https://vk.com/dev/android_sdk")
                            .setShareDialogListener(new VKShareDialog.VKShareDialogListener() {
                                @Override
                                public void onVkShareComplete(int postId) {
                                    recycleBitmap(b);
                                }
 
                                @Override
                                public void onVkShareCancel() {
                                    recycleBitmap(b);
                                }
 
                                @Override
                                public void onVkShareError(VKError error) {
                                    recycleBitmap(b);
                                }
                            })
                            .show(getFragmentManager(), "VK_SHARE_DIALOG");
                }
                break;
                case R.id.upload_photo_to_wall: {
                    final Bitmap photo = getPhoto();
                    VKRequest request = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, TARGET_GROUP);
                    request.executeWithListener(new VKRequestListener() {
                        @Override
                        public void onComplete(VKResponse response) {
                            recycleBitmap(photo);
                            VKApiPhoto photoModel = ((VKPhotoArray) response.parsedModel).get(0);
                            makePost(new VKAttachments(photoModel));
                        }
 
                        @Override
                        public void onError(VKError error) {
                            showError(error);
                        }
                    });
                }
                break;
                case R.id.upload_doc:
                    startApiCall(VKApi.docs().uploadDocRequest(getFile()));
                    break;
                case R.id.upload_several_photos_to_wall: {
                    final Bitmap photo = getPhoto();
                    VKRequest request1 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, TARGET_GROUP);
                    VKRequest request2 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.5f)), 0, TARGET_GROUP);
                    VKRequest request3 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.1f)), 0, TARGET_GROUP);
                    VKRequest request4 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.pngImage()), 0, TARGET_GROUP);
 
                    VKBatchRequest batch = new VKBatchRequest(request1, request2, request3, request4);
                    batch.executeWithListener(new VKBatchRequestListener() {
                        @Override
                        public void onComplete(VKResponse[] responses) {
                            super.onComplete(responses);
                            recycleBitmap(photo);
                            VKAttachments attachments = new VKAttachments();
                            for (VKResponse response : responses) {
                                VKApiPhoto photoModel = ((VKPhotoArray) response.parsedModel).get(0);
                                attachments.add(photoModel);
                            }
                            makePost(attachments);
                        }
 
                        @Override
                        public void onError(VKError error) {
                            showError(error);
                        }
                    });
                }
                break;
            }
        }
 
        private void startApiCall(VKRequest request) {
            Intent i = new Intent(getActivity(), ApiCallActivity.class);
            i.putExtra("request", request.registerObject());
            startActivity(i);
        }
 
        private void showError(VKError error) {
            new AlertDialog.Builder(getActivity())
                    .setMessage(error.toString())
                    .setPositiveButton("OK", null)
                    .show();
            if (error.httpError != null) {
                Log.w("Test", "Error in request or upload", error.httpError);
            }
        }
 
        private Bitmap getPhoto() {
            try {
                return BitmapFactory.decodeStream(getActivity().getAssets().open("android.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
 
        private static void recycleBitmap(@Nullable final Bitmap bitmap) {
            if (bitmap != null) {
                bitmap.recycle();
            }
        }
 
        private File getFile() {
            try {
                InputStream inputStream = getActivity().getAssets().open("android.jpg");
                File file = new File(getActivity().getCacheDir(), "android.jpg");
                OutputStream output = new FileOutputStream(file);
                byte[] buffer = new byte[4 * 1024]; // or other buffer size
                int read;
 
                while ((read = inputStream.read(buffer)) != -1) {
                    output.write(buffer, 0, read);
                }
                output.flush();
                output.close();
                return file;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
 
        private void makePost(VKAttachments attachments) {
            makePost(attachments, null);
        }
 
        private void makeRequest() {
            VKRequest request = new VKRequest("apps.getFriendsList", VKParameters.from("extended", 1, "type", "request"));
            request.executeWithListener(new VKRequestListener() {
                @Override
                public void onComplete(VKResponse response) {
                    final Context context = getContext();
                    if (context == null || !isAdded()) {
                        return;
                    }
                    try {
                        JSONArray jsonArray = response.json.getJSONObject("response").getJSONArray("items");
                        int length = jsonArray.length();
                        final VKApiUser[] vkApiUsers = new VKApiUser[length];
                        CharSequence[] vkApiUsersNames = new CharSequence[length];
                        for (int i = 0; i < length; i++) {
                            VKApiUser user = new VKApiUser(jsonArray.getJSONObject(i));
                            vkApiUsers[i] = user;
                            vkApiUsersNames[i] = user.first_name + " " + user.last_name;
                        }
                        new AlertDialog.Builder(context)
                                .setTitle(R.string.send_request_title)
                                .setItems(vkApiUsersNames, new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        startApiCall(new VKRequest("apps.sendRequest",
                                                VKParameters.from("user_id", vkApiUsers[which].id, "type", "request")));
                                    }
                                }).create().show();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
 
        private void makePost(VKAttachments attachments, String message) {
            VKRequest post = VKApi.wall().post(VKParameters.from(VKApiConst.OWNER_ID, "-" + TARGET_GROUP, VKApiConst.ATTACHMENTS, attachments, VKApiConst.MESSAGE, message));
            post.setModelClass(VKWallPostResult.class);
            post.executeWithListener(new VKRequestListener() {
                @Override
                public void onComplete(VKResponse response) {
                    if (isAdded()) {
                        VKWallPostResult result = (VKWallPostResult) response.parsedModel;
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("https://vk.com/wall-%d_%s", TARGET_GROUP, result.post_id)));
                        startActivity(i);
                    }
                }
 
                @Override
                public void onError(VKError error) {
                    showError(error.apiError != null ? error.apiError : error);
                }
            });
        }
    }
}
Вопрос: Android SDK не видит устройство

Пытаюсь запустить проект на своем китайском планшете (Go clever insigma 800m), возможно ли что это из за того что compile SDK в проекте установлена 5.0 а на планшете 4.2 но min и target сдк установлена как 4.2. Режим разработчика включен, отладка по usb разрешена. Когда питаюсь снизить complie sdk возникает ошибка компиляции "R" -cannot resolve symbol, после build\\clean указивает на системный файл с ошибками вокруг материал тем, Помогите пожалуйста
Ответ: В диспетчере устройств все устройства нормально определяются? Если нет, установите для вашего планшета Android Composite ADB Interface