ブログ::=(メモ|落書き)帳

一人前になれないプログラマのメモと落書き

Eclipseを使ったheadless applicationの作成方法

なんとなくEclipseのheadlessモードでplug-inを実行できぬものかと調べてheadless applicationに行き着いたのでブログに残しとく。
plug-in作成なのでEclipseにはPDEがインストールされてることを前提とする。

テンプレートからHeadless Applicationを作成

  1. 「File」->「Plugin-Project」->「Other...」で新規作成ウィザードを立ち上げる。
  2. 「Plugin-in Project」を選択して「Next>」をクリックする。
  3. project nameを入力して「Next>」をクリックする。
  4. Optionsの「Generate an acivator, a Java class that controls the plug-in's life cycle」のチェックをはずす。「This plug-in will make contributions to the UI」のチェックをはずす。またRich Client Applicationは「yes」のまま、「Next>」をクリックする。f:id:radian19831019:20130321000032p:plain
  5. 「Headless Hello RCP」を選択して「Finish」をクリックする。※ここで「Headless Hello RCP」が選択できない場合、前のページの設定を再度確認する。

アプリケーションの実行

プロジェクトはプラグインとしてエクスポートした後、{eclipse.home}/pluginsディレクトリにいれ、以下のようにコマンドから実行する。

eclipse -application ${plug-in name}.application

${plug-in name}にはプロジェクト作成時に入力したplug-in idを入力する。

以下のサイトを参考にさせていただきました。感謝!
Add headless capability to existing eclipse plugin - Stack Overflow
Code & Me: Creating a headless application

Xperia SO-01B をAndroid2.3.3にアプデした

使わなくなって1年経つ初代Xperiaを今更ながらAndroid2.3.3にアップデートしてカスタムROMいれて無事動かせたので手順をメモっときます。


環境/準備

  • PC: Ubuntu 12.04
  • Flashtool: v0.9.10.1
  • Sony Ericsson純正2.3.3ROM: X10i_3.0.1.G.0.75_GLOBAL-GGL GENERIC 1232-9897.ftf
  • カスタムROM: ThGo2_v18.0c

root化 & バックアップ

  1. PCにFlashtoolをFlashtool -- Xperia devices flashingのInstallationからダウンロードしてインストールする。FlashtoolはWindows/Linux/Mac向けがある。
  2. Xperiaの設定をUSBデバックモードに変更するため、「設定」→「アプリケーション」→「開発」→「USBデバッグ」にチェック入れる。
  3. Flashtoolを起動する。
  4. XperiaをUSBで接続する。
  5. Xperiaのrootを取得するため、Flashtoolの南京錠アイコンをクリックする。
  6. Xperiaを再起動する。
  7. xRecoveryをXperiaにインストールするため、Flashtoolの+アイコンをクリックして0.3GBを選択してOKをクリックする。
  8. xRecoveryを起動するため、Xperiaを再起動し、Sony Ericssonのロゴが出たらXperiaの←ボタンの長押しを何回も行う。
  9. xRecoveryが起動したら「Backup and Restore」→「Backup」を選択する。(音量ボタン:上下移動、HOMEボタン:決定)

Android 2.3.3にアップデート

  1. X10i_3.0.1.G.0.75_GLOBAL-GGL GENERIC 1232-9897.rarをxperia x10 | 所感 ~android~からダウンロードし解凍する。
  2. FlashToolのインストール先のfirmwares/ディレクトリにX10i_3.0.1.G.0.75_GLOBAL-GGL GENERIC 1232-9897.ftfをコピーする。
  3. FlashToolを起動し、稲妻アイコンをクリックをクリックしてFlashmodeを選択してOKをクリックする。
  4. X10iを選択してOKをクリックする。(このときXperiaはPCから外しておく)
  5. Xperiaの電源切って←ボタン押しながらPCにUSBで接続する。
  6. LEDが緑色に光ったら←ボタンを離す。
  7. FlashToolの書き込みが終わったら、Xperiaを再起動してAndroid 2.3.3で起動することを確認する。
  8. 上記root化 & バックアップの手順でroot取得、xRecoveryのインストール、Backupを行う。

カスタムROM:ThGo2v18.0cインストール

  1. 「ThGo2_v18.0c.zip」をフォルダを漁ってたら出てきたので… | 所感 ~android~からダウンロードする。
  2. XperiaのMicroSDカードに「ThGo2_v18.0c.zip」をコピーする。
  3. xRecoveryを起動し、「Factory reset(full wipe)」、「Wipe cache partition」、「Advanced optinos」→「Wipe Dalvik Cache」と「Wipe Battery Stats」を行う。
  4. ThGo2_v18.0cをインストールするため、「Install Custom ZIP」→「Choose Custom Zip」でコピーした「ThGo2 v18.0c.zip」を選択する。
  5. 再起動するため「Reboot phone」を選択する。

以上で完了です。
ドコモ版Andorid2.1は遅くてイライラしてたけど、カスタムROMでサクサク動くようになったしUIがAndroid4.0ぽくなっていい感じになった。
これなら買い替えなくてもよかったかもと思える。

以下参考にさせていただきました。感謝です。
サイゴンのうさぎ: XPERIA X10にThGo2 v18.0bを入れてみた。
サイゴンのうさぎ: XPERIA X10 ThGo2 v18.0cを入れてみた。
Xperiaのroot取得からxRecovery導入までをすべてFlashToolで行う手順┃あんどろいどマニア
Linux備忘録&ちょっと休憩しましょ:Xperia SO-01B カスタムROMに入れ替えてみた - livedoor Blog(ブログ)
xperia x10 | 所感 ~android~

Ubuntu12.10にVirtualBoxインストール

Ubuntu上でWindowsを動かすためにVirtualBoxをインストールしたのでメモしときます。

手順は簡単でターミナルで以下のコマンド打てばインストールできました。

$echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

$wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

$sudo apt-get update

$sudo apt-get install virtualbox-4.2

以下のサイトを参考にしました!ありがとうございます!
Install VirtualBox in Ubuntu 12.10 | ITworld

Javaのチェック例外に対して勘違いしてた

Java7の新機能についてまとめてくれたブログを読んだのだけど、次の疑問があったので調べてみた。

調べてみて気づいたのだけど、チェック例外について勝手に勘違いして一人で混乱してた。
チェック例外はバイトコードレベルで特別な何かをされるため、メソッド内でスローする例外の型がthrows節に記述する型と同一かサブクラスでなければならないと思い込んでた。
よく考えればわかることだけどバイトコードレベルで特殊なことしてたらScalaなどのJVMを対象とする他言語でチェック例外を非チェック例外として扱うことができないよね。。。

ClojureでJavaプログラミング

ClojureJavaを呼び出すための方法を学んだので書き散らす。

クラスのインスタンス

 (new Classname args*)

Classnameにクラス名指定して、args*にコンストラクタに渡す引数をスペース区切りで指定する。
構文糖衣として次の形式があるのでそっちを使うのが一般的らしい。

(Classname. args*)

実際にはこんな感じで使う。

(StringBuilder. "hoge" )
-> #<StringBuilder hoge>

インスタンスのメソッド呼び出し

(.instanceMember instance args*)

instanceMemberにメソッド名、instanceにインスタンスを指す変数、args*にメソッドに渡す引数を指定する。

(.toUpperCase "fred")
-> "FRED"

Classのオブジェクトのメソッド呼び出し

(.instanceMember Classname args*)

インスタンスのメソッド呼び出しと同じで、instanceMemberにClassが持つメソッド指定して、Classnameに対象とするクラス名を指定する。

(.getName String)
-> "java.lang.String"

クラスメソッドの呼び出し

(Classname/staticMethod args*)

オブジェクトのメソッド呼び出しと異なり、"."は使わず"クラス名" + "/" + "メソッド名"になる。

(System/getProperty "java.vm.version")
-> "1.6.0_07-b06-57"

また、引数が不要な場合はカッコでくくる必要がなく次のようにかける。

Math/PI
-> 3.141592653589793

連続したメソッド呼び出し

".."マクロを使うとobject.getXXX().getYY().getZ()のような構文が簡単にかける。

(.. System (getProperties) (get "os.name"))

とりあえず、これだけ覚えればJavaの知識だけでClojureを使えるのでは?と思い書いた。
これでJavaな人(主に俺)がClojureの学習を諦めずに騙し騙し進めることができればと思う!

Ubuntu 12.04にOracle Java 7を簡単にインストールした。

Ubuntu 12.04をクリーンインストールした。
んで、Oracle Javaのインストールで以前に書いたUbuntuにOracle Java JDK 7をインストールした。 - ブログ::=(メモ|落書き)帳より、もっと簡単な方法があったのでメモしとく。

インストール手順は次の3つを行うだけ。

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer

インストールできたか確認する。

$ java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)

$ javac -version
javac 1.7.0_04

ちゃんと最新のJDKがインストールされました。

この方法はこちらのブログで知りました、感謝!
http://d.hatena.ne.jp/Kazuhira/20120429/1335684623

以上。

コマンドラインでのキー操作が覚えられない。

bashコマンドラインで使えるキーコマンドの一覧を整理する。

なかなか覚えられないのでコンソールでは使うことを意識したい。

移動系

キー 説明
Ctrl + A カーソルを行の先頭へ移動
Ctrl + E カーソルを行末へ移動
Ctrl + B カーソルを一文字左に移動
Ctrl + F カーソルを一文字右に移動
Alt + F, Esc F カーソルを1単語右に移動
Alt + B, Esc A カーソルを1単語左に移動

削除系

キー 説明
Ctrl + D カーソル一の文字を削除
Ctrl + K カーソル位置から行の終わりまでを削除
Ctrl + U 行頭からカーソル位置の直前までを削除
Ctrl + W, Esc BS カーソル位置から単語の先頭までを削除
Alt + D, Esc D カーソル位置から単語の終わりまでを削除

その他

キー 説明
Ctrl + Y 直前で削除系コマンドで削除した文字列を貼り付け
Ctrl + P ヒストリを一つ戻る
CTRL + N ヒストリを一つ進む
Tab コマンド補完
CTRL + L ターミナルをクリア

本ブログはAmazon.co.jpアソシエイトに参加しています