-
Постов
75 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Ответы сообщества
-
Пост masmat - сообщение в Application.FormFactor.Orientations был отмечен как ответ
Если возникает проблема с поворотом экрана, нужно отредактировать файл AndroidManifest.template.xml
Нужно скорректировать выделенную строку
<%application-meta-data%>
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
-
Пост masmat - сообщение в Как запустить приложение ВКонтакте из своего приложения? был отмечен как ответ
Отвечу сам
procedure TForm1.ButtonClick(Sender: TObject); const cVkPackage = 'com.vkontakte.android'; var Manager: JPackageManager; Info: JActivityInfo; List: JList; I: Integer; ResolveInfo: JResolveInfo; NativeCompName:JComponentName; Intent: JIntent; begin Intent:=TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setData(StrToJURI('https://vk.com/адрес_группы')); Manager :=SharedActivity.getPackageManager; List:=Manager.queryIntentActivities(Intent,0); for I := 0 to List.size-1 do begin ResolveInfo:=TJResolveInfo.Wrap((List.get(i)as ILocalObject).GetObjectID); Info:=TJActivityInfo.Wrap((ResolveInfo.activityInfo as ILocalObject).GetObjectID); if SameText(JStringToString(Info.packageName),cVkPackage) then begin NativeCompName:=TJComponentName.JavaClass.init(ResolveInfo.activityInfo.applicationInfo.packageName,ResolveInfo.activityInfo.name); Intent.addCategory(TJIntent.JavaClass.CATEGORY_LAUNCHER); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK or TJIntent.JavaClass.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); Intent.setComponent(NativeCompName); SharedActivity.startActivity(Intent); end; end; end; -
Пост masmat - сообщение в Крах повторного запуска приложения был отмечен как ответ
Отвечу сам.
После длительных танцев с бубном, оказалось, что все таки два сертификата могут работать друг с другом, но нужно сделать два разных узла в "Связке ключей", что бы они не совпадали именами.
-
Пост masmat - сообщение в Как увеличить скорость отработки запроса SQL к базе SQLLite был отмечен как ответ
Всем спасибо за советы.
Вообщем результаты.
Оставил на форме:
1 TListView 2 TRectangle 1 TCheckBox 1 TLabel + Почистил раздел USES от ненужных вещей
Скорость создания формы, заполнения LiistView и открытие сократилось до 1 сек.
Т.О. получается, что нужно очень сильно минимизировать кол-во контролов на формах.
-
Пост masmat - сообщение в Обновление файла БД без перезапуска приложения был отмечен как ответ
Под Android я делаю так. Вставляю изначально файл БД в Deploy.
Потом вызываю при необходимости процедуру
procedure TForm1.RefreshBD; { TODO -cKod : RefreshBD - обновление БД } var PackageName: JString; zip: TZipFile; begin // Отключаемся от базы FDConnection1.Connected := False; // Получаем имя apk файла PackageName := SharedActivityContext.getPackageResourcePath; if TFile.Exists(JStringToString(PackageName)) then begin // Удаляем старый файл базы TFile.Delete(TPath.GetHomePath + PathDelim + 'DBGK.db'); // Извлекаем новый файл базы zip := TZipFile.Create; zip.Open(JStringToString(PackageName), TZipMode.zmRead); zip.Extract('assets/internal/DBGK.db', TPath.GetDocumentsPath, False); zip.Close; zip.free; end; // Подключаемся к базе FDConnection1.Connected := True; end;
Под iOS вставляю в ресурсы, потом вот так
procedure TForm1.RefreshBD; { TODO -cKod : RefreshBD - обновление БД } begin // Отключаемся от базы FDConnection1.Connected := False; if FindResource(0, 'res_bd', PChar(RT_RCDATA)) <> 0 then rs_bd := TResourceStream.Create(0,'res_bd',PChar(RT_RCDATA)); if TFile.Exists(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db') then begin TFile.Delete(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); rs_bd.SaveToFile(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); end else begin rs_bd.SaveToFile(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); end; FDConnection1.Connected := True; end; -
Пост masmat - сообщение в Ошибка SDK при сборке проекта XE8 + iOS 9.2 был отмечен как ответ
Перекочевали в ветку http://fire-monkey.ru/topic/1753-oshibki-i-kosiaki-delphi-xe10-seattle-i-xcode-7/page-2#entry11745