ひょんなことからその原型が1990年代後半につくられたVisual Basicプロジェクトをメンテナンスすることになりました。
Visual Basicははじめてですが、なかなかおもしろいです。
個人的に憧れの(?)Windowsアプリをちょっとしたものなら作れるようになってきていることはうれしいです。
Visual Basic6.0 -> Visual Basic2010への移行を行なっています。
ははは(笑)、これもう文法が全然違うものになってますね。
Visual Basic6.0 ⇒ Visual Basic .NETというのにあがったときに、だいぶ言語レベルでの変更がされているようです。
1. Visual Basic6.0 -> Visual Basic2008は移行ツールがあるので、それで一度あげます。Visual Basic2008を起動して、Visual Basic6.0のプロジェクトファイル(.vbp)を開きます。
2. ものにもよるのでしょうけど、コンパイル通りませんので、とりあえず無理やりにでもコンパイルを通します。
3. Visual Basic2008 -> Visual Basic2010に移行ツールであげます(No.1と似たような操作です)。ものにもよるのでしょうけど、No.2ほどはコンパイルエラーはでませんでした。
4. No.3までのものは全く動きませんでした。ひとつひとつ機能を動かしながら、ダメなところを特定して、Visual Basic2010で動くように修正していきます。
ふつうのデバッグ作業です。
おおよそ15年前の先輩方の苦労がしのばれる工夫が随所にみられます。
メモリサイズ、実行速度そういったことを気にされていたのでしょう。
(自分が作ったものもどこかで誰かが触っていることがあるかもしれないとおもうと、ちょっとゾッとしました。)
最後に、Labelの中央寄せについて書いておきます。
Visual Basic6.0は、中央寄せを指定すると、Labelを配置した位置を中心として、左右に文字列が広がっていく感じです。
Visual Basic2010では、TextAlignをMiddleCenter等にした場合、Labelが配置された領域のなかで文字を中央に寄せる感じになります。
AutoSizeはFalseにする必要があるようです。
画面の中央に揃うように表示したい場合は、上記に加えて、LocationとSizeで画面幅分の領域を指定すればよいです。
言葉だけじゃ伝わらないとおもうので、絵をかけばよいのでしょうけど、面倒なので、「中央寄せの定義が異なっています」がポイントです。
(というかこんなことブログに書かなくても周知の事実なのでしょうけど……)
2013年8月30日金曜日
2013年8月22日木曜日
BitmapFun.zip
android Developersの Displaying Bitmaps Efficiently を勉強しています。

AsyncTaskは使ったことあるし、わかっているつもりだったのですが、ここのサンプルを読むと「こんな使い方するんだ!」という新たな驚きがありました。
サンプルコード BitmapFun.zip なのですが動かしてみると、サンプルの写真がキレイで感動すら覚えます。しかもネットワーク上の写真をHTTPで取得するサンプルでいろいろ勉強になります。
会社のパソコンでエミュレータ(AVD)で動かしたら、画像のダウンロードに失敗しました。
プロキシの影響でした。コードを書き換えると画像のダウンロードができるようになりました。
クラス: com.example.android.bitmapfun. util.ImageFetcher
メソッド: downloadUrlToStream(String, OutputStream)
urlConnection = (HttpURLConnection) url.openConnection();
これを書き直す。
↓↓↓↓
java.net.SocketAddress socketAddress = java.net.InetSocketAddress. createUnresolved("host", 50000/*port番号*/);
// java.net.SocketAddress socketAddress = new java.net.InetSocketAddress("host", 50000/*port番号*/); でもよいかも?
java.net.Proxy proxy = new java.net.Proxy(java.net.Proxy. Type.HTTP, socketAddress);
urlConnection = (HttpURLConnection) url.openConnection(proxy);
メソッド: downloadUrlToStream(String, OutputStream)
urlConnection = (HttpURLConnection) url.openConnection();
これを書き直す。
↓↓↓↓
java.net.SocketAddress socketAddress = java.net.InetSocketAddress.
// java.net.SocketAddress socketAddress = new java.net.InetSocketAddress("host", 50000/*port番号*/); でもよいかも?
java.net.Proxy proxy = new java.net.Proxy(java.net.Proxy.
urlConnection = (HttpURLConnection) url.openConnection(proxy);
※"host"とport番号はお使いの環境にあわせてください。
追伸
どうでもよいことですが、プロキシの設定をすればよいと気づいてコードを書き直したのですが、なかなか思ったとおりに動いてくれませんでした。
SocketAddress socketAddress = InetSocketAddress. createUnresolved("host", 50000/*port番号*/);
Proxy proxy = new Proxy(Proxy. Type.HTTP, socketAddress);
urlConnection = (HttpURLConnection) url.openConnection(proxy);
Proxy proxy = new Proxy(Proxy.
urlConnection = (HttpURLConnection) url.openConnection(proxy);
urlConnection = (HttpURLConnection) url.openConnection(); // proxy設定なしで、urlConnectionをセット★
★の行が残ったままになっていました。
追加した行にばかり気を取られて、あれこれ悩んで、気づくまで1時間くらい時間がかかりました。。。
2013年6月11日火曜日
オノマトペ
最近の流行りだそうである。
「オノマトペ」とカタカナで言われてもピンとこなかった。
日本語は擬声語というらしい。
「ギセイゴ」とカタカナで言われてもやはりピンとはこなかったであろう。
擬声語と漢字で書かれると、ようやくぼんやりと意味がつかめる。
ぱみゅ
じぇじぇ
スポーツの指導でも使われはじめたそうだ。
というか、ようやくやっとのことで、その有効性に世間が追いついただけのことであるとおもう。
ご存知我らがミスターG、長嶋茂雄さんはもうずいぶん前から、オノマトペを多用されている。
オノマトペの第一人者といっても過言ではない。
オノマトペの第一人者といっても過言ではない。
この一事をもっても、やはり国民栄誉賞の受賞は遅すぎたくらいなのである。
2013年6月4日火曜日
2013年6月1日土曜日
ツートップ
フィーチャーフォン(いわゆるガラパゴスケータイ、ガラケーのこと)をお使いのみなさまへ
この話はいまさらブログにするまでもなく、みなさんご存知のことですかね。
私はスマートフォン向けのアプリ開発をしています。
いまは、androidというオペレーティングシステムを使った機種のみで動くアプリを公開しています。
趣味の範囲です。
ドコモのスマートフォンは、一部を除いて、ほとんどの機種がandroidです。
ソフトバンクとauは、androidとiOS(iPhone)の両方があります。
ドコモをお使いの方は、スマートフォンへの切り替えを薦めるようなダイレクトメール(メッセージRというのでしたっけ?)がきているとおもいます。
スマートフォンに切り替えたら、ぜひ、下記のアプリをインストールしてくださいね!
読書日記
ニャつかしの昭和歌謡曲
Life Measure
Nyat Surfing
ただ、切り替える前によく考えてから、機種変更してください。
それは月々の利用料金です。
使い方や契約年数にもよりますが、いまもフィーチャーフォンを使用している方の中には、利用料金は1700円とか2000円以下という方が大半ではないかとおもいます。
この数字に根拠はありません。私の勝手な推測です。
なにを言いたいかというと、このくらいの利用料金でお使いの方には、特によく考えていただきたいのです。
フィーチャーフォンは勝手に通信をすることはありませんでしたが、スマートフォンは勝手に通信をします。そしてその通信にはお金がかかります。
ということで、絶対にパケット定額を契約をする必要があります。
「絶対」というのは語弊があるかもしれませんが、これを契約せずに、通信をすると、たぶんうん十万、うん百万を請求されることになるとおもいます。
このパケット定額サービスですが、ドコモの最新機種の場合、月額4,935円から5,985円くらいかかります。
これの他にも基本使用料とかが必要です。
月々、2000円の支払いだった人が、スマートフォンに乗りかえると、だいたい3倍に利用料金が増えることになります。
いまはいろいろとキャンペーンとかがあるようなので、6000円以下だったりするのかもしれませんが、とにかく2000円ではすみません。
逆に、もしフィーチャーフォンを使用していて、月々の支払いが8000円を超えているという方であれば、スマートフォンに変更するのは得策かもしれません。
私は詳しくないのでわからないのですが、無料通話アプリ等がありますので、月々の利用料金が6000円くらいで毎月収まるようになるかもしれません。
私はスマホアプリを作っているという立場からは、スマホユーザが増えることは、インストールしていただける可能性が増える(はずな)ので、スマホへの切り替えを薦めたいです。
ただし、繰り返しになりますが、月々2000円の支払いの方にはよく考えていただきたいのです。
あとは、電池持ちがとても悪いです。2日持つと大々的に謳っている機種でも小さい字で書いてある特殊な使用条件下での数字です。それって、160分の間違いじゃないの? という内容です。それでも他のメーカーよりはいいはずですから、他のメーカーだと、うーんどうなのでしょうね…… androidの話です。iPhoneはわからないです。
あとは、電池持ちがとても悪いです。2日持つと大々的に謳っている機種でも小さい字で書いてある特殊な使用条件下での数字です。それって、160分の間違いじゃないの? という内容です。それでも他のメーカーよりはいいはずですから、他のメーカーだと、うーんどうなのでしょうね…… androidの話です。iPhoneはわからないです。
この話はいまさらブログにするまでもなく、みなさんご存知のことですかね。
私の個人的な感想ですが、スマホを初めてもったとき、小さなパソコンだと思いました。
家のパソコンですることと言えば、ネットサーフィンくらいのものですが、なんだかドキドキ・ワクワクしました。
他にももっと便利な面はたくさんあるとおもいますし、スマホにこういったドキドキ・ワクワクを感じる方は、ぜひ購入を検討してください。
最後に、昔のフィーチャーフォンはよくできていたとおもいます。ちょっとやそっとの操作で、熱くなったりとか再起動したりとか、電源が入らなくなったりとかはしなかったとおもいます。
スマホはこういうことがよく起こると、逆に話題になっている機種があったりします。
機種選びも慎重に。
【追記】
スマホにする必要のない人々
iPhone愛用中のドコモ店員のブログ
というブログの記事を貼っておきます。
いまさら気づいたのですが、この記事を読んでもらいたい人がこのブログにたどり着くのはほとんど不可能だということです…… それは①素人ブログなので検索しても引っかからないから、もうひとつは②この記事を読んでもらいたい人はパソコンを持っていないからです。とはいえ、これはブログなので、おもったことを書いていきます。
【追記】
スマホにする必要のない人々
iPhone愛用中のドコモ店員のブログ
というブログの記事を貼っておきます。
いまさら気づいたのですが、この記事を読んでもらいたい人がこのブログにたどり着くのはほとんど不可能だということです…… それは①素人ブログなので検索しても引っかからないから、もうひとつは②この記事を読んでもらいたい人はパソコンを持っていないからです。とはいえ、これはブログなので、おもったことを書いていきます。
2013年5月31日金曜日
2013年5月25日土曜日
Eclipse ADT 22 のバージョンアップでは Android SDK Manager のアップデートは 2 回する。
ありがとうございます。
助かりました!
Eclipse ADT 22 のバージョンアップでは Android SDK Manager のアップデートは 2 回する。
【追記】
ビルドは通って、移動機にインストールもできる。
だけど起動できない!
エラーログは、.jarの中のクラスが見つかないと言っている場合は、
プロジェクトを右クリック -> Properties -> Java Build Path -> Order and Exportで、該当の.jarにチェックをいれてみてください。
私の場合は、admobのクラスがないとかなんとか言われたときはこれで直りました。
助かりました!
Eclipse ADT 22 のバージョンアップでは Android SDK Manager のアップデートは 2 回する。
【追記】
ビルドは通って、移動機にインストールもできる。
だけど起動できない!
エラーログは、.jarの中のクラスが見つかないと言っている場合は、
プロジェクトを右クリック -> Properties -> Java Build Path -> Order and Exportで、該当の.jarにチェックをいれてみてください。
私の場合は、admobのクラスがないとかなんとか言われたときはこれで直りました。
登録:
投稿 (Atom)