Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Обрезать фото и вывести на экран приложения

Всем привет!
Друзья, поделитесь кусочком кода, в котором можно сделать фото, обрезать его до нужных размеров (например, 720х720) и вывести на экран приложения.

Я попробовал изменить размеры через createScaledBitmap(), но он мне просто вытянул маленькое изображение. И я получил изображение 720х720, но все в квадратиках.

Вот мой код:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Щелчок кнопки
    public void CameraTurnClick(View v) {
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(cameraIntent, CAMERA_RESULT);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == CAMERA_RESULT) {
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            int dstWidth=320;
            int dstHeight=640;
           thumbnail= Bitmap.createScaledBitmap(thumbnail, dstWidth, dstHeight, false);
 
            ivCamera.setImageBitmap(thumbnail);
        }
    }
Ответ: Novichek_9I, не знаю, не изучал вопрос(
Вопрос: Like Button с использованием VK API

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

Проблема в том что натыкаюсь на куча статей с использованием facebook api для реализации кнопки лайк на экране приложения, у меня возник вопрос, возможно ли создать такую же кнопку лайк но уже с использованием VKontakte api
т.е. привязка уже идет не к facebook а к VKontakte!? Заранее спасибо!
Ответ: Это SDK для того чтобы внедрить соц. сеть VK в приложение которое я создаю, я натыкался на эту статью, в ней ни чего не сказано как можно внедрить кнопку лайк в мое приложение, к примеру в Facebook SDK есть готовые методы (возможно называют их не методами) LikeView которая и есть кнопка лайк, т.е. нет той гибкости которая в Facebook SDK. В общем это мои возмущения, наверное они напрасны потому что в разработчиках андроид приложений я недавно и многое еще не знаю, поэтому я обратился именно сюда. Буду очень рад если кто знает что ни будь по этому поводу.
Вопрос: Как сделать скриншот экрана без прав Root-а?

как сделать скриншот всего экрана без использования(getRootView()) без рут прав ??
Ответ: это я прочитал уже спасибо большое только вот почему то когда я делаю скриншот и сохраняю его на sd карту то получаю вместо скрина экрана полностью черное изображение почему так получается??
Вопрос: Фон приложения (использование nine9patch)

Понимаю что скорей всего этого уже спрашивали.. но будьте добры, подскажите мне как новичку..
Имеется три активити.. на каждое склепал фон..
Для того чтобы использовать nine9patch нужен *PNG.. но при сохранении в png XXhdpi у меня выходит 1.5МБ ... для моего приложения это будет слишком много.. т.к хочу подогнать под все расширения все фоны..
Это же изображение XXhdpi в JPEG выходит 60 кб.. (качество подходит)..
Было бы чудесно использовать JPEG.. но боюсь что соотношения будут делать свое дело ( если допустим 16:9 то 1.77... если же 16:10 то 1.6... это два основных на сколько я знаю)...
Что будет с моими фонами если они будут не *png.9 a JPEG ?! я думаю что будет плохо... подскажите как мне быть?!
Ответ: я в отчаянии.. не знаю как быть
Вопрос: Архитектура клиент-серверного приложения с off-line режимом

Доброго дня.
Столкнулся со следующим вопросом на тестировании:

Создаётся Android-приложение, работающее с данными на сервере. В серверном API есть команды получения, обновления и удаления данных: /item/list, /item/add, /item/update и /item/delete.
На главном экране приложения отображается список элементов “item”, которые приложение при каждом запуске должно запускать с сервера.
Приложение так же должно уметь работать в оффлайн-режиме: если пользователь добавил, отредактировал или удалил элемент, эти изменения должны сохраниться на сервере, когда появится доступ в Интернет, даже если приложение было закрыто.
Какие проблемы и сложности такой архитектуры клиент-серверного взаимодействия Вы видите? Как их решать? Знакомы ли Вам какие-либо типовые решения таких задач? Если не знакомы, пожалуйста, спроектируйте и опишите архитектуру, которая «будет работать».

Как обнаружить доступ в сеть и запустить что-нибудь при закрытом приложении есть идеи - сделать сервис в нём броадкаст ресивером ловить сеть.
А как реализовать такую "очередь" изменений, которая рассосётся при обнаружении сети? В ней по идее должны быть элементы - команды API и данные конкретного API-вызова. В общем тут мысли теряются совершенно, за что хвататься.
Ответ:
Сообщение от vxg
я правда не знаю насколько ваша задача чувствительна к рассогласованию баз...к примеру: мы покупаем (добавляем в базу строку с товаром) и сделать это можно только если товар в наличии. если мы будем работать оффлайн, то мы можем накидать 333 строки которые по факту будут отвергнуты сервером так как товар закончился
да да, я думал об этом, насколько вообще критичны данные к таким вещам. Особенно например если данные есть, но они другие. А то так можно вообще купить что-то не то, это ещё хуже чем в конце концов просто получить ошибку.
Но в изначальном задании курсивом ничего об этом нет, видимо предполагается то что на эту тему можно подискутировать при ответе.
Вопрос: Клиент-серверное приложение с off-line режимом

Доброго дня.
Столкнулся со следующим вопросом на тестировании:

Создаётся Android-приложение, работающее с данными на сервере. В серверном API есть команды получения, обновления и удаления данных: /item/list, /item/add, /item/update и /item/delete. На главном экране приложения отображается список элементов “item”, которые приложение при каждом запуске должно запускать с сервера.
Приложение так же должно уметь работать в оффлайн-режиме: если пользователь добавил, отредактировал или удалил элемент, эти изменения должны сохраниться на сервере, когда появится доступ в Интернет, даже если приложение было закрыто.
Какие проблемы и сложности такой архитектуры клиент-серверного взаимодействия Вы видите? Как их решать? Знакомы ли Вам какие-либо типовые решения таких задач? Если не знакомы, пожалуйста, спроектируйте и опишите архитектуру, которая «будет работать».


Как обнаружить доступ в сеть и запустить что-нибудь при закрытом приложении есть идеи - сделать сервис в нём броадкаст ресивером ловить сеть.
А как реализовать такую "очередь" изменений, которая рассосётся при обнаружении сети? В ней по идее должны быть элементы - команды API и данные конкретного API-вызова. В общем тут мысли теряются совершенно, за что хвататься.
Ответ:
pouchdb - она сама все сделает. Синхрониз как настроиш (а он изначально в протоколе CouchDB хорошо сделан - киллер фича  :crazy ), но факт в том что работа с базой на устройстве/браузере
Из каучука уже можно данные дёргать чем захочешь...

Это сообщение отредактировал(а) _zorn_ - 8.12.2016, 22:31
Вопрос: Как сделать указатель (аналог указателя мыши) в приложении

Добрый день!
Подскажите направление или примеры.

Нужно следующие:
- создать указатель в своем приложении (как от мыши на пк)
- двигать этим указателем кнопками или еще чем.
- эмулировать нажатие пальцем в месте указателя по определенным событиям;

Перемещать нужно по всему экрану приложения. Над всеми компонентами.
На пример над WebView, хочу этим указателем серфить по интернету, т.е заменить им касание пальцами
Ответ:
Вопрос: Как увидеть activity другого приложения через прозрачный фон моего?

Нужно, чтобы под моим приложением было видно другое. Сделал фон моего приложения прозрачным путём добавления android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" в <activity...> в AndroidManifest.xml. Но фон стал чёрным. Возможно он и прозрачный, но под ним видно не другое приложение, а пустой background. Как добиться, чтобы там стало видно activity другого приложения, или лончер, если другое приложение не запущено?
Ответ: styles.xml вообще отсутствует

к Qt этот вопрос не имеет отношения - фон непрозрачный ВНЕ окна приложения (оно меньше экрана), а там Qt вообще никак не работает, там прерогатива ОС

Добавлено через 21 минуту
Не... всё-таки виноват Qt. Заметил, что при запуске приложения экран стал мигать - на долю секунды видно нижнее активити. Потом он закрашивается чёрным. И этот чёрный - цвет фона главного окна Qt-приложения. Оказывается, в Android оно всегда на развёрнуто полный экран. Android делает приложение прозрачным, но Qt почему-то закрашивает, хотя в нём заданы прозрачности везде, где нужно.

Добавлено через 1 час 10 минут
РЕШЕНО!
В main()
C++ (Qt)
1
2
3
4
5
    MainWindow w;
    QPalette p;
    p.setColor(QPalette::Background, QColor(0,0,0,0));
    w.setPalette(p);
    w.show();
и конечно надо задать тему с прозрачностью в AndroidManifest.xml.
Вопрос: Exception при использовании анимации фрагментов

В приложении есть 2 фрагмента сменяющие друг друга на экране.
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
fragmentTransaction = fragmentManager.beginTransaction(); 
 
fragmentTransaction.setCustomAnimations(R.anim.fragment_vert_add, R.anim.fragment_vert_remove);
 if(fragment1.isAdded())
            fragmentTransaction.replace(R.id.linear_layout_id, fragment2);
        else
            fragmentTransaction.replace(R.id.linear_layout_id, fragment1);
        fragmentTransaction.commit();
Проблема возникает при нажатии на экран во время анимации:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalStateException: No activity
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1123)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1118)
            at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1927)
            at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1800)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:977)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
            at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:456)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
            at dalvik.system.NativeStart.main(Native Method)
Как быть?!...
Ответ: интересно, у меня тоже в приложении переключаются фрагменты, но все норм
Вопрос: Bitmap не получает цвета с экрана

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

код отслеживания касания на экране
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
 @Override
    public boolean onTouchEvent(MotionEvent e) {
        float x = e.getX();
        float y = e.getY();
 
        switch (e.getAction()) {
            case MotionEvent.ACTION_MOVE:
     
                int xx = (int)x;
                int yy = (int)y;
       
                try {
                    preview.buildDrawingCache();
                    preview.setDrawingCacheEnabled(true);
                   bitmap  =  preview.getDrawingCache();
                   int colorRGB  =  bitmap.getPixel(xx,yy);
                        int redValue = Color.red(colorRGB);
                        int blueValue = Color.blue(colorRGB);
                        int greenValue = Color.green(colorRGB);
 
                   log.v("Pixels", bitmap.getWidth()+" "+bitmap.getHeight()+" "+redValue+" "+greenValue+" "+blueValue);
                   log.v("Pixels", Integer.toHexString(colorRGB));
                   textView = (TextView)findViewById(R.id.textView);
                   textView.setText("This is x:"+xx+" y:"+yy+" w:"+bitmap.getWidth()+" h:"+bitmap.getHeight()+" r:"+redValue+" g:"+greenValue+" b:"+blueValue);
 
                } catch(Exception ex) {
                    log.e("GETCOLOR", ex.getMessage());Toast.makeText(getApplicationContext(),ex.getMessage(),Toast.LENGTH_LONG).show();
 
 
                }
 
        }
 
        return true;
    }
В данном случаи preview обьект класса SurfaceView

Лог:
Bash
1
06-08 22:12:14.312 9378-9378/com.example.getcolortohex V/Pixels: 806 432 0 0 0
Ответ: менял, без изменений.

пробывал сохранять полученый битмап в .jpg - пустая картинка(чорная)