ラベル Android の投稿を表示しています。 すべての投稿を表示
ラベル Android の投稿を表示しています。 すべての投稿を表示

2013年6月24日月曜日

医療スタッフツール添付文書検索 for Android

医療情報事務所一貫堂ではこれまでに「添付文書検索ツール」を薬剤師必携の添付文書閲覧アプリケーションとしてご提供させて頂いて参りました。

この度さらに機能が充実して新たに「医療スタッフツール添付文書検索」として生れ変りました。






これまでの医療用医薬品と一般用医薬品の添付文書のみならずPMDAで提供されている体外診断薬や医療機器の添付文書検索・閲覧にも対応しました。

またタブレットでの2ペイン表示や添付文書の複数比較閲覧、そして表示履歴リスト等にも新たに対応しまったく新しいアプリケーションとして生まれ変わりました。

それぞれの機能については本ブログにて少しずつご紹介して行きたいと考えております。

添付文書検索ツール同様、新しくなった「医療スタッフツール添付文書検索」を宜しくお願い致します。

2011年10月2日日曜日

メディア初登場!?

はてさて拙作添付文書検索ツールが雑誌に掲載されました。

掲載されたのはGetNaviという情報雑誌の11月号。

はじめての事なのでちょっと嬉しい・・・ものの添付文書というものがどういうものなのかちゃんと認識されてない点がちょっと残念です。


でもこの雑誌はとりあえず永久保存ということにしましょう。ちゃんとスキャンして画像としても残したので記念ぱぴこ。

2011年9月20日火曜日

AndroidLibraryプロジェクトの作成とテスト(2)

 ちょっと間があいてしまいましたが前回の続きです。


 今回は実際にテストを作って実行する部分について紹介したいと思います。ではまずはテスト対象となるクラスをライブラリプロジェクトに作成したいと思います。



 ライブラリプロジェクトのパッケージ直下にクラスを作成するためにコンテキストメニューから「新規」-「クラス」を選択し以下の新規Javaクラスダイアログを表示します。


 クラス名はプロジェクトと同じ「AndroidLibrary」としました。他は今回なにも変更をしていません。



 作成されたクラスファイルにとりあえずコンストラクタメソッドのみ作成して続いてテストクラスを作成します。私はQuickJUnitを利用しているのでAndroidLibraryクラスに対するテストクラスが未作成状態ではCtrl+9で以下のようなダイアログが開きます。既にテストクラスが作成されている場合にはテストクラスがパースペクティブに表示されテスト対象クラスとテストクラスをショートカットで行き来することが出来ます。


 ここで「はい」と答えると新規JUnitテスト・ケースダイアログが表示されますのでテストクラスを生成させましょう。



 ソース・フォルダーがLibraryプロジェクトのsrcフォルダがデフォルトで指定されているのでLibraryテストプロジェクトのsrcフォルダに変更しておきます。またスーパークラスをAndroidTestCaseに変更してあります。



 作成したAndroidLibraryTestクラス内にとりあえず簡単なテストを作成しました。AndroidLibraryクラスのインスタンスを生成してそのインスタンスがAndroidLibraryクラスのものであるか確認しているだけです。コンストラクタメソッドは既に作成してあるのでテストファーストじゃありませんが今回は気にしません。



 また「新規作成」-「その他」から「Java」-「JUnit」-「Junitテスト・スイート」からAllTestsクラスを作成して配下のテストクラスを収集するよう実装しました。


 ここで一点注意が必要です。プロジェクトを作成したときに自動ビルドの設定になっている場合空プロジェクトがビルドされて既にapkファイルが作成されています。この状態でテストを実行するとエミュレータにLibraryプロジェクトのパッケージがインストールされてしまいテストが上手く実行出来なくなってしまいます。Libraryプロジェクトフォルダ内のbinフォルダは以下のようになっていることと思います。


 これら3つのファイルは必要ありませんのでテスト実行前に必ず削除しておくようにしてください。そうしないとエミュレータ起動ごとにAndroidライブラリパッケージがエミュレータにインストールされてしまいアンインストールしないとテスト実行が出来なくなってしまいます。もしインストールが実行されてしまった場合は.settingあたりを一度削除する必要があるかもしれませんがそこまでは検証していません。



 さて実際のテストの実行ですが「実行構成」を開き通常のAndroidテストと同じように設定を行います。ここは特に詳しい説明は必要ないことでしょう。


 そしてテストを実行するともちろんコンストラクタクラスが作られているのでグリーンです。


 いかがだったでしょうか。注意点はあるもののお手軽にライブラリプロジェクトのテストを行うことが出来ます。ライブラリなのでandroid.jarに依存しないものであれば普通のJavaプロジェクトとして作成したほうがテスト実行速度も速く優位だと思いますがどうしてもandroid.jarに依存してしまう場合にはこの手法でテストが可能となることと思います。


 さてさてこの手法を用いてライブラリを作成しなくちゃ!

2011年9月17日土曜日

AndroidLibraryプロジェクトの作成とテスト(1)

ADTの機能としてLibraryProjectの作成がある。たしか0.9.7あたりから追加されたものだったと思うが複数のアプリケーションから参照が可能なLibraryプロジェクトが作成可能となっています。


ライブラリであるので当然このLibraryプロジェクトはjarとしてbuildされ複数のAndroidプロジェクトで利用可能ということです。


しかもADTの機能としてLibraryプロジェクトをライブラリとして参照するとそのAndroidプロジェクトの中からもソースコードの添付等を経ずソースコードの参照可能となり使い勝手の面で大きなメリットがあるように思われます。


@ussy00さんのブログで春頃に紹介されていますが画像が無くなってしまっているようなのでATECの一員として後追い記事ではあるものの詳細をまとめてみようと思います。


ということで先ずはLibraryプロジェクトとLibraryテストプロジェクトの作成から行なってみたいと思います。




まずは新規作成より通常のAndroidプロジェクトの作成と同様に「Androidプロジェクト」を選択します。作成仮定としてはAndroidプロジェクトとほぼ同じですが一点だけ違うのはAcitivyを作成しないということです。


上記のようにプロジェクト名を付け内容の部分についてはそれぞれの環境にあわせて設定を行ってください。ビルド・ターゲットとしては今回はAPIレベル7を選択しました。



パッケージ名をを指定した下の部分でAndroidプロジェクトではアクティビティ名を入力してアクティビティクラスを自動生成させていると思いますが今回のライブラリではAcitivityは使わないという設定にしてチェックを外しています。「次へ」ボタンを押してテストプロジェクトも一緒に作成します。


こちらはデフォルトのままでOKです。変更する必要がある場合は随時行なってください。


私はQuickJUnitを使う関係でパッケージ名をAndroidプロジェクトと同じにするようにしています。このあたりも好みかと思いますので自由に設定しましょう。「完了」ボタンを押すと上記ではAndroidLibraryプロジェクトとAndroidLibraryTestプロジェクトの二つがパッケージエクスプローラに表示されるようになったかと思います。続いてそれぞれのパッケージについてLibraryプロジェクトとする設定を行います。


パッケージエクスプローラでAndroidLibraryプロジェクトを右クリックしてコンテキストメニューからプロパティを選択しその中のAndroid項目を開きます。


下の「ライブラリー」という中の「Is Library」にチェックを入れこのプロジェクトがLibraryプロジェクトであることを設定します。続いてAndroiManifest.xmlを開きます。


上記はAndroidManifest.xmlファイルのアプリケーションタブの一部です。上部にある「Define an <application> tag in the AndroidManifest.xml」のチェックが入っていると思うのでこれを外します。


するとAndroidManifest.xmlファイルは上記のようにとても簡単な物になります。


続いては必要のなresフォルダの中身を削除してしまいましょう。リソースを利用する場合は残しておいても構いませんが初期設定で置かれるiconやlayout/main.xmlやvalues/string.xmlは必要ないことが多いのではないかと思います。genフォルダ、assetsフォルダそしてresフォルダ自身は残しておかないとコンパイル時にエラーとなってしまうようです。


続いてはAndroidLibraryTestプロジェクトのプロパティを設定します。先程「Is Library」にチェックを入れた部分で「追加」ボタンを押しAndroidLibraryプロジェクトをライブラリとして登録します。



登録すると上記のように表示されライブラリとして追加されたことが表示されます。



またパッケージエクスプローラ上ではAndroidLibrary_srcとして参照されていることがわかるかと思います。この中身はAndroidLibraryプロジェクトのsrcフォルダがそのままリンクされているような感じで表示されています。こちらからファイルを変更してもAndroidLibraryプロジェクトの内容に反映してくれるようです。


ちょっと長くなってきてしまったのでとりあえずこのあたりでいったん〆め。
次の記事では実際にテストを実行するまでをご紹介します。

2011年8月13日土曜日

AndroidTestCaseを継承したテストケースでテストプロジェクト内のリソースを利用

今日は朝一から外出して若松通商さんで愛用のT61のCPUFan交換後、第一回Androidテスト・ソースコードリーディングに参加してきました。

ちょっと人数が少なめで寂しかったですがデ部とのダブルブッキングやら時期的な事を考えると致し方ないことだったでしょうか。
少人数でスイーツを頂きながらまったりとActivityInstrumentaionTestCase2あたりを眺めてきました。

その中で先日からハマっていたAndroidテストパッケージの中のassets以下のファイルにアクセス出来ない問題についてmike_neckさん例を提示して頂いたのでAssetManagerの呼び出しに@hideされているgetTestContextメソッドを利用してアクセス出来るようになりました。

public class AndroidExtendedTestCase extends AndroidTestCase {

    public Context getExTestContext() {
        Context context = null;
        @SuppressWarnings("unchecked")
        Class clz = (Class) this.getClass();
        try {
            Method method = clz.getMethod("getTestContext");
            context = (Context) method.invoke(this);
        } catch (SecurityException e) {
            fail();
        } catch (NoSuchMethodException e) {
            fail();
        } catch (IllegalArgumentException e) {
            fail();
        } catch (IllegalAccessException e) {
            fail();
        } catch (InvocationTargetException e) {
            fail();
        }
        return context;
    }
}

まんまソースを頂いてループしてしまっているようだったのでメソッド名をちょっと変更しましたがこのAndroidExtendedTestCaseを継承したテストケースクラスで

AssetManager assetMgr = getExTestContext().getAssets();
// filenameはassetsファイル以下相対パスを指定
InputStream is = new InputStream(assetMgr.open(filename));

という感じでばっちりと読み込むことが出来ました。@mike_neckさんいつもありがとうございます。