SyntaxHighlighter

2010年11月6日土曜日

続その3・秋の日長な一日

現場復帰というか、手伝ってほしいと請われて
行ったいいが、本当に大変なところだ!

あまり詳しくは書けないが、Playerが大変多く
皆バリアを張っているため、問題解決というより
担当者を決めるだけで一苦労

「日長な一日 」ってわけにはいきません。
以上、近況でした。

2010年11月3日水曜日

続・秋の日長な一日

昨日(11/2)たんたんと仕事をこなして、
18:30何も連絡がないので、今回の案件も流れたかな?
思っていたら、電話が!
「11月4日からよろしく!朝10時に建物の前で待ってて!」
とのこと。

急遽、とりあえずの引き継ぎを行い、明後日に備えることに

というわけで、私が現場常駐作業にでることになりました。
ブログ維持はどうなるかわかりませんが、引き続きよろしくお願いします。

2010年11月2日火曜日

秋の日長な一日

なんとも、のんびりとしたタイトルにしたが、

仕事の依頼時には、今すぐにでも人を準備して
とくるが
苦労して準備すると
入場タイミングはちょっと待ってて
とくる。

発注側にもいろいろ言い分はあると思うが
受注側に、不信感を抱かせたりモチベーションを下げるような
ことはできれば避けて頂きたい。

もっと、言いたいことはあるが、
気を取り直して、今日の天気のように
スカッと!いきましょう!

2010年10月29日金曜日

SONY Tape型Walkman販売終了

SONYのTape型Walkman販売終了のお知らせを聞いて
懐かしく思った人はどのくらいいるのだろうか?

Walkman持って、帰省した時などはおおいに珍しがられて
「もてきが来た~!」って勘違いしていたことも思い出し
一人にやついてしまった。

その後、私の初代Walkmanは、友人ん貸したまま、友人ともども
どこかに行ってしまったが、押し入れの奥に眠っている
大量のカセットテープの処分のことも改めて思い出した。

みなさんも、Walkmanにはいろいろ思い出があるのではないでしょうか?
これからの人はもしかしてiPadがそうなるのかな?

2010年10月28日木曜日

情報セキュリティ対策ベンチマーク

IPA(情報処理推進機構)のサイト中に「組織の情報セキュリティ対策自己診断テスト 」
というのがあり、会社の仲間がエントリーしてみた。

結果は、公表はしませんが
円グラフにより、弱点とか目に見えて明らかになります。

社内の情報セキュリティに関心のある方は、診断を受けてはどうでしょう?
営業的にも使えるツールの一つになると思います。

トライしたい方は「ここ」から

2010年10月27日水曜日

拡張現実感(AR)

「拡張現実感」(Augmented Reality:AR)とは、現実の状況にコンピュータで処理した情報を付加した仮想世界を作り上げる技術です。

Webカメラ、モバイルデバイス、モバイルプロジェクタの組み合わせでAndroidアプリケーションを
開発しようという特集が「Android Developers' Inn:ITpro」でスタートしました。
近未来の技術です。興味のある方は是非研究してみてください。

2010年10月26日火曜日

IFRSセミナー

日経BP社主催のIFRS(国際会計基準)セミナーに参加してきた。
国外からの投資家が増えてきている現在、情報開示も国際基準でとの
話は理解できるし、会計の透明性という意味でも考え方は素晴らしいと思う。

また、こういった決めごとに対して、実の多くの人が参加し、それぞれの立場で
意見を述べ、無理なく良いものにしようと努めていることが良くわかった。
システム提案においてもこう言った、裏話的なことを知っていると
信頼感も増すものと思われる。

良いセミナーでは、自習の何倍もの効果が期待できると思うので
機会があれば、皆さんも積極的に参加してほしい。

2010年10月22日金曜日

「Androidケータイを分解! 」という記事発見

機会の中身は気になるものの、なかなか分解して
解説することはないし、ふつうはできない。

そんな人たちに代わって、サンフランシスコで発売された
Androidケータイ「T-Mobile G1」を日経エレクトロニクス分解班が
分解し解説してくれています。

内部を知ると興味もまた深まりますね。

詳しくは「ここ」です。

2010年10月21日木曜日

テーマは「集客」

営業活動をしていて、盛んに言われることは「集客できる
提案をしてよ。」だ。
どの企業もIT化はひととおり基盤ができており、売上に
つなげる集客がつぎのテーマとなっているようである。

潜在顧客の掘り起こしをITで行う。
最近ちまたで流行りの「クーポン」もその一種と思うが

単なる、御用伺いの下請け企業から、ビジネスパートナーに
関係改善するためには、そういった提案力をより一層
磨かなければならないと感じている、今日この頃です。

2010年10月20日水曜日

ITpro EXPO 2010

IT Proがクラウドをテーマに開催している「ITpro EXPO 2010」が今日まで(10月20日)
東京ビックサイトで行われている。
「Androidホットステージ」というコーナーにはユニークなAndroid端末が揃っているということだ。

Androidに興味のある方は、携帯以外にどういったつかわれ方ができるのか
一度藍を運んだ方がよさそうだ。

詳しくは「Androidホットステージ」を参照してください。
今からでも無料エントリーに間に合うようです。

2010年10月19日火曜日

海底熱水鉱床

昨日テレビで地球深部探査船「ちきゅう」が巨大な熱水鉱床発見??
というようなことをやっていた。
「鉱床」とは、採掘しても採算がとれる量が期待できる場所のことだそうだ。

金銀レアメタルの含有量が高い「黒鉱」と呼ばれる鉱石が採取できたようで
これからに期待ができる話題になりそうです。

我々も夢を持てる仕事を発掘しなくては。

2010年10月18日月曜日

ちゃんとしろ~い!

最近缶コーヒーのCMで耳にするフレーズです。
面と向かって言うには、きつい言葉ですが、
山崎努の言い方ですと、やわらかくなりますね。

「ちゃんとしろ~い!」と言いたい場面、言いたい人
があってもなかなか言えない。そんな人に代わって
CMが代弁してくれているようです。

2010年10月15日金曜日

工業団地

東京郊外の工業団地にある会社に営業で行ってきた。
広い敷地と大きな建物に圧倒されながら
会社訪問をしたのだが、メーカーとして形ある製品を作成している
自負と余裕を感じられた。

アイセルも自社製品を思いながら、なかなか思うようにならない
実情から、受託と派遣が売上の中心となっている。
でも、あきらめずに商品開発を今後も続けていきたい。

2010年10月14日木曜日

最近のATM事情

本日も営業先から仕入れたネタなのですが
最近のATMにはお札の「しわ伸ばし機能」(勝手に命名しました)
がついているらしいです。おまけに殺菌もしてくれるという!

かなり新券に近い状態で取り出し口に出てくるようなので
機会がありましたら、該当のATMを探して試してみてください。

このきめ細かさが日本人なんだろうなと改めて実感させられた
出来事でした。

2010年10月13日水曜日

CEATEC JAPAN 2010

先週開催されていた「CEATEC JAPAN 2010」に行ってきた
仲間に様子を聞いてみた。
やはり今はやりの3D関係のブースが多かく3D体験
ブースでは長蛇の列で2時間待ちとなっていたらしい。

3D技術はもとより、様々なこれからの技術が多数展示されているので
これらをヒントに自社製品をより発展させたり、画期的な商品を開発したり
できるのではと、見る人によっては宝の山となっているようだ。

アイセルに持ち込まれた技術も展示されていたようだが
アイセルでは残念ながら商品として展開するにいたらなかった。
いつか世に出たとき、「あ~あのときの」ってことになるのだと思う。

資本力のない会社の開発に関わる方策について良く考える
必要があると思うのでした。

2010年10月12日火曜日

食えなければ

先週末、画像処理専門の会社を訪問してきた。
超音波診断装置や、CTスキャナ等が読み込んだ情報を
画像化する会社だ。

仕事の全体量が減っており、経営的には楽ではないようであるが
誇れる技術を持っているということで
社員のモラル、モチベーションは高いような気がする
(実際に社員さんと会話はしていないので想像ですが・・・)

長引く不況下の中、今ある事業に見切りをつけて、
新しい事業展開を行う会社も少なくないと思うが、
どれだけの会社が成功しているのだろうか?
それよりも、一つのことにこだわり、技術者として殉死するのが良いのか?

食えるのならどちらでも良い。というのが本音かもしれない。

2010年10月7日木曜日

コミュニケーション能力

他社さんの営業と話をしていて、最近の案件の条件として
「コミュニケーション能力」を求められることが多くなりましたね。
といった話題になった。
それだけコミュニケーションがうまく取れていない現場が増えている
ということなのだろうか?

「コミュニケーション能力」といってもレベル感は様々と思うが
要は相手の言わんとしていることを理解し的確に返事ができるか
ということと思う。
「クイズのような指示を出す上司と、想像で動く部下」
これで成功すれば効率良いことこの上ないが、
大体が、「こう言ったつもり」「こう言われたと思った」
という結果なると想定される。

お互いが理解しようとする努力を怠ることで
コミュニケーション不足が発生すると思うので、
「目的」を明確にし共通の土俵に立ったうえで会話を
始めると良いと思う。しかし「コミュニケーション不足」でした
という問題理由は永遠の課題としてついて回るものかも
しれない。

2010年10月6日水曜日

Android端末「IS03」レビュー動画

匿名さんから「IS03」の、週刊アスキーによるレビュー映像
があると紹介されていたので、早速見てみました。

各種機能紹介やiPhoneとの比較があったり、なかなか興味深い内容と
なっています。

早く実機を見てみたいものですが、気になるのはお値段です。
正式発表はまだですよね。

2010年10月5日火曜日

禁煙応援アプリ

タバコの値上げで、禁煙にチャレンジしている人も
多いと思うが、禁煙のためのグッズはけっこう種類があるが
禁煙のためのプログラムというと、舘ひろしさんがCMで
やっているように禁煙外来ものぐらいしかない。

そこで、アプリケーションで支援できないだろうか?
・禁煙開始からの時間計測
・今まで煙になっていたであろう、タバコの金額累計
・苦しいときのお助けメッセージ
とうとう
あと、達成感が必要なので、3日クリアでご褒美がでるとか・・・
ご褒美は何がいい?と聞くと「一服」と答えがきそうですね。

2010年10月4日月曜日

Android端末「IS03」発表

先日「未来へ行くなら、アンドロイドを待て。」という記事を書いたが
今日になり KDDIとSHARPがAndroid端末「IS03」を発表するという
ことがわかりました。

すでに皆さん、目にしているかもしれませんが、どんなもんでしょう?

auが目指すものは「ケータイの才能を引き継ぐスマートフォン」
ということですが、これからの評判が気になります。

ちなみに見た目はiPhoneそっくりですね。

2010年10月1日金曜日

Android大作戦 2度目のピンチ

Android大作戦として始めた勉強会もなかなか成果が出ず
参加者も減り、存続のピンチです。

今後は、個人的に細々続けて行こうとは思いますが
記事投稿はできたとしても、Android解説の更新間隔は
大幅に空きそうです。

Android関連記事は、今後とも追いかけて行こうと思いますので
引き続き応援よろしくお願いします。

では、月も変わりました。新しい気持ちでがんばりましょう。

2010年9月30日木曜日

未来へ行くなら、アンドロイドを待て。

最近、KDDIがテレビでやっているCMのキャッチコピー
であるが最後の「待て」は「持て」ではないのでしょうか?

それとも、かっちょいい製品がでるまで、待ってちょうだい
ということなのでしょうか?

聞いてみなければわかりませんが、なんか期待を持たせるCMです。
おおいに期待して待ってみたいと思います。

2010年9月29日水曜日

Android解説 layout その5

Android layout 

event listener(イベントリスナー)

Androidではwidgetウィジェット)に対して、個々にイベント発生を知ることができます。イベントリスナーというのは、イベントが発生したときに呼び出されるメソッドを持っているオブジェクトのことです。Listenerクラスを事前にインポートしておく必要があります。
下記例は、「ボタンがクリックされた」というイベントですが、データが更新された、端末の縦横が変わった等、イベントにより「listener」が変わります。
     import android.view.View;
     import android.view.View.OnClickListener;
     btn_entry.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
      entryResult();
}
    });
最初の2行にあるimportが必要なクラスで「android.view.View.OnClickListener」は「android.view.View」を継承するクラスです。Javaの技術的な話もAndroidを利用してできないかなと考えていますが、今は、セットものとして覚えてください。
次の行は、ボタンがクリックされたというイベントが発生したときに「public void onClick(View v)」という実装クラスが処理を行います。これもセットものとして理解してください。
entryResult();は、自分で定義した関数です。
ここまでのソース中、独自項目は、この1行のみということです。
最後の「});」までが、イベント処理となっています。

では、ソース全文と実行結果をみてください。




課題として

・ラジオボタンのデフォルト設定の方法
・テキストボックスの非表示のしかた
が残りました。解決方法がわかりましたら、紹介したいと思います。


package jp.co.aicell;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.view.View;
import android.view.View.OnClickListener;

public class HelloAndroidActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        /* ボタン イベントが発生 */
        final Button btn_entry = (Button) findViewById(R.id.btn_entry);
              btn_entry.setOnClickListener(new OnClickListener() {
               public void onClick(View v) {
                      entryResult();
               }
        });
    }
       private void entryResult() {
              String entry_Naiyo;
              /* テキストボックスの値取得 */
              final EditText text_name = (EditText) findViewById(R.id.text_name);
              entry_Naiyo="あなたは"+text_name.getText().toString()+"さんで";
             
              /* チェックボックスの値取得 */
              final CheckBox ck_android = (CheckBox) findViewById(R.id.ck_android);
              if (ck_android.isChecked())
                     entry_Naiyo=entry_Naiyo + "Androidに興味がある";
              else
                     entry_Naiyo=entry_Naiyo + "Androidに興味がない";
             
              /* ラジオボタンの値取得 */
              final RadioGroup rg_sex = (RadioGroup) findViewById(R.id.rg_sex);
              switch (rg_sex.getCheckedRadioButtonId()) {
              case R.id.rb_man:
                     entry_Naiyo=entry_Naiyo + "男性です。 ";
                     break;
              case R.id.rb_woman:
                     entry_Naiyo=entry_Naiyo + "女性です。 ";
                     break;
              }
             
              /* テキストボックスに値をセット */
              final EditText text_entry = (EditText) findViewById(R.id.text_entry);
              text_entry.setText(entry_Naiyo);
             
       }     
}

実行結果です。



2010年9月28日火曜日

Android解説 layout その4

findViewById項目の入力と出力)

いよいよ、プログラムに手を付けます。
今まで、作成した項目(テキストボックスやボタン等)はAndroidではwidgetウィジェット)と表現します。
widgetごとにクラスをimportしておく必要があります。
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;
これが今回使用する分ですが、「そんなのわかんね~よ」という場合にはEclipseの便利な機能を使用します。
下図を参照してほしいのですが、該当するwidgetが使用するクラスをimportしていないとエラーとなります。矢印の部分をクリックするとエラーの解決候補が画面に表示されます。
たいていの場合はimport忘れなので、赤枠の部分をダブルクリックすると、import文がソースに挿入されます。








では、実際の入出力のコーディングですが
final Button btn_entry = (Button) findViewById(R.id.btn_entry);
のように書きます。この例は画面上の「btn_entry」という名前のボタン情報を入力するコーディングです。テキストボックスの情報を得るには「Button」の部分を「EditText」に置き換えます。左側の変数「btn_entry」はワークエリアなので別に他の名前でもかまいません。右側の「btn_entry 」は「R.id.」にmain.xmlandroid:id="@+id/btn_entry"と設定した名称の「btn_entry」を付けなければなりません。
他のwidgetは下記のようになります。
final EditText text_name = (EditText) findViewById(R.id.text_name);
final CheckBox ck_android = (CheckBox) findViewById(R.id.ck_android);
final RadioGroup rg_sex = (RadioGroup) findViewById(R.id.rg_sex);

では、ワークエリアにセットされた値の取り出し方ですが、これは各widgetにより異なります。下記コーディングサンプルを参照してください。
       private void entryResult() {
              String entry_Naiyo;
              /* テキストボックスの値取得 */
              final EditText text_name = (EditText) findViewById(R.id.text_name);
              entry_Naiyo="あなたは"+text_name.getText().toString()+"さんで";
             
              /* チェックボックスの値取得 */
              final CheckBox ck_android = (CheckBox) findViewById(R.id.ck_android);
              if (ck_android.isChecked())
                     entry_Naiyo=entry_Naiyo + "Androidに興味がある";
              else
                     entry_Naiyo=entry_Naiyo + "Androidに興味がない";
             
              /* ラジオボタンの値取得 */
              final RadioGroup rg_sex = (RadioGroup) findViewById(R.id.rg_sex);
              switch (rg_sex.getCheckedRadioButtonId()) {
              case R.id.rb_man:
                     entry_Naiyo=entry_Naiyo + "男性です。 ";
                     break;
              case R.id.rb_woman:
                     entry_Naiyo=entry_Naiyo + "女性です。 ";
                     break;
              }
             
              /* テキストボックスに値をセット */
              final EditText text_entry = (EditText) findViewById(R.id.text_entry);
              text_entry.setText(entry_Naiyo);
             
       }     


最後の2行はテキストボックスに値を代入する方法です。
Javaでは、データの入出力に関して、下記のようなネーミングルールがありますので、コードを読むときに参考にしてください。
なお、「Xxxx」一文字目を大文字にするということを現しています。
・データを得る  getXxxx
・データを書く  setXxxx(またはputXxxxx


次回はイベントリスナー(event listener)についてです。






2010年9月27日月曜日

Android解説 layout その3

Android layout 

Layout(レイアウト)

今まで、作成した項目は縦に並んでいますが、これはデフォルト設定がそうなっているためです。横に並べるためには、以下の手順で行います。

レイアウトタブのレイアウトからLinearLayoutを黒い画面にドラッグします。










「名前」の項目を横に並べて見ましょう。
main.xmlを開くとタグができていますので、下記ソースを参考にして、TextViewEditTextをはさむように修正してください。
<LinearLayout android:id="@+id/LinearLayout01"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">
       <TextView android:text="名前:"
                     android:id="@+id/label_name"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content">
       TextView>
       <EditText android:text="名前を入力してください。"
                     android:id="@+id/text_name"
                     android:layout_width="fill_parent"> ←変更
                     android:layout_height="wrap_content">
       EditText>
LinearLayout>
このソースに下記1行を追加します。また「LinearLayout01」も修正します。
<LinearLayout android:id="@+id/layout_name"
              android:orientation="horizontal" ←追加
android:layout_width="wrap_content"
              android:layout_height="wrap_content"

ソース解説
まず、今まで無視してきましたが、タグを作成すると、必ず生成されている2行についてです。
android:layout_width          横の長さ。
android:layout_height         縦の長さ。
を表しています。指定する値としては直接「数値」とすることもできます。
ほかに下記の指定方法があります。
fill_parent           横幅いっぱい。 (古い表現でmatch_parent
wrap_content          内容の長さに合わせる。

ちなみに、android:layout_width = “wrap_content”の状態で android:text="名前を入力してください。"android:text=""とすると表示されるテキストボックスは1文字分の大きさになります。横幅を画面いっぱいにするためにはandroid:layout_width = “fill_parent ”にします。

ほかにもテーブルレイアウトとかいろいろな設定があります。これらについてはまた機会をみて解説したいと思います。下図に実行結果を示します。
今回は性別のところも修正していますので、その部分のソースも参考にしてください。

     性別の部分のレイアウトです。結構長いソースになってしまいました。
<RadioGroup android:id="@+id/rg_sex"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
       android:orientation="horizontal">   ←横に並べる指定を追加
       <TextView android:text="性別:"     ←タイトル追加
              android:id="@+id/label_sex"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">
       TextView>
       <RadioButton android:text="男性"
              android:id="@+id/rb_man"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">
       RadioButton>
       <RadioButton android:text="女性"
              android:id="@+id/rb_woman"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">
       RadioButton>
RadioGroup>


次回はいよいよ(やっと?)入力内容を受け取るプログラムになります。

注意として「EditText>」のように"<"と"/"がソース上なくなっています。
このソースをコピー貼り付けして実行するとエラーとなります。
適宜"<"と"/"を追加してください。