• 検索結果がありません。

実行

ドキュメント内 OZ e Form Training Book jp (ページ 70-83)

</html>

Internet Explorerを実行して上記のhtmlを呼び出すとOZ e-Formの設問入力フォームが実行 されます。

② Android Deviceで実行

Android DeviceでOZ e-Formの設問入力フォームはEclipse Projectを利用して実行します。

Eclipse ProjectにOZ Viewer moduleを追加してJava Build Pathに設定し、Activity Class を生成してOZ Viewerを表示するViewを作成します。

ⅰ Eclipse ProjectにOZ Viewer moduleの追加

Projectのlibsフォルダにozrv_android.jar、android-support-v4.jarファイルを追加します。

Projectのlibsフォルダにarmeabiフォルダを生成してarmeabiフォルダにlibozrv.soファイル を追加します。

Project Propertiesダイア ログ を実 行し て"Java Build Path"オ プシ ョン をク リッ クし て [Libraries]タブをクリックし、[Add JARs]ボタンをクリックしてozrv_android.jar、android-support-v4.jarファイルを"JARs and class folers on the build path"オプションに追加しま す。

ⅱ スクリプトの入力

Activityを生成してOZ Viewerを実行できるようにスクリプトを追加します。

package com.forcs.ozreportviewer;

import oz.api.OZReportAPI;

import oz.api.OZReportViewer;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.FrameLayout;

public class OZViewerActivity extends Activity{

OZReportViewer viewer = null;

// so libraryのロード static

{ try {

System.loadLibrary("ozrv");

} catch (Throwable e) {

Log.e("lib", e.getLocalizedMessage(), e);

}

}

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

// OZ Viewer Paraemterの設定

String params = "connection.servlet=http://127.0.0.1:8080/oz60/server";

params += "\n" + "connection.reportname=InputForm.ozr";

// OZ Viewerを表示するView、またはViewGroupの生成 FrameLayout flayout = new FrameLayout(this);

// OZ Viewerの生成

viewer = OZReportAPI.createViewer(flayout, params);

// OZ ViewerActivity Viewに設定 setContentView(flayout);

}

@Override

public void onDestroy(){

super.onDestroy();

if(viewer != null){

viewer.dispose();

viewer = null;

} } }

ⅲ AndroidManifest.xmlの設定

AndroidManifest.xmlを次の通りに設定します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.forcs.ozreportviewer"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="10"

android:targetSdkVersion="15" />

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name=".OZViewerActivity"

android:label="@string/title_activity_ozviewer"

android:windowSoftInputMode="adjustResize"

android:configChanges = "orientation" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

<uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.RECORD_AUDIO" />

<uses-permission

android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.CAMERA" />

</manifest>

ⅳ OZ Viewerの実行

Projectを実行してOZ e-Formの設問入力フォームを実行します。

考事項

OZ e-Formのデザイン時に設定したWindowsで提供するフォントはAndroid Deviceでは提供 されていないため、OZ e-Formのデザイン時にプレビューした結果と異なってフォントが表示

される可能性があります。この場合、Android Appにフォントを含めて配布する必要がありま す。

もし、フォントのライセンス制約でフォントを含むことができない場合にはAndroid Device で互換されるフォントでOZ e-Formをデザインすることを推奨します。

▪ フォントの含み方法

既存Eclipse Projectに次のように追加してください。

ⅰ Eclipse Projectにフォントファイルの追加

Projectのassetsフォルダにresフォルダを生成し、resフォルダにフォントファイル(arial.ttf) を追加します。

ⅱ スクリプトの入力

フォントを含めてOZ Viewerを実行できるようにスクリプトを修正します。

package com.forcs.ozreportviewer;

import oz.api.OZReportAPI;

import oz.api.OZReportViewer;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.FrameLayout;

public class OZViewerActivity extends Activity{

OZReportViewer viewer = null;

// so library Loading static

{ try {

System.loadLibrary("ozrv");

} catch (Throwable e) {

Log.e("lib", e.getLocalizedMessage(), e);

} }

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

// OZ Viewer Parameterの設定

String params = "connection.servlet=http://127.0.0.1:8080/oz60/server";

params += "\n" + "connection.reportname=InputForm.ozr";

params += "\n" + "connection.reportname=InputForm.ozr";

params += "\n" + “font.fontnames=font_arial”;

params += "\n" + “font.font_arial.url=res://arial.ttf”;

params += "\n" + “font.font_arial.name=arial”;

// OZ Vieweを表示するView、またはViewGroupの生成 FrameLayout flayout = new FrameLayout(this);

// OZ Viewerの生成

viewer = OZReportAPI.createViewer(flayout, params);

// OZ ViewerActivity Viewに設定 setContentView(flayout);

}

@Override

public void onDestroy(){

super.onDestroy();

if(viewer != null){

viewer.dispose();

viewer = null;

} } }

ⅲ OZ Viewerの実行

Projectを実行してOZ e-Formの設問入力フォームを実行し、OZ e-Formのデザイン時に設定 したフォ

ントが適用されて実行されることを確認します。

③ iOS Deviceで実行

iOS DeviceでOZ e-Formの設問入力フォームはXcode Projectを利用して実行します。

Xcode ProjectにOZ Viewer moduleを追加してparam.ozファイルにOZ Server情報、OZ e-Formのozrファイル名を設定してOZ Viewerを表示するViewを追加します。

ⅰ Xcode Projectの生成

Xcodeを実行して新規Projectを生成します。

Choose a template for your new projectダイアログで"Single View Application"を選択し ます。

Choose options for your new projectダイアログでProduct Name、Company Identifier などのオプションを設定します。この時、"Use Automatic Reference Counting"オプション は必ずチェック解除してください。オプションを設定して[Next]ボタンをクリックします。

Projectを保存するパスを選択し、[Create]ボタンをクリックしてProjectを生成します。

ⅱ Xcode ProjectにOZ Viewerの追加

Projectが保存されたパスに任意のフォルダを生成します。(本章ではOZViewerフォルダを生

成する)

OZ Viewerのパッチの圧縮ファイルをOZViewerフォルダに解凍します。

Project Navigator WindowsでProject名を右クリックして表示されるポップアップメニュー で[Add Files to "Project名"]メニューをクリックします。Project保存パスのOZViewerフォル ダを選択して"Create groups for any added folders"オプションをチェックし、Add to targetsに表示されたProject名をチェック解除して[Add]ボタンをクリックします。

OZViewerフォルダのファイル中README.TXTファイルを開いてREADME.TXTファイルに明 示された通りにライブラリを追加します。

ⅲ レポート情報の設定

Project Navigator WindowでProject名を右クリックして表示されるポップアップメニューで [New File]メニューをクリックします。Choose a template for your new fileダイアログ で"Empty"を選択して[Next]ボタンをクリックします。

Save Asオプションをparam.ozで入力し、Targetsに表示されたProject名をチェックして [Create]ボタンをクリックします。

param.ozをエディターで開いてバインディングするレポート情報をパラメーター名=パラメ ーター値形式で入力します。

connection.servlet=http://127.0.0.1:8080/oz/server connection.reportname=category_path/sample.ozr

ⅳ スクリプトの入力

ViewController.hファイルに次の通りにスクリプトを入力します。

#import <UIKit/UIKit.h>

#import "OZReportAPI.h"

@interface ViewController : UIViewController {

IBOutlet UIView* _reportView;

}

@property (nonatomic, strong) OZReportViewer* viewer;

@end

ViewController.mファイルに次の通りにスクリプトを入力します。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

if (self) {

// Custom initialization }

return self;

}

- (void) createViewer {

// param.ozファイルに書いているViewer Parameterを適用してOZ Viewerを実行する

NSString* filename = [[NSBundle mainBundle] pathForResource:@"param" ofType:@"oz"];

NSString* strParam = [NSString stringWithContentsOfFile:filename encoding:NSUTF8StringEncoding error:nil];

OZReportViewer* reportViewer = [OZReportAPI viewerWithParam:self view:_reportView param:strParam];

self.viewer = reportViewer;

[reportViewer release];

}

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional stup after loading the view, typically Form a nib.

// ViewLoadされる時、OZ Viewerを実行するcreateViewer関数を呼び出す [self performSelector:@selector(createViewer) withObject:nil afterDelay:0.1];

}

- (void)viewDidUnload {

[super viewDidUnload];

// Release any retained subviews of the main view.

}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);

}

@end

ⅴ Viewの設定

ViewController.xibを選択します。

OZ Viewerを表示するViewを追加してViewのUtilities Windowで属性とサイズなどを設定し ます。

PlaceholdersでFile's Ownerを ク リ ッ ク し てViewのUtilities WindowでShow the Connections inspectorアイコンをクリックします。Outletsで_reportViewの右側にある

RadioButtonをクリックしてOZ Viewerを表示するView領域にDrag & Dropします。

ⅵ OZ Viewerの実行

RunアイコンをクリックしてProjectを実行します。

※ 参考事項

OZ e-Formのデザイン時に設定したWindowsで提供するフォントはiOS Deviceでは提供され ていないため、OZ e-Formのデザイン時にプレビューした結果と異なってフォントが表示され る可能性があります。この場合、iOS Appにフォントを含めて配布する必要があります。

もし、フォントのライセンス制約でフォントを含むことができない場合にはiOS Deviceで互換 されるフォントでOZ e-Formをデザインすることを推奨します。

▪ フォントの含み方法

既存Xcode Projectに次のような過程で追加してください。

ⅰ Xcodeプロジェクトにフォントファイルの追加

Project Navigator WindowでProject名を右クリックして表示されるポップアップメニューで [Add Files to "Project名"]メニューをクリックします。フォントファイルを選択して"Create folder reference for any added folders"オプションをチェックし、Add to targetsに表示 されたプロジェクト名をチェックして[Add]ボタンをクリックします。

ⅱ フォント情報の設定

param.ozをファイルエディターで開いてフォント情報を入力します。

...

font.fontnames=font_arial font.font_aria.url=res://arial.ttf font.font_arial.name=arial ...

ⅲ フォントの含みの確認

ProductsでAppを右クリックして表示されるポップアップメニューで[Show in Finder]メニュ ーをクリックします。Debugダイアログで応用アプリケーションを右クリックして表示される ポップアップメニューで[パッケージ内容表示]メニューをクリックし、フォントファイルが含 まれているかを確認します。

Appendix

ドキュメント内 OZ e Form Training Book jp (ページ 70-83)

関連したドキュメント