-
Постов
842 -
Зарегистрирован
-
Победитель дней
123
Весь контент Andrey Efimov
-
if Ord(KeyChar) = vkSpace then Memo1.Lines.Add('Пробел') или if KeyChar = ' ' then Memo1.Lines.Add('Пробел') Проверил на всякий случай, работает отлично.
-
[Статья][Android] AlarmManager - Автозапуск приложения в назначенное время
- 6 ответов
-
- alarmmanager
- alarm
-
(и ещё 2 )
C тегом:
-
Правило: Обращение к любому визуальному компоненту в потоке только через TThread.Synchronize
-
Спасибо, Ярослав уже знает о проблеме.
-
Не работает с вибрацией
- 6 ответов
-
- отключить звук
- отключить вибрацию
- (и ещё 1 )
-
Повторяю, пользуйтесь поиском и вообще смотрите соседние темы в разделе, перед тем как задать вопрос. Все начальные вопросы уже обсуждались. Поиск -> "не меняется высота" -> результат - ничего сложного... [TEdit] [Android] Можно ли изменить высоту TEdit?
-
В меню Project -> Deployment -> Кликаем по иконке «Диск и стрелочка» (подписана как «Deploy»)
-
Если грубо, то примерно вот так: uses Androidapi.JNI.App, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNIBridge; function IntArrayToJArray(const OrigArray: array of Integer): TJavaArray<Integer>; var I: Integer; begin Result := TJavaArray<Integer>.Create(Length(OrigArray)); for I := Low(OrigArray) to High(OrigArray) do Result.Items[I] := OrigArray[I]; end; procedure TForm3.Button1Click(Sender: TObject); var ActivityManager: JActivityManager; List: JList; Iterator: JIterator; Process: JActivityManager_RunningAppProcessInfo; ArrayMemoryInfo: TJavaObjectArray<JDebug_MemoryInfo>; begin ActivityManager := TJActivityManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE)); List := ActivityManager.getRunningAppProcesses; Iterator := List.iterator; while Iterator.hasNext do begin Process := TJActivityManager_RunningAppProcessInfo.Wrap(Iterator.next); ArrayMemoryInfo := ActivityManager.getProcessMemoryInfo(IntArrayToJArray([Process.pid])); Memo1.Lines.Add(JStringToString(Process.processName) + ' ' + ArrayMemoryInfo[0].getTotalSharedDirty.ToString); end; end; Повторюсь, это грубый, но рабочий пример. Рекомендуется доработать его перед использованием в рабочем проекте!
-
Да, не спорю. Пару версий назад, данный поиск у меня глючил и я окончательно вернулся на Total Commander (он меня ещё ни разу не подводил )
-
GetActivityManager - что это? такого в АПИ нет... Может вы имели ввиду ActivityManager -> getRunningAppProcesses() ? Если так, то вам необходимо подключить файл Androidapi.JNI.App.pas. Чтобы быстро найти файл, в котором реализован интерфейс/класс/метод из АПИ, можно воспользоваться любой утилитой позволяющей искать текст в файлах. Это может быть FAR, Total Commander и др. (я использую Total Commander)
-
Утилита написана на JAVA, т.к. у вас уже установлен JRE, то просто скачиваете и запускаете. Более подробно про утилиту можно почитать по ссылке из статьи Улучшенный 9-patch редактор
-
android-** (** - версия АПИ, чем выше цифра, тем больше нового поддерживает обёртка. Обратная совместимость поддерживается.) Выбираете файл по АПИ под которое пишите. По вашему примеру: JList уже определён в файле "Androidapi.JNI.JavaTypes.pas", т.е. нет необходимости подключать стороннюю обёртку. Указываете в uses Androidapi.JNI.JavaTypes и работаете с JList. p.s. Обёртки, которые вы скачали, необходимо проверять, т.к. многие из них сгенерены с ошибками.
-
Вот так подготовили Как добавить "резиновый" SplashScreen в XE7 ? p.s. Старайтесь прикладывать проекты к темам, так будет проще вам помочь.
-
Ну, если не хотите попробовать мою демку и посмотреть класс, то давайте изменю ваш код: procedure Vibr; //Процедура вибрации var Vibrator: JVibrator; begin Vibrator := TJVibrator.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE)); if Vibrator.hasVibrator() then Vibrator.vibrate(2000); end; доступ к сервису вибрации нужно получать у Context'a. Если всё равно падает, то смотрите логи, через monitor.bat (находится примерно тут: C:\Android\sdk\tools, у вас путь до sdk может быть другим).
-
Права дали точно? Вот вам мой класс для работы с вибрацией, там есть код проверки прав - https://github.com/AndrewEfimov/Android-API/blob/master/Vibrator/class/Vibrator.Android.pas (https://github.com/AndrewEfimov/Android-API/tree/master/Vibrator, класс и тестовое приложение) либо посмотрите в настройках приложения, раздел с правами.
-
Самостоятельно (не уверен, что сработает): Там вроде есть ещё логин, можно по нему ресетнуть. Запускаете студию, жмёте "Help->About", смотрите логин (вроде он) в "This product is licensed to:" Заходите https://members.embarcadero.com/, кнопка "Reset My Password" и далее... Или звонок, письмо в тех. поддержку.
-
Уважаемые участники, в частности @des80! Призываю вас к соблюдению общепринятых норм общения. Вынесено 1 предупреждение. За дальнейшим нарушением незамедлительно последует наказание на усмотрение Администратора/Модератора.
-
Уважаемые форумчане! Поздравляю Вас с Наступающим Новым Годом и Рождеством! Пусть 2017 год станет новым этапом на Вашем пути и принесет успех, самореализацию и, конечно же, счастье.
-
Так не устраивает? procedure TFormMain.sbSelectFolderClick(Sender: TObject); var PathFolder: string; begin if SelectDirectory('Выбор папки...', '', PathFolder) then ePathFolder.Text := PathFolder; end; SelectDirectory
-
Тема закрыта. (По вопросам связанным со Студией, на форуме уже есть отдельные темы) up. Тему почистил.