iOSでボタンを角丸にする方法

今回はiOSのボタンを角丸にする方法を紹介する。 (実装環境:Xcode 7.3.1) 1.ButtonをView上に配置する 2.Buttonの大きさと背景色を変更する (角丸になったことが分かりやすくするための手順で必須ではない) 3.ButtonにUser Defined Runtime Attributesを追…

AdroidのToastを自作する方法

Androidアプリでユーザへの通知によく利用されるものの一つが「Toast」である。 簡潔なコードで記述でき、ユーザの注意を引くことができる。今回はToastの様なものを自作する方法を紹介する。元々存在するToastを自作する理由としては、自作する事により自由…

Android StudioのプロジェクトにAARを取り込む方法

一昔前はAndroidアプリで使用するライブラリといえばJAR形式が一般的であったが、最近はAAR形式が用いられる事も多くなってきた。 今回はAAR形式のライブラリをAndroid Studioに取り込む方法を紹介する。 1.サブプロジェクトとしてaarファイルをプロジェクト…

Androidアプリで1次元バーコードを作成する方法3

今回も前回に引き続き、ライブラリを使用せず1次元バーコードを作成・表示する方法を紹介する。 前回はライブラリを使用せず「CODABAR(NW-7)」規格のバーコードを作成・表示したが、今回は「CODE39」規格のバーコードを作成・表示する方法を紹介する。「CODA…

Androidアプリで1次元バーコードを作成する方法2

前回は「ZXing」ライブラリを使用して、Androidアプリで1次元バーコードを作成・表示する方法を紹介した。 今回はライブラリを使用せず、全て自前で1次元バーコードを作成・表示する方法を紹介する。今回も1次元バーコード規格は「CODABAR(NW-7)」に限定する…

Androidアプリで1次元バーコードを作成する方法1

今回はAndroidアプリで1次元バーコードを作成する方法を紹介する。 バーコードの作成は、Googleが開発した「ZXing」というライブラリを使用する。1次元バーコードには様々な規格が存在するが、今回は「CODABAR(NW-7)」規格の作成方法を紹介する。 1.Gradleの…

Androidにおける遅延実行の実装方法

今回はAndroidにおける遅延実行の実装方法について紹介する。 遅延実行とは、名前から予想できる通り、遅らせて処理を実行することである。 Handlerクラスの「postDelayed」メソッドを使用して、指定した時間後に、指定した処理を実行する。postDelayedメソ…

メインスレッド以外でUIを変更する方法

Androidアプリにおいて、メイン(UI)スレッド以外のスレッドで、UIを変更しようとすると、実行時に下記の例外が発生する。 これは「UI部品の操作はUIスレッドから行わなければならない」というAndroidの制約のためである。今回は、メイン(UI)スレッド以外から…

WebView上でのリクエストをフックする方法

Androidアプリ上でWebページを表示したい場合は「WebView」を使用することになる。 今回はWebViewで表示したWebページ上のリンクがユーザによりタップされた場合に、それをアプリで検知する方法を紹介する。 1.WebViewでWebページを表示できる様にする 2.Web…

ブログを新設しました

ブログを新設しました。 以下の記事は「MoonMt.Lab IT開発技術 調査報告書」から移行したものです。

Android(Java)でメソッドの呼び出し元を確認する方法

筆者は他人が作成したコードを分析する時によく使います。 呼び出し元の「クラス名」「メソッド名」「行数」が標準出力に表示されます。 StackTraceElement ste = Thread.currentThread().getStackTrace()[3]; System.out.println("caller class:" + ste.get…

iOSアプリ開発で日時を扱う時の注意点(暦と24時間表示の設定)

今回は、iOSアプリ開発で日時を扱う時の注意点を紹介する。 日付型である「NSDate」型を、文字列型である「NSString」に変換する際、「NSDateFormatter」クラスを使用することが一般的である。 ただ、NSDateFormatterの設定によっては意図しない変換が行われ…

REST風サービスをJavaEEで構築する方法13(SQLログ編)

今回はEntityManagerで実行したSQLをログに出力する方法を紹介する。REST風サービスをJavaEEで構築する方法09(DB接続設定編)で生成した「persistence.xml」を編集する。 プロジェクトツリー上の[構成ファイル]>[persistence.xml]をダブルクリックしてファイ…

REST風サービスをJavaEEで構築する方法12(DAO層編3)

前回はSQLを使用して、1つテーブルに対して検索する方法を紹介した。 今回はSQLを使用して、複数テーブルを結合した検索の方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) ・REST風サービスをJavaEEで構…

REST風サービスをJavaEEで構築する方法11(DAO層編2)

前回はDao層の基本的な実装方法を紹介した。 今回はSQLを使用したDB操作の方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) ・REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編) ・REST風サー…

REST風サービスをJavaEEで構築する方法10(DAO層編1)

前回はDBに接続するための設定方法を紹介した。 今回は、その接続設定を使用して、実際にDBのデータを読み書きする方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) ・REST風サービスをJavaEEで構築する…

REST風サービスをJavaEEで構築する方法09(DB接続設定編)

今回はJavaEEからDataBase(MySQL)に接続する方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) ・REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編) ・REST風サービスをJavaEEで構築する方法03…

REST風サービスをJavaEEで構築する方法08(Logic層編)

今回はLogic層の実装方法を紹介する。前回までサーバ側の処理はApi層のクラスある「SampleApi」に記述してきた。 しかし、Api層はRESTクライアントからの処理要求を受け付ける役割を行うクラスであり、詳細な処理を記述するべきではない。 詳細な処理はLogic…

REST風サービスをJavaEEで構築する方法07(JSON返却編2)

今回は前回に引き続き、REST風サービスからRESTクライアントへJSON形式を返却する方法を紹介する。 前回はJSON形式のデータを生成する前準備としてMapを利用したが、今回はより実践的なDTO(Data Transfer Object)を利用する方法を紹介する。 下記の記事を読…

REST風サービスをJavaEEで構築する方法06(JSON返却編1)

今回はREST風サービスからRESTクライアントへ、JSON形式のデータを返却する方法を紹介する。前回まで作成したREST風サービスは、処理結果として単純な文字列を返却するものであった。 REST風サービスの場合、処理結果をJSON形式で返却することが多いので、今…

REST風サービスをJavaEEで構築する方法05(パラメータの受け取り編)

今回はRESTクライアントからREST風サービスへパラメータを送信する方法を紹介する。 具体的には「@QueryParam」「@FormParam」「@PathParam」を使用し、受け取るパラメータを定義する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する…

REST風サービスをJavaEEで構築する方法04(各メソッド編)

前回までは、GETメソッドのみを対象としてきたが、今回はGETメソッド以外(POST、PUT、DELETE)の実装方法を紹介する。 簡潔に実装方法を説明すると、これまで「@GET」を指定していた箇所で、「@POST」、「@PUT」、「@DELETE」を指定することになる。 下記の記…

REST風サービスをJavaEEで構築する方法03(RESTクライアント編)

今回はJavaScript(jQuery)を使用して、簡単なRESTクライアントを作成し、前回作成したREST風サービスを実行する方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) ・REST風サービスをJavaEEで構築する方法…

REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編)

今回は最低限のREST風サービスを構築する方法を紹介する。 下記の記事を読了していること。 ・REST風サービスをJavaEEで構築する方法01(導入編) Api層の実装を行う。 1.プロジェクトの作成 2.クラスの作成 3.クラスを記述する 4.ApplicationConfigクラスを自…

REST風サービスをJavaEEで構築する方法01(導入編)

これから何回かにわたりJavaEEを用いて、REST風サービスを構築する方法を紹介する。REST風と記述している理由 ここでは厳密にRESTfulと呼べるものを追い求めるのでは無く、業務としてのシステム構築を見据えて、各手法を紹介したいためである。 (厳密なRESTf…

iOSアプリ間でデータを共有する方法(Custom Paste Board)

今回は、iOSアプリ間で、データを共有する方法を紹介する。通常、iOSアプリはアプリ毎に独立した領域にデータを格納するため、別アプリのデータを利用することは出来ない仕組みになっている。 セキュリティ面を考えると、この仕組みは非常に有用であるが、利…

iOSアプリ開発でNSErrorの情報を出力する拡張NSLogを定義する方法

今回はNSLogを拡張して、NSErrorの情報を出力する識別子の定義方法を紹介する。わざわざ新しい識別子を定義しなくても、NSErrorの情報をログに出力することは可能であるが、記述が少々長くなってしまう。 今回紹介する方法を用いれば、NSErrorの変数を直接引…

iOSアプリ開発でログにログレベルを導入する方法

iOSアプリ開発でログを出力する場合「NSLog」を使用するが、Javaでログ出力に用いられるLog4Jのログレベルの様な考え方は存在しない。 今回はiOSアプリ開発でログにログレベルを導入する方法を紹介する。 Log4Jのログレベルは、設定値によって出力するログを…

iOSアプリ開発でログにクラス名とメソッド名を出力する方法

iOSアプリ開発でログを出力する場合「NSLog」を使用するが、「NSLog」の出力には出力したクラス名やメソッド名が含まれない。 これだとログに出力する文言に気を使っておかなければ、不具合箇所を特定するのに時間がかかることがある。 今回はログにクラス名…

iOSアプリ開発で画面のフリーズを抑止する方法

ユーザのUI画面へのアクションで、時間を要する処理(例:通信処理、DB処理)を実行すると、処理が完了するまで画面がユーザの操作を受け付けなくなる。この状態は良いユーザビリティとは言えない。 今回はiOSアプリ開発で画面のフリーズを抑止する方法を紹介…