Перейти к содержанию
Fire Monkey от А до Я

Kitty

Пользователи
  • Постов

    792
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Сообщения, опубликованные Kitty

  1. Планшет PIPO M7 Pro Андроид 4.4.2. Если запустить приложение на планшете и затем повернуть планшет на 90 градусов, при этом приложение также поворачивается и затем вернуть планшет в исходное состояние, то кнопки перестают отвечать на нажатие. После поворота никакой код не работает:

    //C++ Builder XE6
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
      Close();//после вращения планшета не работает, до вращения все нормально
    }
    

    С чем это может быть связано и как исправить?

    Спасибо.

  2. Мне надо запускать видео по расписанию в плеере MX Андроид на устройстве iconBIT Андроид 4.2. Плеер MX настроен на проигрывание видео по кругу.

    В 10.00 играть зациклено одно видео в плеере.

    В 12.00 перестать играть видео №1 и начать играть зациклено другое видео в плеере.

    и т.д.

    Исходя из того что видео в плеере будет проигрываться по таймеру, надо ли вносить какие-либо изменения в код проигрывания видео ниже:

    //C++ Builder XE6
    //функция будет вызываться по таймеру:
    void PlayVideo(const String AFileName)
    {
    	_di_JIntent Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW);
    	_di_Jnet_Uri Data = StrToJURI(AFileName);
    	Intent->setDataAndType(Data, StringToJString(L"video/mp4"));
    	SharedActivity()->startActivity(Intent);
    
    }
    
  3. Гм... Под деплоем, по сути, понимается сборка итогового apk файла. И из этого следует вот что:

    - предварительно (в процессе составления ПО и пр... До деплоя) надо подготовить нужные файлы, и прописать в деплой менеджере где их надо брать и где располагать.

    - разносить прогу по устройствам надо именно этим apk файлом. Желательно все сопутствующие файлы упрятать в apk. Хотя в принципе - можно и просто скопировать.

    В итоге - копируете на флешу apk (и, быть может, сопутствующие файлы) и разносите и инсталлите все это дело по девайсам. Если есть сеть между устройствами - можно по сети.

    Огромное спасибо! Теперь понятно, что если в менеджере все настроено правильно, то достаточно только одного apk для распространения. Подскажите, а какая рекомендация, куда обычно на устройстве принято копировать готовый apk с флешки? Или таких рекомендаций нет и можно копировать куда угодно на устройстве? Спасибо.

  4. Мне надо готовое созданное корпоративное приложение (C++ Builder XE6) разместить на 7 Андроид устройствах фирмы. Как правильно это сделать? Могу я просто скопировать папки моего проекта Release\MyProject на флешку и потом разнести эти папки по всем 7-и Андроид устройствам простым копирование? Если да, то куда предпочтительнее копировать дерево папок моего готового проекта? Как правильно деплоит созданное корпоративное приложение? Или надо все устройства по очереди подсоединять к компьютеру и деплоить через меннеджер?

    Код приложения будет использовать внешние файлы, которые будут предварительно помещены в папку устройства Download.

    Спасибо.

  5. На планшете c Андроид 4.4.2 установлены root права. Из андроид маркета установлен MX плеер. В плеере установлена настройка, что он открывает на постоянной основе файлы mp4. Я пытаюсь из своей программы запустить на выполнение файл mp4. Для примера помещаю нужный мне файл mp4 в папку download. Код такой:

      //C++ Builder XE6
      String VideoFileName = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetSharedDownloadsPath(), "file1.mp4");
      if(FileExists(VideoFileName))
      {
          system(("open " + AnsiString(VideoFileName)).c_str());//ничего не происходит
          ShowMessage(VideoFileName);// /mnt/internal_sd/Download/file1.mp4
      }
      else
      {
          //сюда не попадаем
          ShowMessage(L"Не найден видео файл " + VideoFileName + L". Программа будет закрыта.");
          Application->Terminate();
      }
    

    Ничего не происходит. Видео не воспроизводится. Как правильно?

  6. Спасибо. Подскажите или я правильно сделала рекомендации после перезагрузки:
    1. У меня в файле android:debuggable="True" – все нормально.
    2. Добавила строку <uses-permission android:name="android.permission.SET_DEBUG_APP" />
    и скопировала весь файл на диск Е.
    3. На рисунке настройки деплоймента с новым файлом манифеста.

    Если мой третий шаг правильный, то мне не помогло.

    post-132-0-31701100-1398430456_thumb.jpg

  7. Доп. информация - С++ Builder XE6:

    Если использовать планшет PIPO M7 Pro с Андроид 4.2.2 то дебаг валиться с сообщением:

    Unable to start gdbserver on port 64311: Cant open socket Permission denied

    Мне никакие рекомендации не помогли:

    http://qc.embarcadero.com/wc/qcmain.aspx?d=119296

    http://www.embarcadero.com/starthere/xe6/mobdevsetup/android/en/runandroidtargetfailedhelppage.html

     

    После прошивки этого планшета на версию Андроид 4.4.2, сообщение пропало, но дебаг по-прежнему не работает, просто тихо отваливается.

  8. http://docwiki.embarcadero.com/Libraries/XE5/en/System.IOUtils.TPath

     

    P.S. Просьба в будущем на каждый отдельный вопрос заводить отдельную тему. Так как вопрос был вначале об одном, а теперь поменялся на другой. Другим пользователям будет сложно найти на него ответ

     

    Спасибо. У меня в первом топике было как "получить путь к файлу в Андроид проекте?" Вроде я не отклонилась от темы.:)

    Разве что еще уточняла можно ли поработать с INI на эмуляторе, но это тоже путь к файлу, только не на реальном устройстве.

  9. Спасибо за рекомендации. У меня все же еще такой вопрос. Вот на устройстве Андроид есть к примеру папка Music или к примеру Download. Эти папки по умолчанию присутствуют в прошивке этого Андроид устройства. Каким кодом я могу увидеть в метке Label1 путь к этим папкам? Например музыкальный фал лежит в папке Music, как из моего приложения достучаться до него?

     

    P.S.

    после установки приложения на устройство, этот файл будет лежать в папке «/storage/emulated/0/Android/data/<application ID>/files».

     

    Можно ли как-то поработать с файлом INI на эмуляторе (для тестирования) или только это возможно после развертывания на реальной устройстве?

  10. Прошу прощения за глупый вопрос, не могу понять...

    Почему когда я запускаю в режиме debug на эмуляторе, точки останова работают. Когда запускаю на реальном устройстве подключенном к RAD XE6 и галочкой разрешить отладку по USB, то точки останова не работают. Это так и должно быть? Т.е. точками останова можно пользоваться только на эмуляторе?

     

    С++ Builder XE6.

    Планшет PIPO M7 Pro Android 4.4.2

  11. Ini файл будет создаваться самим приложением?

    Нет. INI файл готовый. В нем периодически руками будут менять некоторые данные в секциях (time/name) и после замены копировать поверх старого INI.

    INI:

    [FILE1]

    time = 10:00:00

    name = file1.mp4

    [FILE2]

    time = 12:00:00

    name = file2.mp4

     

    ***

  12. Что-то не доходит до меня. :(

    Подсоединила планшет с Андроид к RAD XE6, все нормально. Включила отладку по USB. Теперь пытаюсь в режиме debug на планшете увидеть путь к папке с документами:

    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
     //почему-то точки останова не срабатывают
     Label1->Text = System::Ioutils::TPath::GetDocumentsPath();//стоит точка останова
    }
    

    После нажатия на кнопку вижу на экране планшета какой-то странный путь:

    /data/data/com.embarcadero.MobProjectHelloWord/files

    Если поменять GetDocumentsPath на GetHomePath, то получаю тот же путь;

    /data/data/com.embarcadero.MobProjectHelloWord/files

    Я хочу разместить на планшете файл INI, иметь к нему доступ и периодически иметь возможность менять этот файл простым копирование поверх. Если я скопирую файл INI на планшете в папку Андроида documents, то как правильно обратиться к этой папке?

    Созданное приложение будет использоваться во внутренних корпоративных целях (никаких маркетов).

    Спасибо.

  13. Здравствуйте.
    В новом С++ Builder XE6 появилась возможность программировать под Андроид. Опыта в этом нет. Подскажите, пожалуйста, как получить путь к файлу в Андроид проекте? Код для Windows приложения не работает в Андроид проекте:

    String path = ExtractFilePath(Application->ExeName) + L"\\files.ini";
    if(FileExists(path))
    {
     //****
    }
    

    Спасибо.

×
×
  • Создать...