116 lines
4.8 KiB
ObjectPascal
116 lines
4.8 KiB
ObjectPascal
//------------------------------------------------------------------------------
|
|
//
|
|
// Free Pascal for Android
|
|
//
|
|
//------------------------------------------------------------------------------
|
|
|
|
library mORMotOnAndroidTyphon;
|
|
|
|
{$mode delphi}
|
|
{$packrecords c}
|
|
|
|
uses
|
|
And_jni,And_jni_Bridge,
|
|
And_Controls_Types,And_Controls,
|
|
Form_Main;
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Application Define
|
|
//
|
|
// XRef.
|
|
// App.java : package com.kredix;
|
|
// Controls.java : package com.kredix;
|
|
//
|
|
// AndroidManifest.xml : package = "com.kredix"
|
|
// uninstall.bat : adb.exe uninstall com.kredix
|
|
//------------------------------------------------------------------------------
|
|
Const
|
|
cAppName = 'com.mormot.mORMotDemoOnAndroid'; // ! Use your app name
|
|
cAppJ = 'com_mormot_Controls'; // ! Pascal Lib. Export name
|
|
|
|
// JNI - Java->Pas
|
|
function JNI_OnLoad (vm:PJavaVM;reserved:pointer):jint; cdecl; forward;
|
|
Procedure JNI_OnUnload (vm:PJavaVM;reserved:pointer); cdecl; forward;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Java Interface
|
|
//-----------------------------------------------------------------------------
|
|
exports
|
|
// JNI
|
|
JNI_OnLoad name 'JNI_OnLoad',
|
|
JNI_OnUnload name 'JNI_OnUnload',
|
|
|
|
// App Event
|
|
Java_Event_pOnAppCreate name 'Java_' + cAppJ + '_pOnAppCreate' ,
|
|
Java_Event_pOnAppScreenStyle name 'Java_' + cAppJ + '_pOnAppScreenStyle' ,
|
|
Java_Event_pOnAppScreenOrientation name 'Java_' + cAppJ + '_pOnAppScreenOrientation' ,
|
|
Java_Event_pOnAppNewIntent name 'Java_' + cAppJ + '_pOnAppNewIntent' ,
|
|
Java_Event_pOnAppDestroy name 'Java_' + cAppJ + '_pOnAppDestroy' ,
|
|
Java_Event_pOnAppPause name 'Java_' + cAppJ + '_pOnAppPause' ,
|
|
Java_Event_pOnAppRestart name 'Java_' + cAppJ + '_pOnAppRestart' ,
|
|
Java_Event_pOnAppResume name 'Java_' + cAppJ + '_pOnAppResume' ,
|
|
Java_Event_pOnAppActive name 'Java_' + cAppJ + '_pOnAppActive' ,
|
|
Java_Event_pOnAppStop name 'Java_' + cAppJ + '_pOnAppStop' ,
|
|
Java_Event_pOnAppBackPressed name 'Java_' + cAppJ + '_pOnAppBackPressed' ,
|
|
Java_Event_pOnAppRotate name 'Java_' + cAppJ + '_pOnAppRotate' ,
|
|
Java_Event_pOnAppConfigurationChanged name 'Java_' + cAppJ + '_pOnAppConfigurationChanged',
|
|
Java_Event_pOnAppActivityResult name 'Java_' + cAppJ + '_pOnAppActivityResult' ,
|
|
|
|
// Control Event
|
|
Java_Event_pOnChange name 'Java_' + cAppJ + '_pOnChange',
|
|
Java_Event_pOnClick name 'Java_' + cAppJ + '_pOnClick' ,
|
|
Java_Event_pOnDraw name 'Java_' + cAppJ + '_pOnDraw' ,
|
|
Java_Event_pOnEnter name 'Java_' + cAppJ + '_pOnEnter' ,
|
|
Java_Event_pOnTimer name 'Java_' + cAppJ + '_pOnTimer' ,
|
|
Java_Event_pOnTouch name 'Java_' + cAppJ + '_pOnTouch' ,
|
|
|
|
// Form Event
|
|
Java_Event_pOnClose name 'Java_' + cAppJ + '_pOnClose' ,
|
|
|
|
// State Event
|
|
Java_Event_pOnGLViewState name 'Java_' + cAppJ + '_pOnGLViewState' ,
|
|
Java_Event_pOnWebViewState name 'Java_' + cAppJ + '_pOnWebViewState' ,
|
|
Java_Event_pOnAsyncTaskState name 'Java_' + cAppJ + '_pOnAsyncTaskState',
|
|
Java_Event_pOnHttpState name 'Java_' + cAppJ + '_pOnHttpState' ,
|
|
|
|
// Camera Preview Event
|
|
Java_Event_pOnCameraFrame name 'Java_' + cAppJ + '_pOnCameraFrame';
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Application StartUp
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Procedure OnAppCreate;
|
|
begin
|
|
App.Form := jForm_Main.Create(nil);
|
|
App.Form.Show;
|
|
end;
|
|
|
|
//------------------------------------------------------------------------------
|
|
// JNI_OnLoad, Unload
|
|
//------------------------------------------------------------------------------
|
|
|
|
Function JNI_OnLoad(vm:PJavaVM;reserved:pointer):jint; cdecl;
|
|
begin
|
|
jLog('JNI_OnLoad');
|
|
Result := JNI_VERSION_1_6;
|
|
//
|
|
jAppInit(App, // App Object Create & Init
|
|
Vm, // Java VM
|
|
cAppName, // App Name
|
|
Screen_Style_Normal, // Screen Style [Normal,Full]
|
|
Screen_Orientation_Portrait, // Screen Orientation [Portrait,Landscape]
|
|
// Screen_Orientation_SENSOR,
|
|
cLogModeOn, // Log Mode (Default : On)
|
|
OnAppCreate); // App Create Event
|
|
end;
|
|
|
|
Procedure JNI_OnUnload(vm:PJavaVM;reserved:pointer); cdecl;
|
|
begin
|
|
jLog('JNI_OnUnload');
|
|
//
|
|
end;
|
|
|
|
end.
|
|
|