SyntaxHighlighter

2010年7月30日金曜日

Softbank 未来の社長候補を募集!

Softbankが現社長の孫さんの後継者発掘・育成のため「ソフトバンクアカデミア」を開校
するそうだ。入校希望者はWebサイトからエントリーができるそうです。定員は30名で
期間は8月31日までとなっています。

たとえ、社長にはなれなくても経営者としての勉強には大変役に立つのでは
ないでしょうか?
Softbankクラスの企業になると社会的使命も大きいと思います。
消費者が豊かでないと物は売れません。
経済全体を底上げしてくれるような優秀な後継者が見つかることを
期待しています。

2010年7月29日木曜日

出張に行ってきました。

15年来お付き合いのあるお客様のソフトの
バージョンアップ作業に人足として参加してきました。

場所は四国の徳島です。来週阿波踊りがあるらしく
夜になると、練習する太鼓や鳴り物の音が街中に
響いていました。

今回のお客様ですが、地元にしっかり根付いた
ご商売をなされていて、こちらの提案に対しても
合理化や便利さだけを追求するのではなく、
判断基準の一つとして「顧客に安心し末長くお付き合いして
いただくためには」があり、そういうコストまで削減する必要
はないという発言が印象に残った。

私自身、思い当たるのはチケットレスで本当に飛行機に
のれるのかな?という不安を毎回持っていることである。
古い人間なのか、チケットを手にするまでは、何か落ち着か
ないのである。
システムを使う人からもう一歩先のシステムに利用される人
(言い回しが変だがあえて)が自然にふるまえるような
システム提案を考えていかないといけないと思いました。

2010年7月27日火曜日

Androidアプリ 発売元AICELLで雑誌に紹介!

アイセルのAndroidの立山(仮名)先生が作成した
Androidアプリが続けざまに2冊の雑誌に紹介された。

一冊がPHP研究所から出ている月刊誌「THE21」7月号
そしてもう一冊が「AndroidアプリSUPERGUIDE」です。
残念ながら「THE21」7月号は売り切れとなっていますが
時間を有効に使うためのツールとして紹介されていました。

未だ発表に至っていない、他の社員についても励みに
なってくれると良いと思います。


「ひびリスト(日課管理)」というアプリは
毎日続けたいことを登録して、達成できたことに
チェックすることで達成度が表示されます。
達成度によりウィジェットの色が変わります。

いろいろと要望が上がっているようですが、
先生大忙しで、なかなか要望に応えられないこと
気にしていました。
時間が取れ次第、改善されると思いますので
しばらくお待ちください。

・続けたいことの登録サンプル画面




・達成率の表示サンプル画面

2010年7月26日月曜日

猛暑の中で

うつむきかけた~♪あなたの前を~♪

文字だけだとわかりずらいですが、松山千春の「季節の中で」
の一節です。サビの部分を
あ~つい、暑い季節の中で、わ~た~しは今日も外回り~♪
と頭の中でリフレインさせています。

もう一曲この時期になると出てくるのが
井上陽水の「かんかん照り」
暑い夏が~、ウ~ワァ~ 夏が走る~、ウ~ワァ~
他の部分の歌詞は忘れましたが、このフレーズだけは
なぜか頭に残っています。

先週、駅のホームでうずくまっている人を3人も見かけました。
(夜ではなく、昼間にです)
外回り営業の皆さん、熱中症対策を怠りなく
夏場を元気に乗り切りましょう。
今週もよろしくお願いします。

2010年7月23日金曜日

Androidアプリを作ってみよう その10

「defaukt.properties」の説明です。
以下は、ソースの内容です。


This file is automatically generated by Android Tools.
Do not modify this file -- YOUR CHANGES WILL BE ERASED!
This file must be checked in Version Control Systems.
To customize properties used by the Ant build system use,
"build.properties", and override values to adapt the script to your
project structure.
Indicates whether an apk should be generated for each density.
split.density=false
Project target.
target=android-8

このファイルもR.javaと同じように自動生成されたファイルなので
修正等を行ってはいけません。というコメントの後に
ソースらしきものがあります。最後の4行ですが、
勝手な解釈では

apk作成時に分割して作成するか=いいえ
動作させるOSは=Android 2.2

ということかな???


やっと、プロジェクト内の各階層とファイルの説明が終わりました。
これからソースを作成しながら、より理解が深めればと思います。
より良いものにするためにご意見、ご感想お待ちしております。

2010年7月22日木曜日

Androidアプリを作ってみよう その9

AndroidManifestの回がやってきました。
このキーワードは検索頻度も高く、みなさん興味を
持っておられるようです。

意味合いとしては、プロジェクトで使用するIOを宣言しておく
ファイルということでしょうか。

「HelloAndroidActivity」を画面表示するだけでは、Activityが
ひとつですが、この先画面が増えるにつれ、宣言も増えていきます。

また、Internet接続を行う、データベースを使用する、GoogleMAPを
使用するといった具合に、IOに関する機能に応じてメンテナンス
していく必要があります。
本当は、基本設計等に沿って、先に決めておくものと思いますが
ドキュメントなしで、開発する場合は、どうしても後付けになってしまいますね。

以前、私が経験したのは、画面を追加したときにAndroidManifestに追加するのを
忘れていて、実行時エラーとなり丸一日悩んでしまいました。
無駄な時間を作らないためにも事前に簡単なメモでも良いから
設計書を作成してAndroidManifestへの登録を先に済ませておきましょう。

各項目の説明については、サンプルソース作成時に説明したいと思います。
ここで、HelloAndroidActivityのAndroidManifestのソースを載せますが
xmlファイルのため、画像イメージで貼り付けます。


2010年7月21日水曜日

Androidアプリを作ってみよう その8

その8まできました。予定では10回以内と思っていましたが
このペースですと後5回くらいかかりそうです。

今回は「res」の中身です。これは「resource」の略だと思われます。
現在、ディレクトリィで見えているのは「drawable」が解像度別に3種類、
「layout 」、「values 」の3フォルダーですが、これらも含め全部で8種類が
あります。ちゃんと理解したい場合は英文になりますが「こちら」を参照してください。

1.Animation Resources アニメーション

 Tween animations は res/anim/ に保存し R.anim からアクセスできます。
 Frame animations は res/drawable/ に保存し R.drawable からアクセスできます。
2.Color State List Resource カラーステートリスト
 定義色を変えたい場合に設定
 res/color/ に保存し R.color からアクセスできます。
3.Drawable Resources ドロアブル
 ビットマップやXMLで定義した様々なグラフィック
 res/drawable/ に保存し R.drawable からアクセスできます。
4.Layout Resource レイアウト
 アプリケーション画面のレイアウト
 res/layout/ に保存し R.layout からアクセスできます。
5.Menu Resource メニュー
 アプリケーションメニューの定義
 res/menu/ に保存し R.menu からアクセスできます。
6.String Resources 文字列
 定義文字列、文字列の配列、および複数形(と文字列の書式設定とスタイルを含む)。
 res/values/ に保存し R.string, R.array, そして R.plurals からアクセスできます。
7.Style Resource スタイル
 アプリケーション画面の項目の要素スタイル
 res/values/ に保存し R.style からアクセスできます。
8.More Resource Types その他
 それぞれの型定義 booleans, integers, dimensions, colors, and other arrays. 
 res/values/ に保存し R.bool, R.integer, R.dimen, からアクセスできます。

この説明ではさっぱりわかんと思いますので、例題等をこなしながら
復習がてらに読み返すのが良いと思います。

2010年7月20日火曜日

Androidアプリを作ってみよう その7

R.javaの解説です。
このソースはプロジェクトのパッケージ構成から
自動生成されたものなので、勝手に変更しては
いけません。(コメントの内容もほぼ似たようなものです)

現在の内容は以下のようになっています。

/* AUTO-GENERATED FILE. DO NOT MODIFY.

*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package jp.co.aicell;

public final class R {
  public static final class attr {
  }
  public static final class drawable {
    public static final int icon=0x7f020000;
  }
  public static final class layout {
    public static final int main=0x7f030000;
  }
  public static final class string {
    public static final int app_name=0x7f040001;
    public static final int hello=0x7f040000;
  }
}

では、ソースの内容ですが、
先頭はコメントです。複数行にわたる場合は/* ~ */の範囲が
コメントとして扱われます。1行の場合は//で表すことも可能です。

例:public static final int main=0x7f030000;  // メイン画面のID

①public final class R {
final :クラスの属性を表します。これを宣下したクラスは継承元にはなれません。
   誰もこのクラスを継承した新たなクラスを作成できないことになります。
   まぁ、だからfinal なんでしょう。
   解説本によっては「インスタンス」を作れないと表現している場合が
   ありますが、「インスタンス」については、また別途説明します。

②public static final int main
static:これは変更不可能な文字列定数の宣言です。
   ですから、int main=0x7f030000;のように値をここで設定しておく
   必要があります。


次にこのソースをじっと見ていると、プロジェクトのディレクトリィ構成に
似ていること気がつくと思います。
どこに何があるか管理しているのです。
使用する画面や文字列が増えるとこの定義も増えていきます。

たまに覗いてみると、自分で増やした文字列や画面が増えていることが
わかります。ただしくれぐれも見るだけにしておいてください。

2010年7月16日金曜日

Androidアプリを作ってみよう その6

では、JAVAソースの中を見てみましょう。


①package jp.co.aicell;

②import android.app.Activity;
 import android.os.Bundle;

③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);
    }
 }

①package:プロジェクト生成時に設定したパッケージ名称。「.」単位でフォルダーを作成しその中にJAVAソースを格納します。

②import:外部のクラスを使用する場合の定義。パッケージ名.クラス名で表します。どういったものがあるかは「Android developers」のリファレンスを参照してください。リファレンスをみると実にたくさんのクラスが定義されていることがわかると思います。どういったときにどういう外部クラスを使うのかについては、参考書等にあるサンプルソースから拾ったほうが早いと思います。

③public class:プログラム本文の始めです。クラス名はJAVAソース名と同じ名前でないといけません。extends(継承) とは、その次にあるActivityというクラスを元にして別のクラスを作りますという意味です。元になるクラスをスーパークラス、継承された別のクラスをサブクラスといいます。「継承」はJAVAのようなオブジェクト指向言語でのキモになりますので、私が理解できたら改めて説明したいと思います。

④@Override:オーバーライドとは、スーパークラスから継承されたサブクラスで、元のメソッドを書き換えますよ。という宣言です。ここでいうメソッドとはプログラムを構成しているひとつの関数というイメージです。

⑤Public void:「public」③でも登場したpublicですが、ここで説明させていただきます。このほかにprotected、privateと呼ばれるものがあります。これらのことをアクセス修飾子と言います。 参照先を制限するために宣言します。下記のような違いがあります。

  ・省略     同じパッケージ内からしか呼び出せない。
  ・private    同じクラス内からしか呼び出せないが、同じクラスから作られたオブジェクト同士
          であれば、相互の private メンバーにアクセスできる。
  ・protected   同じパッケージか、そのサブクラスからしか呼び出せない。
  ・public     どこからでも呼び出せる。

voidとは関数に戻り値がないことをあらわしています。戻り値があり場合にはその型を書きます。たとえば文字列を返す場合は「String」といった具合です。
onCreate(Bundle savedInstanceState)は、アンドロイド端末からアクションが起きた最初に動くメソッドで「android.app.Activity」の中にあります。
次の⑥の行にあるsuper.onCreate(savedInstanceState);まで、セットでandoroidプログラムでの決まり文句と思っていてください。ちなみにonCreateのパラメータ(Bundle savedInstanceState)のBundleは「android.os.Bundle」のクラスです。

⑥super.onCreate:ご想像していたと思いますが、スーパークラスのonCreateを実行しなさいということです。

⑦setContentView(R.layout.main):この1行で「Hello World,HelloAndroidActivity!」を端末に表示しています。setContentViewが画面表示をするクラスで(R.layout.main)がそのパラメータとなります。パラメータのないようについては、また、後ほど。

長くなりました。お疲れ様。

2010年7月15日木曜日

Androidアプリを作ってみよう その5

では、出来上がったソースを見てみましょう。
Eclipseのパッケージエクスプローラを展開すると
下図のような構成になっています。



















順に見ていきますと
①HelloAndroidActivity.java:JAVAソース。
②R.java:画像や文字列などをプログラムから参照するためのIDを定義。Eclipseのプラグインが自動的にIDを採番するので、通常は意識しない。
③drawable:アイコン等のイメージを格納するフォルダー。端末の解像度によって、どのフォルダーから取り出すかが決まります。ちなみにAndroidでは、PNG(ピング形式)が推奨されています。
④main.xml:画面のレイアウトの定義です。プログラムから画面の定義を分離することで、独立性を保ちます。
⑤string.xml:画面の入出力で使用する、文字列の定義です。ロジックから分離することで、日本語表記から英語表記に切り替える場合、このファイルを入れ替えるだけですますことが可能となります。
⑥AndroidManifest.xml:アプリケーションの属性定義。プロジェクトで使用する画面、ネットワーク等のサービスを宣言します。プログラムロジックとは直接関係ないので忘れがちですが、ここでの定義を忘れていると実行時エラー(必要なソースが見つからない)となるので注意が必要です。詳細は、xmlの中身の解説時に改めてします。
⑦default.properties:プロジェクト生成時に自動的に作成されるファイル。エミュレータ情報等が設定されている。

2010年7月14日水曜日

Androidアプリを作ってみよう その4

画面の赤枠で囲った部分に表示されている内容ですが
「ハローアンドロイド」:プロジェクトで設定したアプリケーション名が表示されます。
「Hello World,HelloAndroidActivity!」:コンパイル時にEclipseが付与した名称+プロジェクトで設定したCreate Activityの名称が表示されます。

ちなみに、アイコン(デフォルトアイコン)は
以下のようになります。


2010年7月13日火曜日

Androidアプリを作ってみよう その3

無事、プロジェクトはできたでしょうか?
成功するとEclipseのパッケージ・エクスプローラのところに
プロジェクト名が表示されます。










では、何はともあれ実行してみましょう。
メニューアイコンにある「再生」のようなボタンをクリックしてください。
「次を実行」ダイアログがでますので、「Androidアプリケーション」を
選択してください。最後に「OK」をクリックです。
(Eclipseで実行する方法は他にもいろいろありますのでお好みでどうぞ)


















こんな画面が出たら成功です!



















もしも、LOCKがかかった画面で動かない場合は、
鍵マーククリックしながら、右にスライドさせてください。

次回は画面に出ている項目説明です。



2010年7月12日月曜日

androidアプリを作ってみよう その2

まずは、ノンプログラミングで作成できる「Hello Android」
を作ってみましょう。

Eclipseを起動して「ファイル」→「新規」
→「Androidプロジェクト」を選択してください。









そうすると、下図のプロジェクト設定画面が表示されます。
(Eclipseのバージョンや設定で画面が異なります。)
赤枠で囲ったところに、それぞれ入力します。
(1)プロジェクト名:ここでつけた名称のフォルダーが作成され、その中にこれから作成するソースや画面定義等が格納されます。
(2)ビルド・ターゲット:作成したアプリケーション動作させるAndroidのバージョンを指定。特にターゲットにするべきものがなければ、最新のものを選択しましょう。ちなみに「Google APIs」を選択すると、Googleが提供している地図情報等を使用できます。
(3)プロパティー:
・アプリケーション名:日本語が使える貴重な項目なので、プロジェクト名の和訳等を設定すると良いでしょう。ここで設定した名称は、Android端末のアイコン名にもなりますので、その辺も意識して名前付けしてください。
・パッケージ名:プロジェクトで命名するクラス名等をユニークにするための修飾名。ドメインを逆から書くのが推奨されている。これにより同じ「System」というクラスが発生しても別物として判別される。
・Create Activity:起動時に最初に登場する画面の名称です。「Activity」はandroidで重要なキーワードですので、独立した章として詳しく解説したいと思います。

後は「完了」をクリックしてください。



















今日はここまでです。

2010年7月9日金曜日

androidアプリを作ってみよう その1

最近営業ネタが多かったですが、
久々にシリーズものに挑戦。

Androidアプリ作成とその解説?
をしていきたいと思います。
素人である私の解説の信憑性はともかく
androidアプリを作成するきっかけにでも
なればと考えています。

なお、
開発環境は
を参照してください。

では、実質スタートは来週になります。
しばしお待ちを・・・

2010年7月8日木曜日

AndroidとJAVA

Androidの開発はJAVA言語を使用して行う。
そのせいか、巷に出ているAndroid関係の参考書は
JAVAを知っている前提で書かれている。

その結果、JAVAを知らない私にとって、参考書に
書かれているソースコードが読めずにずになかなか
先に進めないし、応用も利かない。

そのうち、Androidで学習するJAVAとか出版されるかも
しれないが、ここは基本に立ち返り、JAVAを学習しようと
思い立った。

まずは、やさしいものからと思い探し当てたのでが
楽しいJAVA入門
私レベルでもすんなり理解できるよう書かれており、
なかなかの優れモノと思います。

ネットでなく、書籍を購入する場合は、こちらから



その他のJAVA入門関係はこちらから
JAVA入門書

2010年7月7日水曜日

Androidアプリ ドコモ、KDDIも販売へ

Androidアプリをダウンロードする場合、
当然のようにAndroid Marketを利用すると
思われるが、ドコモ、KDDIでも
ダウンロードサービスを実施するらしい。

有料アプリの場合、携帯使用料の請求と
一緒に徴収されるので、別途支払い方法を
入力する手間がなくなり便利かもしれない。

しかし、元々廉価なソフトが多いので、
どの程度のビジネスになるのか興味深い。

これが成功すると、新たに小売業として
いろいろな会社が参入するのかもです。

2010年7月6日火曜日

野村ノートからの格言

昨晩、NHKで「こころの遺伝子」なる番組があった。
その中で、ゲストの野村克也氏が書いた「野村ノート」から
の引用があったので、紹介したい。
言いたいことはわかるが、実践するには大変難しいことと
思う。ただ、こういった言葉を知るだけでも役立つのでは
ないだろうか。
 
・心が変われば態度が変わる。
・態度が変われば行動が変わる。
・行動が変われば習慣が変わる。
・習慣が変われば人格が変わる。
・人格が変われば運命が変わる。
・運命が変われば人生が変わる。


野村克也氏の本はこちら

2010年7月5日月曜日

Android センサー機能について

私がAndroidに興味を持った理由のひとつに、
端末本体が持つセンサー機能がある。
内蔵されているセンサーは「Android Developers」のリファレンスから
拾うと下記のようなものがある。

・加速度計センサー
・ジャイロスコープセンサー(方向?)
・光センサー
・磁場センサー
・圧力センサー
・近くセンサー(距離?)
・温度センサー
(注)
リファレンスの内容を直訳しているので、原文の読める方は
こちら」で確認してください。

初めて自動ドアの前にたった感動が忘れられず、
ずっと、センサー技術にあこがれていた。
今、android端末のおかげで、誰もがセンサー技術を使った
アプリケーション作成が可能な時代となりました。
後はアイデア!これが一番難しいかもムムムッ~!

2010年7月3日土曜日

夏風注意!

くしゃみと鼻水が止まらないのと
頭がボ~っとしてしまっていたので、
休暇をいただきました。

ここのところの暑さで体力が奪われていたのと
汗をかいた状態でエアコンの効いた部屋での打ち合わせ。
この組合せがまずかったかなと思っています。

外回りの営業には、蒸し暑かったり、雨だったりと
ホント辛く大変な時期ですので
皆さんも気をつけて下さいね。

2010年7月1日木曜日

無煙たばこ

東京都限定発売であった無煙たばこ「ゼロスタイル・ミント」が手に入った。
タバコを吸いづらいこのご時世。舘ひろしのCMをみて自分も禁煙に挑戦
しようかな~なんて考えてみたりもしていた。
このタイミングで無煙たばこを手に入れたのでした。
早速試してみましたが、本物とは吸った感がまったく違うものでした。
せめて、吸い口を普通のタバコに近づけるとか工夫がほしかったです。

経済的理由からも、しばらくはこれで我慢しようかなと思います。
このまま止められれば一番いいのでしょうけどね。

使ってみた皆さんの感想も聞いてみたいです。