HelloWorld – iOS SDK – Xcode,iPhone/iPadアプリ

10月 2, 2010 · Posted in iOS, iPhone開発, Objective-C, Xcode, 基礎 · Comment 

XcodeとiOS SDKでHello,Worldをつくってみる。

How To

プロジェクトの作成

Xcodeを起動して、新規Xcodeプロジェクトを作成する。

iOSアプリケーションの、Window-based Application(ウィンドウベースアプリケーション)を選択。

プロジェクト名を入力。「HelloWorld」(なんでも可)

プロジェクト完成

シミュレーターを実行してみよう。
ビルドと実行ボタンを押す(または、Command+Enterキー)

すてき。

利用するビューの追加と、処理の実装

クラスを追加
「ファイル」→「新規ファイル」(または、Command+N)

クラスのタイプを選択。
左側のビューで、iOSのCocoa Touch Class、右側上段のビューで「Objective-C class」を選択、中段のプルダウンリストより、「UIView」を選択して次へ進む

クラス名入力
「HelloWorld.m」とする。「同時に”HelloWorld.h”も作成」にチェックがある状態で、完了ボタンをクリック。

クラス追加完了

コードを書きましょう。

HelloWorld.mファイルを開いて、drawRectメソッドがコメントアウトされているのでコメントを外す。
そして、コードを記述

- (void)drawRect:(CGRect)rect {
    // 表示する文字をつくって、
    NSString *hello = @"Hello, World";
    // 表示する位置をつくって、
    CGPoint location = CGPointMake(10,20);
    // フォントサイズを作って
    UIFont *font = [UIFont systemFontOfSize:24];
    // フォントカラーを作って
    [[UIColor whiteColor]set];
    // 合体!
    [hello drawAtPoint:location withFont:font];
}

HelloWorldビューは完成。次、HelloWorldAppDelegate.mを開く。
まず、先ほど作成したHelloWorldビュークラスをインポート

#import "HelloWorldAppDelegate.h"

// ↓これ
#import "HelloWorld.h"

@implementation HelloWorldAppDelegate

ウィンドウにHelloWorldのビューを合体

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [window makeKeyAndVisible];

    // 作って、
    HelloWorld *view = [[HelloWorld alloc]initWithFrame:[window frame]];
    // くっつけて
    [window addSubview:view];
    // 解放!
    [view release];

    return YES;
}

実行!

とってもかんたん。

Xcode ショートカットキー

10月 2, 2010 · Posted in iPhone開発, Xcode, 基礎 · Comment 

ショートカットキーを利用して効率のよい開発を!

ビルド
Command+B

ビルドと実行
Command+Return

実行
Option+Command+Return

ヘッダファイル(.h)と実装ファイル(.m)間の移動
Option+Command+↑

(続く)

SLF4J(Simple Logging Facade for Java)

9月 30, 2010 · Posted in Java, SLF4J · Comment 

SLF4J。Javaのロギングフレームワークのトレンド。
様々なロギングライブラリのFacadeとして利用する。

環境設定(eclipse+maven2. 直接jarファイルを入手する場合は以下の手順は無視!)

1.eclipseにMaven2プラグインを導入する

m2eclipse
m2eclipse – EclipseでMaven2を利用するためのプラグイン

2.プロジェクトを作成してMavenの管理を有効にする

ファイル→新規→プロジェクト→その他→Javaプロジェクトを作成。作成したら、プロジェクトのコンテキストメニューから、「Maven]→「Enable Dependency Management」を選択。

3.pom.xmlの修正

プロジェクト上に作成されたpom.xmlを開き、Dependencyタブを選択する。

addボタンを押して、以下のように設定する。

  • org.slf4jと入力→slf4j-apiを追加(本体)

今回の例ではSLF4Jとlogbackを連携させるため、logbackの必要ライブラリも同時に入手しておく。
実務などで、利用しない場合は不要。

  • ch.qos.logbackと入力→logback-coreを追加(logback本体)
  • ch.qos.logbackと入力→logback-classicを追加(slf4jとlogback連携用)

HelloWorld!

クイックスタート

Main.java

package sample;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
	public static void main(String[] args) {
		Main m = new Main();
		m.execute();
	}

	public void execute() {
		Logger logger = LoggerFactory.getLogger(Main.class);
		String message = "Hello SLF4J!";
		logger.trace(message);
		logger.debug(message);
		logger.info(message);
		logger.warn(message);
		logger.error(message);
	}
}

とりあえず、設定ファイルなしに実行。

コンソールにtraceを除くログが出力された。

コンフィグファイル(logback.xml)を作成してログ出力

デフォルトではdebugレベルに設定されているようなので、設定ファイルを追加してtraceログも出力してみる。
ライブラリにlogbackを利用しているのでクラスパス配下にlogback.xmlを追加。

logback.xml

<configuration>
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<Target>System.out</Target>
		<layout class="ch.qos.logback.classic.PatternLayout">
			<Pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
			</Pattern>
		</layout>
	</appender>

	<logger name="sapmle.core">
		<level value="INFO" />
	</logger>

	<root>
		<level value="TRACE" />
		<appender-ref ref="STDOUT" />
	</root>
</configuration>

実行

でた!

別のロギングライブラリを利用してみる

log4j。

依存関係の変更

  • log4j(本体)
  • slf4j-log4j(slf4jとlog4j連携用)

log4j用設定ファイル(log4j.properties)を設置

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p %c{1} - %m%n

log4j.rootLogger=debug, stdout

コードは修正なし!!!!!!

実行

その他

Log4jからlogbackへの乗り換えは、log4j.properties to logback.xml Translatorが便利!!

めでたしめでたし。

« 前ページへ次ページへ »