ドリンクバーゲン会場

Androidでテストプログラム作成12011年11月15日 18時15分27秒

Eclipseを使ってAndroidの開発環境を構築しましたので、
早速、テストプログラムを作成していきたいと思います。

解説本などでは、「HelloWorld」から始まりますが、表示だけ出してもしょうがないので、
簡単なプログラムを作りたいと思います。

会社では、通信機能の利用は必須となりそうなので、
とりあえず、HTTP通信を行いデータのやり取りを行いたいと思います。

Android側からキーとなる値を送信し、サーバー側のPHPで受け、
MySQLからデータを取得し、Androidに送信、表示させます。


いくつかサイトを見ていると、データの受け渡しにはJSONを使っているので、
今回はJSONを使ってみたいと思います。
まず、準備としてMySQLとPHPでサーバー側のプログラムを作ります。
MySQLにはtestdbというテーブルを作成します。
ID、Name、Otherという3つの項目をつくります。
PHPは、IDをキーにMySQLを検索し、NameとOtherを取得、JSON形式に加工し、
Androidに送信するという、単純なものです。

これから作成に入っていきます。

Android開発 環境構築2011年11月01日 13時53分43秒

会社から、Androidのソフト開発に向けての調査をするように言われました。
もともと興味はあったので、これ幸いと開発環境を整えるところから始めました。

必要なソフトをダウンロードしていきます。
JDK
Eclipse
AndroidSDK
の3つをそれぞれダウンロードします。
Eclipseに関しては、日本語化されているPleiadesを使用しました。

まず、JDKをインストールします。
と言っても特に設定を変更する必要はありません。
Pleiadesは解凍したものを適当なところにコピーするだけですし、
AndroidSDKも画面の指示に従ってインストールをおこないました。
AndroidSDKのインストールでは、JDKの存在チェックを行うので、
かならず、先にJDKをインストールします。

インストールが済んだら、EclipseでADTというEclipseのプラグインをインストールします。
Eclipseを起動し、「ヘルプ」メニューから、「新規ソフトウェアのインストール」を選択します。

「インストール」画面で「追加」をクリックし、「名前」と「ロケーション」を入力します。
名前に「ADT」と入力し、ロケーションには「https://dl-ssl.google.com/android/eclipse/」と入力して、
「OK」をクリックすると、インストール画面に開発ツールの一覧が表示されます。

「すべて選択」をクリックすると、チェックがはいるので、画面の指示に従ってインストールを行います。

インストールが完了したら、ツールバーにAndroidのボタンが追加されて、Android開発の準備は完了です。

プログラムが終了しない。2011年10月17日 10時44分11秒

今進めている開発では、起動時にタスクトレイに格納するように指示があり、
設定を追加しました。
追加した内容は、起動時にタスクトレイにアイコンを表示し、画面は最小化して表示はださない。

画面表示はアイコンをダブルクリック。
×では終了せず、最小化にする。
プログラムを終了する際にはアイコンを右クリックして、メニューを表示し、
終了をクリックすることで、プログラムを終了させる。

アイコン起動のプログラムでは、一般的な操作方法だと思います。
設定の仕方はネットに載っていたので、その通りに設定を追加し、テストしてみました。

起動時に最小化したうえで、タスクトレイにアイコンを表示させるには、
「NotifyIcon」コンポーネントを追加し、コンポーネントのIconプロパティにアイコンファイルを選択します。
次にメイン画面のプロパティにある、「WindowState」を「Minimaized」に変更すればOK!

ダブルクリックで画面を表示させる方法ですが、
「NotifyIcon」のプロパティにあるダブルクリックイベントに設定を入れます。

this.Visible = true;
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
}
this.Activate();

1行目で画面表示を許可します。
次に最小化の設定になっているか確認し、最小化の状態であれば、ノーマルに変更しています。
最後にフォームをアクティブにすることで、画面が表示されます。


「×」で最小化させるには、「FormClosing」イベントで終了処理をキャンセルし、最小化の指定を設定します。
終了処理のキャンセルは、

e.Cancel = true;
this.Visible = false;

上記の2行を追加することで、最小化の指定となります。
上の行が終了処理をキャンセルする処理で
下の処理が、画面を最小化する処理になります。

最後にプログラムを終了させる処理を追加します。
まず、「ContextMenuStrip」を追加し、「終了」の項目を入力します。
入力した「終了」をダブルクリックして、そこに終了の処理を追加します。

notifyIcon1.Visible = false;
Application.Exit();

上記の2行を追加します。
上の行は、タスクトレイに表示されているアイコンを消すための設定です。
これは、終了時にアイコンだけ表示が残ることを防ぐためのものです。
下の行がプログラムを終了するための処理になります。

これらの設定を追加し、実際にテストを行ってみました。

起動時にアイコンのみ表示し、ダブルクリックで画面の表示を行い、
×で最小化とここまでは、順調にいきました。
しかし、最後の終了処理で、アイコンは消えているのに、プログラムが終了しないという状況になりました。

当初はアイコンが消えていたので、プログラムも終了しているのかと思っていたのですが、
VisualStudioが実行中のままになっていたので、おかしいなぁと思っていました。
サーバーとの通信プログラムなので、サーバー側から通信してみると、たしかに動いているようです。
アイコンは消えているけどプログラム自体は終了していませんでした。

いろいろ調べてみると、終了に関しては確実ではないようでした。
別の終了方法がないか確認して終了処理を変更しました。

notifyIcon1.Visible = false;
System.Environment.Exit(1);

「Application.Exit();」を「System.Environment.Exit(1);」に変更したところ、
無事に終了させることができました。
掲示板などでは、使わない方が良いとかかれている方もいらっしゃったのですが、
とりあえず、終了できないと話にならないので、とりあえずこれで様子を見てみようと思います。

Accessに接続すると「クエリーが複雑すぎます」となり動かない2011年08月29日 15時52分48秒

現在C#で開発を行っています。
データの保存先にAccessを使っているのですが、
C#からAccessに接続する際に「クエリーが複雑すぎます」というエラーが出るようになりました。
ただ、単純なSELECTで抽出条件もひとつのみという状況で複雑と言われても・・・!

ネットで調べてみると、テーブルの項目が100個以上になるとダメみたいで、
修正が入り、テーブルに項目を追加してからこのエラーが出るようになったので、
ためしにAccessを元に戻し、項目を減らしたらエラーはでなくなりました。

テーブルを分割し、項目数が3桁にならないように調整しながら開発を進めています。
今回は、データが複雑になることがなく、1対多になることがないので、
一つのテーブルでと考えていましたが、どうやら無理なようです。

このような制限があるとは知りませんでした。

次はC#!!2011年07月07日 11時59分28秒

転職してから、VB.NETを中心に開発をしてきました。
PHPなどで簡単なプログラムも作成していますが、
会社でのメインとなる生産管理のプログラムはまだ組んでいません。

ようやく開発することになったのですが、C#で作るように言われました。
正直いつかはC#での開発をすることになると思っていましたが、
いきなり来るとは思っていなかったので、ちょっとびっくりです。

ネット上でC#について調べたり、簡単なプログラムを組んだりしているのですが、
C#の場合、VB.NETと一緒にサンプルが載っていることが多く、
比較的楽に勉強ができています。

最近は仕事の内容もだいぶ理解できているので、
十分に対応できる状況になってきていると思っています。