<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>j2objc &#8211; blog.fukata.org</title>
	<atom:link href="/archives/tag/j2objc/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>旅するプログラマ</description>
	<lastBuildDate>Fri, 11 Aug 2017 22:58:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.6</generator>
	<item>
		<title>[メモ]j2objcでHello Worldやってみた</title>
		<link>/archives/7206/</link>
					<comments>/archives/7206/#comments</comments>
		
		<dc:creator><![CDATA[fukata]]></dc:creator>
		<pubDate>Wed, 19 Sep 2012 01:03:23 +0000</pubDate>
				<category><![CDATA[開発]]></category>
		<category><![CDATA[j2objc]]></category>
		<guid isPermaLink="false">http://fukata.org/?p=7206</guid>

					<description><![CDATA[GoogleがJavaコードからObjective-Cコードに変換するツールを公開したので早速触ってみた。 xcodeを使わずにとりあえずコマンドラインから実行してみる。 広告 ソースは下記から落とし ... <a href="/archives/7206/"> 続きを読む</a>]]></description>
										<content:encoded><![CDATA[<p>GoogleがJavaコードからObjective-Cコードに変換するツールを公開したので早速触ってみた。</p>
<p>xcodeを使わずにとりあえずコマンドラインから実行してみる。</p>
<p><span id="more-7206"></span></p>
<div class="ad_section"><div class="ad_title">広告</div><div class="ad_body"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- blog-content-bottom1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-9703571485671477"
     data-ad-slot="4353022998"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div></div>
<p>ソースは下記から落とし、makeすればbuild_resultにj2objcファイルが出来上がっていると思う。</p>
<p><a href="https://code.google.com/p/j2objc/" title="j2objc - A Java to iOS Objective-C translation tool and runtime. - Google Project Hosting" target="_blank">j2objc &#8211; A Java to iOS Objective-C translation tool and runtime. &#8211; Google Project Hosting</a></p>
<pre>
git clone https://code.google.com/p/j2objc/
cd j2objc
make
</pre>
<pre lang="java">
package org.fukata.j2objc;

class Hoge {
    public static void main(String[] args) {
        System.out.println("Hello j2objc");
    }   
}
</pre>
<p>実際に変換してみる</p>
<pre>
~/usr/local/bin/j2objc \
-classpath /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre/lib/rt.jar \
-d ./result/ ./src/org/fukata/j2objc/Hoge.java
</pre>
<p>すると、resultディレクトリ以下に下記のような感じでファイルが生成されているはず。</p>
<pre>
result
└── org
    └── fukata
        └── j2objc
            ├── Hoge.h
            └── Hoge.m
</pre>
<h2>Hoge.h</h2>
<pre lang="objc">
//
//  Generated by the J2ObjC translator.  DO NOT EDIT!
//  source: ./src/org/fukata/j2objc/Hoge.java
//
//  Created by tatsuya on 9/19/12.
//

@class IOSObjectArray;

#import "JreEmulation.h"

@interface OrgFukataJ2objcHoge : NSObject {
}

@end
</pre>
<h2>Hoge.m</h2>
<pre lang="objc">
//
//  Generated by the J2ObjC translator.  DO NOT EDIT!
//  source: ./src/org/fukata/j2objc/Hoge.java
//
//  Created by tatsuya on 9/19/12.
//

#import "IOSObjectArray.h"
#import "org/fukata/j2objc/Hoge.h"

@implementation OrgFukataJ2objcHoge

@end


int main( int argc, const char *argv[] ) { 
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  IOSObjectArray *args = JreEmulationMainArguments(argc, argv);

  NSLog(@"%@", @"Hello j2objc");
  int exitCode = 0;

  [pool release];
  return exitCode;
}
</pre>
<p>既存のjavaコードに対しても何かかけてみたくなる。</p>
<p>汎用性の高いライブラリ、コードをAndroid、iOSアプリで使いまわす時に便利なのかも。</p>
]]></content:encoded>
					
					<wfw:commentRss>/archives/7206/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
