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

Kamenev_D

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

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

  • Посещение

Активность репутации

  1. Like
    Kamenev_D получил реакцию от zairkz в Как узнать какие заголовочные файлы нужны?   
    Вот это да! Даже слов нету. Спасибо! Если я правильно понял, то если в коде Ява встречается к примеру "android.bluetooth.*", то в Эбмаркадеро можно смело подключать Androidapi.JNI.Bluetooth? И последний вопрос, можно прямую ссылку на правила трансляции? Или это какаят о личная? В общем в любом случае огромнейшее спасибо за помощь!
  2. Like
    Kamenev_D получил реакцию от zairkz в Как узнать какие заголовочные файлы нужны?   
    Добрый день. Решил вот так же осваивать FM, и вот тут же сразу возникло пару вопросов, касающихся разработки под Андроид.
    Итак по порядку:
    Есть примеру код на Делфи:
    uses FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.Provider, Androidapi.JNI.JavaTypes; cursor: JCursor; cursor := SharedActivity.getContentResolver.query( TJCallLog_Calls.JavaClass.CONTENT_URI, nil, nil, nil, nil); Переводим его в Си
    #include <Androidapi.Helpers.hpp> //#include <FMX.Helpers.Android.hpp> #include <Androidapi.JNI.GraphicsContentViewText.hpp> #include <Androidapi.JNI.Provider.hpp> JCursor *cursor; TJCallLog_Calls *call; cursor = SharedActivity()->getContentResolver()->query(call->JavaClass->CONTENT_URI, NULL,NULL,NULL,NULL ) ; Так вот вопрос, где можно почитать за данные заголовочные файлы? Как вообще узнали что нужно вызывать? Я так понял это Android API, но если читать, за данные методы, то нигде не указано какие хидеры нужно подключать. Вот к примеру SharedActivity. Что это, за что отвечает, аналог чего?  Вот например описание, но где указано какой хидер нужно подключать то? В общем прощу помощи в данном вопросе.
     
    Если создал не в том разделе, прощу перенести в соответствующий.
  3. Like
    Kamenev_D получил реакцию от zairkz в Как узнать какие заголовочные файлы нужны?   
    Спасибо, за ответ. А где можно узнать поподробнее за JCursor, TJCallLog_Calls,SharedActivity и иже с ними? Т.е что это, чего аналоги?
    А то как можно что-то делать не понимаю что же используешь. Чем к примеру отличается JCursor от просто TCursor? И для чего он? Это как указатель мыши выступает или как какая то переменная? Вот что непонятно. И инфы нету никакой. Покрайней мере я не нашёл ничего. Но автор кода откуда то узнал за него же.
  4. Like
    Kamenev_D отреагировална Brovin Yaroslav в Как узнать какие заголовочные файлы нужны?   
    Все типы начинающиеся с буквы "J" - это соответствующие типы Android API.
     
    Смотрите developer.android.com
     
    Правила трансляции Android API название в Delphi названия:
    Добавить приставку "J" к типу.
    Например: Cursor (В Android API) -> JCursor (В Delphi) Если тип вложенный в другой тип, то вставить разделитель "_" между родительским типом и вложенным. 
    Например: CallLog.Calls (В Android API) -> JCallLog_Calls (В Delphi) Аналогично в обратную сторону
  5. Like
    Kamenev_D отреагировална Brovin Yaroslav в Как узнать какие заголовочные файлы нужны?   
    Добрый день,
    SharedActivity - это вспомогательная функция, введенная в FMX для удобного доступа к экземпляру активити. На счет алгоритма поиска соответствующего заголовочного файла - правил нету. Так как, зависимости модулей в Delphi отличаются от механизма пакетов Java. Поэтому в Delphi физически не получится сделать такое же соответствие названий юнитов, как в Java - пакеты. Поэтому пользуйтесь поиском по заголовочным файлам C++ Builder для поиска.  P.S. Здесь представлены правила трансляции классов в делфовые юниты (Актуально для XE7):
    Ветка Unit - содержит название юнита (хедера), внутренние ветки типы из Android API, которые будут помещены в этот юнит. <units> <unit name="Androidapi.JNI.VideoView"> <class name="android.widget.VideoView" /> <class name="android.widget.MediaController$MediaPlayerControl" /> <class name="android.widget.MediaController" /> </unit> <unit name="Androidapi.JNI.Java.Security"> <class name="java.security.*" /> </unit> <unit name="Androidapi.JNI.JavaTypes"> <class name="java*" /> <class name="org*" /> </unit> <unit name="Androidapi.JNI.GraphicsContentViewText"> <class name="android.graphics*" /> <class name="android.content*" /> <class name="android.view*" /> <class name="android.text*" /> <class name="android.database*" /> </unit> <unit name="Androidapi.JNI.Os"> <class name="android.os*" /> </unit> <unit name="Androidapi.JNI.Webkit"> <class name="android.webkit*" /> </unit> <unit name="Androidapi.JNI.Telephony"> <class name="android.telephony*" /> </unit> <unit name="Androidapi.JNI.Location"> <class name="android.location*" /> </unit> <unit name="Androidapi.JNI.App"> <class name="android.app*" /> </unit> <unit name="Androidapi.JNI.Widget"> <class name="android.widget*" /> </unit> <unit name="Androidapi.JNI.Util"> <class name="android.util*" /> </unit> <unit name="Androidapi.JNI.Media"> <class name="android.media*" /> </unit> <unit name="Androidapi.JNI.Provider"> <class name="android.provider*" /> </unit> <unit name="Androidapi.JNI.Support"> <class name="android.support*" /> </unit> <unit name="Androidapi.JNI.Net"> <class name="android.net*" /> </unit> <unit name="Androidapi.JNI.Dalvik"> <class name="dalvik*" /> </unit> <unit name="Androidapi.JNI.Hardware"> <class name="android.hardware*" /> </unit> <unit name="Androidapi.JNI.InputMethodService"> <class name="android.inputmethodservice*" /> </unit> <unit name="Androidapi.JNI.Embarcadero"> <class name="com.embarcadero.firemonkey*" /> </unit> <unit name="Androidapi.JNI.OpenGL"> <class name="android.opengl*" /> </unit> <unit name="Androidapi.JNI.AdMob"> <class name="com.google.android.gms.ads.*" /> </unit> <unit name="Androidapi.JNI.PlayServices"> <class name="com.google.android.gms*" /> </unit> <unit name="Androidapi.JNI.PlayServices.GCM"> <class name="com.embarcadero.gcm*" /> </unit> <unit name="Androidapi.JNI.Analytics"> <class name="com.google.analytics*" /> </unit> <unit name="Androidapi.JNI.ApkExpansion"> <class name="com.android.vending.expansion*" /> <class name="com.google.android.vending.expansion*" /> <class name="com.embarcadero.expansion*" /> </unit> <unit name="Androidapi.JNI.Licensing"> <class name="com.google.android.vending.licensing*" /> </unit> <unit name="Androidapi.JNI.InAppBilling"> <class name="com.android.vending.billing.*" /> </unit> <unit name="Androidapi.JNI.Print"> <class name="android.print*" /> </unit> <unit name="Androidapi.JNI.Bluetooth"> <class name="android.bluetooth.*" /> </unit> </units>
×
×
  • Создать...