« 2009年8月 | トップページ | 2011年1月 »

2010年12月

2010年12月31日 (金)

FreeIPA

SPICEはちょっと置いといて、FreeIPAのサーバを先に作ることにします。

作るといってもFedora14は標準リポジトリに含まれてます。
yum ipa-server して、ipa-server-installすれば自動でセットアップしてくれます。この自動セットアップというのが曲者で、実際には問題が起きると手も足もでないシステムが出来上がるわけですが。

問題起きないことを祈りつつセットアップしたのですが、どうにもx64版のOSでは自分自身でさえTGTがとれません。KDCの設定ファイルによるとマスタパスワードは3DES/SHA1らしいのですが、なんか、その辺の計算が間違ってるのでしょうか。仕方ないので、以前インストールして眠っていたVMwareのゲストを他の計算機のVMwarePlayerからコピーしてきてKVMに載せます。こっちは32bitで、普通にkinitできます。
さて、KVMのホストからもWindows7からもTGTは取ました。Windows7はHome Premiumだけど、JavaのJDKの中にkinitがありました。動かしてみると、\Windows\krb5.iniファイルが無いといって例外になるので、そこへkrb5.confの内容を書いたらTGTはちゃんと取れました。ちなみに、\Windowsフォルダは書き込もうとするとUACに引っかかるので、管理者として開いたコマンドプロンプトで作業する必要があります。

ですが、ブラウザのSPNEGOが通りません。イントラネットの設定とか、Firefoxのabout:configとかちゃんと設定したはずなんですけどねぇ。LAN-MANにフォールバックするので、401が来てることは認識しているはずです。が、SPNEGOは送りません。もしかして、Win7のHomePremiumはSPNEGOできないの?でも、FedoraのFirefoxも同様の動作なので、何か他に問題があるのでしょう。

とりあえず、夜も更けてきたので今日はこの辺で終了。よいお年を。

2010年12月30日 (木)

年越しうどん

今年はうどん打ちに挑戦することにしました。

年越しならそばだろ、という意見はあろうかと思いますが、もう、そばを手で打つのは体がもちません。

そばを打ったことがある人にはわかるのですが、そば粉はでんぷんの比率が低いので、かなーりこねないと固まりません。なので、つなぎを入れたりするのですが、それでも、素人がやるとぼろぼろのそばしかできません。

その点、うどんは全身でんぷんのような小麦粉を使うので、それほどこね回さなくても麺になります。いや、まだやってないけど、なってくれるでしょう。

Webサイトを見つつ、うどん粉の袋の後ろの作り方を見つつ、塩水をつくって、うどん粉をこねます。

それが、分量どおりに粉と塩水混ぜたはずなのに、一向にべたべたのままです。まぁ、そういう時は粉を足します。こねて、ねかし、またこねて、最後に平らに伸ばしたものをたたんで包丁できります。素麺などは、あの細さまで引っ張って細くするようですが、このうどん粉の玉はそこまで引っ張れそうにありません。

しかし、腹時計はすでに12時を回っているので、切ってゆでます。かつをでだしをとってつゆをつくり、ゆでた麺を洗っていれればできあがり。

ちょっと腰が足りないですね。やっぱり。さぬきうどんの作り方によれば、足で踏むそうなので、やっぱりこね=でんぷんの変化=こし、なのでしょう。まだ、粉は半分あるので、明日がんばることにします。半分の粉で作った玉でさえ、二食ぶんあります。

夜は具に鳥肉をいれて豪華にいきましょう。そういえば、関東方面では鶏肉のことを柏というのをあまり聞かないですね。柏といえば千葉県柏市の印象が強いからでしょうか。

柏かぁ、ひさしぶりに爆スラでもかけますか。

KVMセットアップ:SELinux編

ようやくKVM環境を作り始めます。

しかし、最初からいきなりつまづきました。Virtual Machine ManagerがKVMと通信できません。KVMがオープンしているUNIXドメインにアクセスできるよう権限設定すればいいということなので、libvirtd.confのunix_sock_group=にwheelと書いて自分をwheelグループに入れたのですが、やっぱりアクセスできません。とりあえず、理由は後で考えることにして、リモートコネクションで自分自身を指定してsshでつなぐように構成しました。

インストールメディアを用意するのですが、これはWHSからCIFSマウントします。fstabを書き換えて、マウントして、コネクションからDetailを選択して、Storageのタブをあけます。
そして、追加のボタン(左下の+記号のボタン)を押してマウントしたディレクトリを指定すればokと思いきや、いきなりAVCがお出迎え。つまり、アレです、cifsのファイルにはSELinuxのラベルが無いのでエラーになっているようです。

SELinuxのメッセージによれば、booleanを設定せよとのことなので、SELinux Managementを開いてbooleanの項目からvirtというモジュールに属しているbooleanを探します。なにやら、nfsをマウントする、cifsをマウントする、という項目が見つかるので、今後使いそうなものも含めてチェックを入れます。

Kvmselinux

ついでに、cifsはroでマウントするようオプションも書き換えて、いざ、インストール。とりあえず、Fedoraを入れてみます。今度は順調なようです。
そして、ものは試し、Windows7を評価用DVDからインストール。こっちも無事終わりました。

KVMの動作は確認できたので、VMのセットアップは一時保留にして、SPICEを先に動かしましょう。

つづく。

Birth of the Boots(ブーツの誕生?)

昨日の夜、Amazonからメールが来ていた。

中には、未発送だったMBが入庫したから送ると書いてあった。

千葉の倉庫を出たことになっているので一日で(つまりこれを書いている今日30日に)届きそうだ。

今日は寒いし、掃除はやめてマシンの組み立て。まぁ、外回りはもう大してすること残ってないし。案の定、黒猫さんは10時過ぎにはやってきた。

今VistaでVirtualBoxを動かしているマシンに寄生していたHDDを抜いて別のケースへ。マザーを組み付け。

SB750でポートマルチプライヤが使えなかったので、PCIeのアダプタを発注した。それも一緒に組み立てて火を入れる。

CPUやメモリ、HDDは何のトラブルもなく動いた。しかし、PCIeのボードは認識しない。正確にはPCIeにホストアダプタがあることは認識されているけど、ミニポートドライバというのか、デバイス用のドライバがロードされない。どうやら88SE9123というのはまだドライバがないらしい。ドライバのディレクトリにmarvellというモジュールのあったから期待してたんだけど。

うーん、ASRockのSATA3カードはハーフサイズのブラケットついてなかったから急遽、載せるケースを変えたのに、こんなことならはじめからハーフサイズのケースにすればよかった。でも、もうMBを載せかえる気がしない。面倒くさい。

仕方ないので、SATAポート用のブラケットを付けてコレガの外付けケースとつなぐ。しかし、ポートマルチプライヤが動くんだけど、エラーになって5回のリトライ後になにも認識せずにプローブは終わってしまう。

いいや、RAID0で。ということで箱を開けて設定を変える。4TB全部ext4にフォーマット。広い部屋は気持ちがいい。

ということで入れ物はできたのでKVMを再セットアップすることにする。それは、別エントリで。

2010年12月29日 (水)

FedoraとAHCI(2)

昨日、Fedoraでdiskエラーが出ることを書いたのですが、AHCIを有効にすればエラーにならないというのは間違いでした。

どうも、モードによらずエラーは出ます。

では、何が原因かというと。SeaGateのディスクはraw errorというのがあがっていて、なぜかそれが絶えずログに出ているらしいです。

raw errorがどれくらい問題かということですが、そもそもディスクは見た目はまったく正常に動いているのでエラー訂正して直ったレベルのエラーということだと思います。
WindowsのSMARTツールも落としてraw errorというのがわかったのですが、やはり、そのツールでもディスクは正常と表示されます。

どうやら、カーネルのバグということらしいです。

Amazonに発注した部品が一部を除いて届いたので早めに別マシンに分離したいと思います。

(追記)

どうやらエラーの出所はATAPIのDVD-RWだったようです。外したらメッセージはでなくなりました。が、なぜ、Linuxがこのデバイスを敵視しているかは不明です。
(このドライブからインストールしたのだし、Vistaでは普通に使えます)
まぁ、古いものなのでそのうち更新することにましょう。
(と、いいつつ後10年くらい使いまわすきがする)

2010年12月28日 (火)

仕事の効率と環境

アプリ作りは一休みして仕事場について

なぜ、会社に行って仕事をするのか?という話です

まず、考えられるのは会社の構成員だから。

今回はそういう資本とか労働とかいったことではなくて、作業場所の質と効率について。

今も自宅(普通のマンション)でこれを書いているわけですが、最近自宅で日中プログラミングするようになって思うことは、自宅は効率が悪い、ということです。

どうしてか、というと、集中できないんですね。たとえば、採光。たいていの住居はカーテンを2種類掛けます、レースと布地のもの。日中はよく日差しが入り、視線は遮るようレースのカーテンにします。夜はこの時期だと保温のために布のカーテンも閉めるようにします。

さて、このレースのカーテンが曲者です。つまり、光を乱反射させる構造になっているので、室内の明るさが太陽の光で激しく変わるのです。オフィスビルではレースのカーテンをしているところはなく、ほぼ100%ブラインドです。そして、天井にはたくさんの照明。つまり、あまり太陽光に左右されず照度が確保できるように設計されているのです。

じゃぁ、昼間も布のカーテン閉めればいいかというと、これはコンピュータを使うには暗すぎるのです。そして、一般的な住居の照明は部屋の中央に1つついています。この場合、ディスプレイを壁際に設置すると、自分は壁を向いているわけで、手元は影になります。本を開いて調べ物しながら作業するのに向かないレイアウトなんです。夜、家に帰ってからゲームするだけならまったく支障ないのですが。

ちなみに、自然採光と照明をうまくバランスとっているのが学校です。ご存知ですか?学校はどこも黒板が教室の西の壁に設置されています。つまり、黒板に直接日光がさしこまず、生徒が西を向いた時、手(右手)の影がノートにかからない構造になっているわけです。

じゃぁ、西の壁にディスプレイを設置すればいいのでしょうか。そうかもしれないのですが、我が家の構造は西に和室があり、仕事をするには向きません。部屋の中央に大きなテーブルを置いて、そこで作業するようにすればいいのかなぁ、などと漠然と思う今日この頃でした。

オフィスというのはそれなりに仕事について考えられている場所なわけです。

FedoraとAHCI

最近KVMを動かすために、Fedoraをセットアップしています。

とはいえ、そうそう物理マシンは落ちてないのでVistaでVirtualBoxが載っているマシンとデュアルブートですが。

その物理なFedoraですが、messagesにデバイスエラーがぞろぞろ書かれる気持ち悪い状態だったので、少し原因調べてみました。

どうやら、FedoraはデバイスがAHCIサポートしているとわかるとAHCIを使おうとするようです。しかし、そのマシン、かなり前にセットアップしたものだし、普段VistaがIDEモードで使っています。試しにAHCIに替えてFedoraブートしたらデバイスエラーは出なくなったのですが、これだとVistaとFedoraを切り替えるたびにBIOS設定をやり直さなければいけません。
それはあまりに面倒なので、VistaもAHCIにしてしまおうかと思ったのですが、BIOSTARのサイトからダウンロードしたx64用AHCIドライバはフロッピィに書き込まずにインストールすることはできませんでした。

ここで、我が家にあるPCの設定を思い返すと

Atom,NM10 WHS WD2.0TB AHCI
Athlon3800+,nForce6100 Windows7 WD500GB AHCI
PhenomII9350e,AMD790(+SB710?) WindowsVista SeaGate1.5TB +HGST250GB IDE

ここまできて、もう数年、仕事以外では物理マシンにLinuxインストールしてないことに気がついた。
他の2台はAHCIにするのにそれほど苦労しなかったのにねぇ。なにが悪いの?OSのせい、それともチップセットのせい?、それともディスク?

いいや、どのみち今PhenomII捨てられないし、VirtulBoxもまだ必要。マシン買おう。

Android day3

土日はお勉強も休みだったので今日が日目です。

さて、どうしましょう。クラスの構造からいくか、それとも画面の構成か。

とにかく形にするという方針なのでやっぱり画面のレイアウトです。

SDKのサイトのチュートリアルもそのような順序ですね。チュートリアルにしたがってLinearLayoutのxmlリソースを作ります。とりあえず、resというのがリソースフォルダで、その中にあるxmlファイルにサイトのレイアウトをコピーします。とりあえず、この段階では内容については考えないことにします。どんな技術や芸術も模倣から始まるのです。
そして、今度は新規にレイアウトエディタを開いてこれと同じものができるよう、白紙からはじめます。

でも、なかなか思うように行かないので、別の情報にあたります。"android layout"を指定してぐぐると先頭に出てくる@ITのサイトがやっぱり分かりやすい。ここによると、細部の情報はxmlエディタなるものを使うらしいです。

ああ面倒だとかぶつぶついいながらレイアウトの項目にアトリビュートつけていきます。でも、面倒だからこそできたものに価値があるわけで、ひたすら作ります。

途中、プログラムが強制終了させられたり、いろいろあったのですが、表示項目の内容は他のxmlを参照するといいとかいろいろお勉強して3日目は終了しました。

そろそろ、具体的にどんなアプリを作るか考えないといけないでしよう。アイデァというか、欲しいものはいろいろありますが、とりあえず、バッテリ充電をよく忘れるので、今のアラームとほぼ同じ機能で、バッテリを充電中ならアラーム鳴らすのをスキップしてくれるアプリ。
という線で行ってみたいと思います。

2010年12月26日 (日)

シリアルアダプタ

小さなLinuxを相手にするときの必需品:シリアルアダプタのご紹介

我が家ではFonとかHDL-GSとかMZK-WNHとか見えないところでLinuxが使われている機器のLinuxも見てみぬふりはしないことにしています。

そんな時便利、というかbrickしないためにはどうしても必要なシリアルアダプタですが、我が家で使っている道具を紹介します。最近はクロ箱ブームなども去り、結構高いレベルコンバータ入りケーブルを使うという話しか検索してもヒットしないので、ちょっと耳寄りな情報を。

前提知識として、PCのシリアルポート、俗にRS-232Cポートなどと呼ばれるポートと、組み込み機器のシリアルポートの違いについて。
最近はついてるPCあまり見かけなくなりましたが、モデムなどをつなぐ232Cポートなどと呼ばれる9ピンのポートは12Vくらいの信号電圧があります。方や組み込み用は3.3Vです。
そのままつなげば3.3Vだと思っていたのに12Vかけられた機器が壊れるか、12Vで信号がくると思っていたのに3.3Vしか振幅しない信号を認識できないかのいずれかになります。

なので、信号レベルを変換する回路が入ったケーブルなどが必要といわれているのです。が、もう、今のPCには9ピンのポートさえついてないですよね。そうすると、USBシリアルアダプタなるものを買って、その先にレベル変換ケーブルをつなぐわけです。

さて、今回ご紹介するステキなボードは秋月電子通商で売ってるUSBシリアル変換モジュールです。
USBインタフェースモジュールと、メーカ製USBシリアルアダプタにも使われているICが小さな基盤にのっかっているものです。方やUSBポート、方や5Vまたは3.3Vのシリアルインタフェース。ボード上のピンから線を引っ張りだしてピンヘッダにつなぐ端子をつければシリアルコンソールと通信できます。

お値段は950円。あと必要なのはピンヘッダのコネクタと少しのリード線だけ。

人生に必要なのは、勇気と想像力と少しのお金
組み込み開発に必要なのはモジュールとコネクタと少しのリード線

おひとついかかがですか。

2010年12月25日 (土)

昔懐かしのxdm

昔々、まだワークステーションといわれていたUNIXマシンが高かった頃、X端末っていうのがあってさ。

グラフィカルなインタフェースをワークステーション本体買うより安く提供してくれたので昔はよく(たまに?)見かけた。グラフィカルなインタフェース、といってもktermとかが複数動いているだけなので、実質文字端末複数なんだけど、そういうのを使って仕事をしていた。n年前と書くと歳がバレてしまうので書けないけど。

しかしながら、FedoraをKVMサーバにセットアップするのに、Xがほしくなった。当然、端末はXではなくてWindowsで動くCygwinだけど。というのは、我が家のPCはディスプレイから少し離れたところにあるメタルラックに置いてある。PCから直接ディスプレイケーブルが来ているのは1台だけ。つまり、これが作業用に使っているWindows7。あとの機械はsshなりリモートデスクトップなりで接続して使うんだけど、KVMを使うにあたってGUIがほしくなった。だってさ、KVMのあんな長いオプションいちいちコマンドラインで打つ気がしないでしょ。じゃぁということでXをセットアップしてリモートでFedoraを使うことにした。実はFedora14にはSPICEという次世代画面転送プロトコルも実装されてるんだけど、今のところVDIにしか使えないらしい。

ということで、Fedoraでxdmを使うには

  1. パッケージの導入
    xdmはxorg-x11-xdmという独立したパッケージになっている。家のマシンは入っていたが、なければyumして導入する。
  2. xdm-configを書き換える
    /etc/X11/xdm/xdm-configの最後の行をコメントにする。その一行前のコメントに書かれているが、DisplayManager.requestPortが0になっているとxdmは動作しない。コメントにするかポートを指定する。まぁ、手っ取り早くコメントで。
  3. Xserversを書き換える
    /etcX11/xdm/Xserverの最後の行をコメントにする。そして、PCのホスト名:0 foreignという行を追加する。
  4. Xaccessを書き換える
    /etc/X11/Xaccessの中にアクセス可能なホストのリストがあり、初期状態はすべてコメント。真ん中あたりにある*  #any host can get a login windowという行を有効にする。
  5. Firewallの定義を変更する
    XDMCPはudp/177を使用するので、ポートを空ける。system-firewall-configを使うなり、iptablesでやるなりお好きにどうぞ。
  6. xdmをサービスとして起動するようにする。
    /etc/init.dの下の適当なサービスのファイルを編集してxdmの起動スクリプトを作る。この時注意するのはchkconfigの行。コメントだけど、chkconfigがサービスを登録するのに使う。# chkconfig: 5 25 90だったらrunlevel5で起動し、停止時の優先順位は25、起動時の優先順位は90ということ。ちなみに、停止25はsshdと同じ。起動90はcrondと同じ。まぁこのくらいでいいんじゃない。ファイルができたらchkconfig --add xdmする。
  7. Cygwinをインストールする。
    ぐぐればきっとあたると思うので具体的な説明は書きません。結構大規模なパッケージなのでインストールとセットアップに結構時間かかります。注意すべきところは、Xパッケージはデフォルトでは選択されないので自分でインストールを選択する必要があるくらいでしょうか。

準備できたらCygwinを起動し、プロンプトからX -query サーバ -from 自分アドレスと入力すればXのそっけないログインダイアログが表示されます。

最後にFedoraにログインした画面。下にWindowsのタスクバーがあります。

Cygwindesktop

聖夜のお酒

酒屋に行って酒かって来ました。

すでにクリスマス休暇に突入したので今から年明けまでの分

  • 黒エビス350ml
  • ボンベイサファイア
  • Royal Goulart Cava brut
  • Mure Sauvage
  • the MacAllan 12y

この時期にスパークリング飲まないと飲む機会がないのでこんなときくらいと思ってスパークリング買ってくるのですが、やっぱり、シャンパーニュは辛すぎてだめなので今回はスペイン産と黒すぐりのリキュールで。まぁ、キールロワイヤルの亜種ですね。

あとはいつものボンベイさんと、年明け一番はやっぱりカマラン。

Cavaは冷蔵庫へ、ボンベイは冷凍庫へ。

VisualSVN

ソースができたらリポジトリ。アレです、泥縄ってやつです。

今日はプログラミングはお休みです。そんなこと言ってるから昨日やったことを忘れるわけですが。

ということで、Subversionのサーバを構築することにします。

まず、我が家でバックアップ全般を担当しているWHSにSubversionのサーバを構築します。Windowsで動くもので、Apacheを入れたりしなくていいVisualSVNというソフトにすることにします。
いえ、Apacheを入れることに技術的な問題があるわけではないのですが、WHSは管理用にIISが動いているので、その上さらにHTTPサーバを入れるのが気持ち悪いだけです。
(といいつつ、VisualSVNがインストールされたフォルダをみたらまんまApacheでした)

VisualSVNはサイトからダウンロードし、ウィザードに必要な項目を入れていけばそれほど難しくないところはなくインストールできます。ただ、ポート443はすでにIISが使っているので8443に変更します。

さて、サーバの用意ができたら次はEclipseへのプラグインのインストールです。

ヘルプ>新規ソフトウェアのインストールを選び、作業対象の項目にhttp://sbclipse.tigris.org/updateと入れて追加を押し、出たプラグインをインストールします。

続いてプラグインの設定。ウィンドウ>パースペクティブを開く>SVNリポジトリエクスプローラーでsvn設定用のパースペクティブを開きます。
SVNリポジトリのタブにあるSVNリポジトリーの追加アイコンをクリックして、リポジトリを登録します。

その次は同期の設定。チーム同期化パースペクティブを開いて同期化タイプにSVNを選択し、リソースの選択。ここでは今までに作ったプロジェクトを入れます。そして、完了。

実際にリソースをSVNに入れるには、Javaパースペクティブに戻して、プロジェクトを右クリックし、チーム>プロジェクトの共用を実行。あとは出た画面に答えていけば出来上がりです。VisualSVNのサーバ証明書は自己署名なので証明書はエラーになります。自分で使うなら永久に受け入れても問題ないでしょう。ただ、最近はなんでもかんでもSSLなので、自己署名をいちいち許可するのは面倒です。そのうちオレオレ認証局で作ったものに入れ替えたいです。そうすれば、オレオレ認証局の証明書さえ登録しておけば問題ないので。

2010年12月24日 (金)

ATOMのNM10でAHCIを使う方法

備忘録:ATOMでAHCIを使う

日々のバックアップをせっせと採っている縁の下の力持ちのWHSですが、わけあって一度インストールしなおすことにしました。

前回インストールした時にはあっさりICH7のAHCIモードにできたと思ったのに、今回なぜかてこずったのでメモを書いておくことにする。

インストール時にF6でドライバを読み込んでもいいのかもしれないが、今時フロッピィでもないので、インストールしてからAHCIに変更する作戦でいくことにする。
必要なもの:インテル製のICHドライバ。これはインテルのサイトからダウンロードできる。しかし、実行形式になったものは実行するとハードウェアチェックを実施するので、NM10にはインストールできない。(これって、つまりはインテルのサポート外ってことなんだろうな)
F6インストール用のフロッピィを作るユーティリティが別にあるので、この内容をどこかに展開し、その中にあるinfファイルを読ませればドライバはインストールできる。フロッピィ作成ユーティリティは”フロッピー設定”で検索するとヒットする。
zipファイルを展開するだけで、フロッピィに書き込む必要はない。

具体的な手順

  1. フロッピィユーティリティをダウンロードし、展開しておく。
  2. デバイスマネージャを開き、NM10/ICH7を選んで、右クリック>ドライバの更新を実行する。
  3. ドライバ選択のウイザードに対して、検索しないでディスク使用を指定して、ディスクの参照先を1.で展開したフォルダにする。
  4. 一覧の中のICH7R/DHを選択する。互換性がない、云々の警告はサクっと無視してドライバを入れる。
  5. 再起動が必要と言われるので、OKする。再起動時のBIOS画面でセットアップを出して、HDDをAHCIモードに変更する。
  6. 起動すると、さらにもう一回再起動される。まぁ、マイクロソフトとインテルには巻かれるしかないのでそのまま放置して再起動されるのを待つ。

以上でできあがり。

余談

WHSを再インストールすることになった理由:

実は、証明機関をセットアップしていたのですが、証明機関入れるとドメイン名変更できなくなるのです。しかし、最近個人でドメイン取ったので自宅内もドメイン名変更してるのですが、WHSはデータの退避が面倒でやってなかった。
まぁ、年末だし、そこそこ時間あるし、思い残す事がない様にインストールしなおしてドメイン変更することにしたのでした。

Android day2

2日目は引き続き日経Linuxのテキストのサンプルを動作させます。

プロジェクトを新規に作成し、そこに雑誌のサンプルコードを入力していきます。
しかし、いきなり困ったことになってしまいました。
エディタの画面ではエラーはないのですが、プロジェクトにエラーがあって実行できません。

よくよく理由を見ると、AndroidのSDKを参照しているViewなどのクラスが全部未解決のようです。クラスがどこにあるか分からないから実行できない、ということのようです。
当然、importの指定はしてあります。仕方ないので、昨日セットアップしたAndroidSDKのプラグインやら、SDKマネージャの画面やらいろいろ見直すのですが、どこが悪いかさっぱりわかりません。
では、昨日作ったHelloWorldも動かないかというと、こちらは動きます。何が違うかよーく見比べると、HelloWorldはSDKのVersionが7、今日のredballはSDKのVersionが8です。

Eclipseを再開したり、プロジェクトを閉じたり開いたり、あれこれいじっているうちにEclipseがハングしてしまったので、OSを再起動しました。すると、なにもなかったように動きます。

Eclipseは不思議なプログラムだということだけが収穫でした。

さて、次のステップは赤い玉を画面上でなぞった位置に描くように変更するのですが、ここで昼休みを挟むことにします。

さて、買い物したり、電気代払ったりと用事をこなしたあと、ソースの手直しです。

MyViewというクラスを変更していくのですが、あれこれエラーをとってもLog.iというクラスが未解決だというエラーが残ります。どうやら、importの指定が抜けているらしいのでここを直せばいいのでしょう。、Logのところをクリックすると解決策が提示され、Logをインポートするを選ぶとimport android.util.Logがソースに追加され、無事動くようになりました。

Androredball

段々わかってきました。まぁ、クラスやメソッドの名前は覚えるしかないのでやってるうちに覚えつつ効率上がっていくものだと信じてます。

2010年12月23日 (木)

Android初日

Androidはじめることにしました。

どうして、という話はとりあえず省略。

とりあえず、年末までに1本アプリを作って動くようにする。が、現在の目標です。マーケットで儲けようとか大胆な計画はないのですが、すくなくとも、形のあるものを作り出すことができるようになっておきたいと思います。

何事も最初が肝心です。まず、AndroidアプリといえばJavaということでEclipseをインストールします。こんなこともあろうかと、Eclipseの本は買ってあったので、それを開きつつ、Eclipseを使ってプログラムを作ります。やはり、最初はHello Worldでしょう。早速テキストを見つつプログラムを完成させます。
って、入力したのは1行だけど。そして、実行する。コンソールにHello Worldと表示されました。

次にAndroidのSDKをインストールです。サイトからダウンロードして、インストーラを動かす。しかし、ここで問題が。インストーラがJDKを入れろという。ということでダイアログに表示されたボタンを押して、JDKをダウンロードする。使ってるOSは64bit版のWindows7だけど、Eclipseは32bitのプログラムなのでJDKも32bit版を使う。

さて、Eclipseにプラグインを追加するわけだけど、ここで早くも壁にぶち当たります。当初、日経Linux11月号の”中高年中高生のためのAndroidアプリづくり”という特集記事をみてEclipseを設定していたのですが、これはFedoraプラットフォームに使うことになっていて、そのとおりzipファイルを読み込ませようとしても、zipが見当たりません。

日経Linuxはあきらめ、Google先生に質問するとhttp://www.javadrive.jp/android/install/というサイトがヒットします。これ見てセットアップすることに変更。とりあえず、ウチのWindows7は64bitだけど、Javaは32bitだし、Eclipseもちゃんと動いたし、メモリは2GBしか積んでないので気にせず進めます。
しかし、なぜかhttps://dl-ssl.google.com/android/eclipse/からダウンロードするジョブが進行中0%のまま。どうやら、PATHに追加するディレクトリが間違っているらしい。android-sdk-windows\toolsにはadbというプログラムはない。タスクマネージャを見るとadb.exeはplaftorm-toolsというフォルダにあることになっている。c:\Program Files (x86)\Android\android-sdk-windows\platform-toolsを追加したらうまくいった。

とりあえず、要件および依存関係を計算してるらしいので、買い物に行って、残りは午後やることにする。

さて、PCをサスペンドから復帰させ、プラグインを設定して、Android版Hello Worldを作成します。いろいろつまづいた点はあるのですが、最大の難関は、”Androdのエミュレータは起動がものすごく遅い”ということでした。
いくら待っても画面が変化しないので、どうしたのかな?と再度実行させたり、いろいろするわけですが、そうすると今まで実行中だったAndroidエミュレータのセットアップとか、アプリのインストールが再初期化されて、というループになっていつまでも実行できませんでした。

5分くらい待ったでしょうか、めでたくHello Worldが表示されて、今日のレッスンは終了です。

Androhello

リニューアル

ずっと休止状態だった当blogですが、リニューアルして再開することにしました。

これまで、チラシの裏として利用してきたわけですが、今はEvernoteという便利なチラシの裏があるのでこちらはご無沙汰になっていました。
しかし、情報もらうばかりじゃだめよね、ということでもう一度、blogも書いてみることにしました。

サブタイトルも変えることにしました。もう、SecondLifeでもないし。ゲーム関連のネタはたまに書くかもしれませんが、今後はLinux、Android関連を中心にしたいと思ってます。

まぁ、ここには書けない大人の事情というのもあるにはあるんですが、当然ながら、ここには書きません。

敬具

« 2009年8月 | トップページ | 2011年1月 »