2014年2月26日水曜日

Google Plugin for Eclipse 導入時の JRE エラー

ADT(というかEclipse)に Google Plugin for Eclipse を導入しようとして地味にハマったのでメモ。ちなみに、Cloud Endpoints なるものを使っての Android と GAE の連携を試してみたくて導入を試みた次第です。環境は Mac OS X 10.9.2 & Eclipse 4.2 です。
さて、Install は非常に簡単です。
  1. Help > Install New Software... を開く
  2. Work with のフォームに https://dl.google.com/eclipse/plugin/4.2 と入力  (この最後の4.2の部分をEclipseのバージョンに併せてください。)
  3. Select All して、あとは流れにしたがって終了
さて問題はここからで、インストール後に Eclipse を再起動したら、下記のようなエラーが出ました。
JRE version is 1.6.0; version 1.7.0 or later is needed to run Google Plugin for Eclipse
JRE のバージョンが古いよ、ということなのでアップデート。アップデートについては割愛。そしてアップデートして Eclipse を再起動したところ、なんとまだ同じエラーがでました。。
色々調べたところ、解決策として下記の3説が出てきました。
  1. JRE 1.7 がコマンドラインしか起動できない設定だから説
  2. EclipseのPreferenceで設定を変更する必要があるよ説
  3. eclipse.ini を編集する必要があるよ説
全部試してみたところ、結局原因は3の eclipse.ini でした。OSによって設定方法が違うので、詳しくはEclipse Wikiを見てください。

Mac OS X の場合、eclipse.ini は Eclipse.app/Contents/MacOS/ あたりにあります。
これに、下記のコードを追加してください。

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

これでEclipseを再起動すればエラーが消えるはずです。
Google Cloud Endpoints 使ってみたらまたまとめます。

2014年2月15日土曜日

[Android] 開発の勉強初期に役立つリソース2つ

最近、改めてAndroid開発の勉強をしているのですが、そこで参考にしているものを2つ紹介します。

1. Androidプログラミングの教科書(書籍)

Androidプログラミングの教科書という、僕が最初に買ったAndroid本です。
プログラミング「入門」本というのは、基礎にはあまりつっこまずに、ひたすら応用がかいてあるものが多い気がします。特にアプリ系だと、もう3章くらいで「カメラアプリを作ってみよう」みたいな感じで。
そういう本だと「動いたぜ」という満足感は得られるものの、いざ自分でオリジナルのものをつくろうとした時に手が動かなくなってしまいます。

この本は完全にAndroid初心者向けであるものの、全体を通じて応用に特化した章はなく、基礎から製品テストまでの開発に必要な知識が分野ごとに詳しく書いてあります。
そういう意味では、取っ付き易いO'Reilly本という感じです。

この本のサンプルを動かしても何も面白いものは載っていないため、とりあえず何か動くものを作りたい、という人には不向きですが、きちんと基礎から詳しく勉強したいという人にはおすすめの一冊です。

2. Mixi 新人研修資料 (GitHub) 

Android Development Training Course Repository

Mixiさんの新人研修資料で、Githubで公開されているものです。
Mixi::Engineers::Blogによると、こういったものをオープンにしていくことで相互研鑽をしていきたいとのことで、大変ありがたいです。

さすがに企業の研究資料だけあって実践的でよくまとまっています。
ある程度基礎を踏まえたあとで、リファレンスとして使用すると便利です。


基本的には「xxの機能がほしい」という時に「xx Android 開発」とかでググって上位に出てきたサイトを読みあさるか、Stack Overflow先生で探すのですが(ここになかったら相当しょっぱいことで悩んでいる証拠)、上記2つは開発中常に手元においております。ご参考まで。

2014年2月9日日曜日

Blogger でソースコードを綺麗に貼る

突然ですが、技術ブログをちゃんと書こうと思い立ちました。
技術ブログを書くにはソースコードを綺麗に表示することが必要なので、今回は準備として、その方法を調べました。

SyntaxHighlighterを使います。
こちらのブログを参考にさせてもらいました!)

1. 基本的な準備

最初に流れを書くと下記のような感じです。
  1. Syntax Highlighter Scripts Generator で、タグを取得
  2. 上のタグをテンプレートのHeaderにコピペ
Generator では、ソースを表示する際のDesign Themeの選択と、利用予定の言語を選択します。


「Generate」ボタンを押すと、タグが発行されます。
例えば、Python、Java、JavaScript、HTMLを選択したときのタグは下記のとおりです。

<link href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css" rel="stylesheet" type="text/css"></link>
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" rel="stylesheet" type="text/css"></link>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript"></script>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js" type="text/javascript"></script>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js" type="text/javascript"></script>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js" type="text/javascript"></script>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>

あとはこのタグをテンプレートのHeaderにコピペすれば準備完了です。

2. 使い方

<pre>タグで囲むだけです。<pre>タグの書式は、

<pre class="brush: alias"></pre>

上の"alias"の部分を言語に合わせて、java、html等を代入してください。
またこのpreタグには色々な拡張があり、たとえばインデントためのTab幅を設定するtab-sizeなんかがあります。詳しくはSyntaxHighlighter.configを御覧ください。

3. カスタマイズ・注意点

デフォルトだと右上にソースコード領域に"?"ボタンがでるので、これを消します。公式サイトへのリンクなのですが、申し訳ないですが邪魔なので。。
消し方は簡単で、下記のコードをGeneratorで発行したタグに追加するだけです。

SyntaxHighlighter.defaults['toolbar'] = false;

最後に、注意点が2つ。
まず、これはBloggerのプレビューには反映されません。投稿して確かめるしか無いです。
あと、ソースはHTMLとして直接書くので、HTMLなどのコードを表示しようとすると"<"を書く場合は"&lt;"と書く必要があります。この変換は何かのエディタでやっても良いですが、下記の技を使うと便利です。
  1. 投稿画面の普通のリッチテキストモードにHTMLコードを貼る
  2. HTML作成モードに移ると"<"が"&lt;"に変換されているので、それを<pre>タグで囲む
せっかく準備したので、これからどしどしブログ更新します。