<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>int hase; /*不要*/</title>
<link>https://ameblo.jp/firstdep/</link>
<atom:link href="https://rssblog.ameba.jp/firstdep/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>プログラミングとかサーバーとか技術系のこと</description>
<language>ja</language>
<item>
<title>GoogleMapを極める(1pxあたりの緯度経度を調べる)</title>
<description>
<![CDATA[ ちょっとおかしいので修正中<br><br>GoogleMapの1pxは何mなのか<br><br>まず結論から書いとくと<br><br><pre class="program"><br>スケール19における縦方向1pxあたりの縦方向距離 ＝  0.298508125(m)<br>スケール19における1pxあたりの経度 ＝  0.298508125 / ((2.0 * π * 6378150.0) / (360.0)) = 2.68153865 × 10-6<br><br>注意：北緯36.41109度における<br>スケール19における縦方向1pxあたりの横方向距離 = 0.239520958(m)<br>スケール19における1pxあたりの経度 = 0.239520958 / (6378150.0 * cos(36.41109/180*π)*2*π/(360)) = 2.67359014 × 10-6<br></pre><br><br>です。導出方法はまとまってないので興味のあるひとだけどうぞ<br><br><br><br>地図研究で大きな壁にぶつかってしまった。これがわからないとGoogleから地図画像を集めえうことができない！<br><br><br>そこで早速調べてみるとでてきました<br><br>Googleマップの緯度経度とピクセル数の変換方法<br>http://magpad.jugem.jp/?eid=99<br><br>さっそくこの方法を実践！<br>複数の地図画像を収集して重ねてみる<br><br>↓<br><br><a href="http://stat.ameba.jp/user_images/20110601/20/firstdep/cf/4a/p/o0800080011264609463.png"><img src="https://stat.ameba.jp/user_images/20110601/20/firstdep/cf/4a/p/t02200220_0800080011264609463.png" alt="$int hase; /*不要*/-map1" border="0"></a><br><br>あれ・・縦にも横にもズレまくっとる！！<br><br>そもそも、地球は楕円なのに緯度と経度同じ式で導くっておかしいよね！<br><br>つまり！<br><br><strong>問題１：縦(緯度)と横(経度)では1pxに対応する距離が違う</strong><br>上のHPで考えているのは横軸（経度）なので正確な縦軸（緯度）を導く<br><br><strong>問題２：81px=20mが怪しい</strong><br>81px=20mがかなり数値的に怪しい・・。<br>1px以下は数えることができないから81pxなだけで正確な値でない気がする。<br><br><br><br><br><strong>問題１：縦(緯度)と横(経度)では1pxに対応する距離が違う</strong><br><br>まずは問題１を解決する。<br>縦方向1pxあたりの距離を導出する<br><br>残念ながら、GoogleMapには縦軸の補助線が引いていない<br><br>そこで、広い範囲の地図で距離とピクセルとれば、多少距離を測定ミスしても（ある程度）正確な距離がでるはず！<br><br>で、実際にとってみた<br><br><a href="http://stat.ameba.jp/user_images/20110601/21/firstdep/f8/d5/p/o0800056911264620920.png"><img src="https://stat.ameba.jp/user_images/20110601/21/firstdep/f8/d5/p/t02200156_0800056911264620920.png" alt="$int hase; /*不要*/-map2" border="0"></a><br><br>ピクセル数の調整がしやすいように島の幅に合わせて画面調整！<br><br>パプアニューギニアさんありがとう<br>緯度線が国境になってるしめっちゃ測りやすかった<br><br><br>小さくて見づらいんですけどパプアニューギニアはスケール6で299pxです。<br><br>さらに、距離を測ってみる<br><br><a href="http://stat.ameba.jp/user_images/20110601/21/firstdep/e4/28/p/o0800047911264642724.png"><img src="https://stat.ameba.jp/user_images/20110601/21/firstdep/e4/28/p/t02200132_0800047911264642724.png" alt="$int hase; /*不要*/-map3" border="0"></a><br><br>726.351km！<br><br>つまり<br><br>スケール6における縦方向1pxあたりの距離dr ＝ 726.351/299 = 2.42926756(km) = 2429.26756(m)<br><br>さっきの方法で計算すると ＝ 20/81*2^(19-6) = 2022.71605(m)<br><br><br>さっきの方法が多少ズレてることを考慮しても、縦と横で1pxあたりの値が400mも違う！<br>これはおかしい<br><br><br>そこから、1pxあたりの緯度を導く<br><pre class="program"><br> 1ピクセルあたりの緯度 = dr / (( 2.0 * π * 6378150.0(地球の円周) ) / (360.0))<br></pre><br>計算すると<br>になります。<br><br><br>よしこれでおっけぃだ、地図を作成してみると<br><a href="http://stat.ameba.jp/user_images/20110601/21/firstdep/87/97/p/o0800080011264707002.png"><img src="https://stat.ameba.jp/user_images/20110601/21/firstdep/87/97/p/t02200220_0800080011264707002.png" alt="$int hase; /*不要*/-map4" border="0"></a><br><br>微妙にズレてる・・。<br>まぁ距離の測り方アバウトだったし仕方ないな。<br><br>ということで自分で値修正<br><br>結果<br>スケール6における縦方向1pxあたりの距離dr ＝ 2.44537856(km)<br><br>スケール19基準にすると<br><pre class="program"><br>　スケール19における縦方向1pxあたりの距離dr ＝  0.298508125<br></pre><br><pre class="program"><br>　スケール19における1pxあたりの経度 ＝  0.298508125 / ((2.0 * π * 6378150.0) / (360.0)) = 2.68153865 × 10-6<br></pre><br><br><br><br><strong>問題２：81px=20mはあやしい</strong><br><br>よく考えるとこれ、新宿基準・・。<br>地球は楕円なので緯度が変わると横幅もかわる（赤道が一番長い）ので場所によって長さが違うはず<br><br>今回は面倒だったので値を調整して修正してみた<br>ということで修正<br><br><a href="http://stat.ameba.jp/user_images/20110601/21/firstdep/25/e6/p/o0800080011264728892.png"><img src="https://stat.ameba.jp/user_images/20110601/21/firstdep/25/e6/p/t02200220_0800080011264728892.png" alt="$int hase; /*不要*/-map5" border="0"></a><br><br>できた！！<br><br><pre class="program"><br>結論：20mは83.3px<br></pre><br><br>ただ、横幅(経度)の計算はホントめんどくさくて赤道でとるとこんな感じに<br><br><br><a href="http://stat.ameba.jp/user_images/20110601/21/firstdep/30/b0/p/o0800080011264743198.png"><img src="https://stat.ameba.jp/user_images/20110601/21/firstdep/30/b0/p/t02200220_0800080011264743198.png" alt="$int hase; /*不要*/-map6" border="0"></a><br><br><br>地球が楕円ということを考慮していなかったので考慮する<br><br>測ったのは北緯36度地点だったので正しい式は<br>北緯36.41109度における83.5px = 20m<br>1mあたりのpx = 83.5 / 20 = 4.17500(px)<br>北緯36.41109度における1mあたりの経度 =1 / (6378150.0 * cos(36.41109/180*π)*2*π/(360)) = 1.11622388 × 10-5<br>つまり<br><br><pre class="program"><br>北緯36.41109度における1pxあたりの経度 = 1.11622388 × 10-5<br></pre><br><br>ってことですね(あってるかわからないけど)！<br>緯度が変わると正しい値が出なくなるのが今後の課題<br>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10910291757.html</link>
<pubDate>Wed, 01 Jun 2011 20:53:27 +0900</pubDate>
</item>
<item>
<title>JavaCVをUbuntuで動かす</title>
<description>
<![CDATA[ JavaCVを使う機会があったので自分用にメモっておきます。<br><br><br><strong>1 概要</strong><br> JavaCVはOpenCVをJava上で動かすためのラッパー<br>基本的にOpenCVを呼び出しているだけ（多分）<br><br><br><strong>2 前準備</strong><br>2.1 cmakeのインストール：OpenCVのコンパイルに必要<br><pre class="program"><br>$ sudo apt-get install cmake<br><br></pre><br><br><br>2.2 eclipseをインストール<br> eclipseでなくても動作するが，ドキュメントが存在しないのでeclipseを用いたほうが楽。<br><pre class="program"><br>$ sudo apt-get install eclipse<br><br></pre><br><br><br><br><strong>3 OpenCVのインストール</strong><br> apt-getでは上手くインストールできなかったのでソースファイルをコンパイルします。<br><br>3.1 sourceforge.net から，ソースコードをダウンロード<br>sourceforge.net: http://sourceforge.net/projects/opencvlibrary/<br><br>ファイルを解答し解凍したディレクトリに移動します。<br><pre class="program"><br>$ cd OpenCV-2.2.0(バージョンによって異なる)<br><br></pre><br><br><br>3.2 OavaCVのコンパイル(参考：http://opencv.willowgarage.com/wiki/InstallGuide)<br> sourceフォルダを作ってその中にコンパイル<br><pre class="program"><br>$ mkdir release<br>$ cd release <br>$ cmake -D BUILD_EXAMPLES=ON -D CMAKE_BUILD_TYPE=RELEASE –D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON –D　 ENABLE_OPENMP=ON ../<br>$ make &amp;&amp; sudo make install<br><br></pre><br><br><br><br><strong>4 eclipseでJavaCVライブラリを使う</strong><br>4.1 javaCVライブラリをダウンロード(配布場所：http://code.google.com/p/javacv/)<br> 好きなところに解凍しておく<br>このファイルに含まれるjarファイルがJavaCV本体となります<br><br><br>4.2 eclipseプロジェクトの作成<br><pre class="program"><br>ファイル→新規→Javaプロジェクト<br><br></pre><br><br><br>4.3 ライブラリを利用する．<br><pre class="program"><br>プロジェクトを右クリック→プロパティ→Javaのビルドパス<br><br>外部jarの追加<br><br></pre><br>先ほど解凍したjavaCVフォルダ内のjarファイル全て選択<br><br><br><br><br>4.4 実行<br><br>サンプルコード<br><pre class="program"><br>import com.googlecode.javacv.cpp.opencv_highgui;<br>import com.googlecode.javacv.cpp.opencv_imgproc;<br>import com.googlecode.javacv.cpp.opencv_core.IplImage;<br><br><br>public class Test {<br>    public static void main(String[] args) {<br>        IplImage img = opencv_highgui.cvLoadImage("foo.jpg");<br>        opencv_imgproc.cvSmooth(img, img, opencv_imgproc.CV_GAUSSIAN, 5, 5, 0, 0);<br>        opencv_highgui.cvNamedWindow("smooth");<br>        opencv_highgui.cvShowImage("smooth", img);<br>        opencv_highgui.cvWaitKey(0);<br>        opencv_highgui.cvDestroyAllWindows();<br>        img.release();<br>    }<br>}<br><br></pre><br>このままでは画像が置いていないのでエラーとなります。<br>OpenCV Error : Assention failed ～<br><br>画像読み込みの際にfoo.jpgが存在しないためです．プロジェクトのトップにおいてください。<br><br><a href="http://stat.ameba.jp/user_images/20110520/19/firstdep/03/22/p/o0800056311239894826.png"><img src="https://stat.ameba.jp/user_images/20110520/19/firstdep/03/22/p/t02200155_0800056311239894826.png" alt="int hase; /*不要*/-eclipse1" border="0"></a><br>面倒なんでドラッグドロップで置きました<br><br>通常のJavaアプリケーションと同様に起動できます。<br><pre class="program"><br>実行→Javaアプリケーション<br><br></pre><br><a href="http://stat.ameba.jp/user_images/20110520/19/firstdep/c3/35/p/o0648051911239925519.png"><img src="https://stat.ameba.jp/user_images/20110520/19/firstdep/c3/35/p/t02200176_0648051911239925519.png" alt="$int hase; /*不要*/-sample1" border="0"></a><br>こーゆーのがでればオッケーです。画像は適当<br><hr><br><br><br>起きた問題<br><br>Windows7で実行しようとしたが，OpenCV2.2においてカメラが動作しなかった。<br>OpenCV2.1，OpenCV2.0についてはカメラが動作した。<br>カメラの互換性の問題かもしれない。<br><br>さらに，eclipseで実行しようとしたところ，JavaCVのライブラリがOpenCV2.2に対応したものしか動作しなかった。<br>→ Windowsでの動作諦め<br><br><br>Ubuntuで動作させようとさせた際に，libopencv_core.so.2.2が見つからないとのエラー<br>環境変数を通すことで解決可能らしい。<br><br>シェル(.cshrc)に以下を追加．<br><pre class="program"><br>setenv LD_LIBRARY_PATH /usr/local/lib<br><br></pre><br><br>bashだったら<br><pre class="program"><br>export LD_LIBRARY_PATH = /usr/local/lib<br><br></pre><br><br><br>/usr/local/libにlibopencv_core.so.2.2が存在しない場合<br>apt-get等でインストールした際にうまくインストールされていない？場合があるよう。<br>ソースからコンパイルしてください。<br><br><hr><br><br>おまけ<br><br>Webカメラから画像を取得する。<br>import はstaticでやるのが一般的なのかな？<br>そうすればopencv_highgui.宣言がいらなくなる。<br><pre class="program"><br>import com.googlecode.javacv.cpp.opencv_highgui;<br>import com.googlecode.javacv.cpp.opencv_core.IplImage;<br>import com.googlecode.javacv.cpp.opencv_highgui.CvCapture;<br><br><br>public class HelloJavaCV {<br><br>/**<br> * @param args<br> */<br>public static void main(String[] args) {<br>// TODO Auto-generated method stub<br>IplImage frame;<br>CvCapture cvcapture;<br><br><br>double width = 300;<br>double height = 200;<br>int c;<br>int camera_no = 0;<br>//-1最初に見つけたデバイス<br>//0ばんめのデバイス1・2・・・<br><br>cvcapture = opencv_highgui.cvCreateCameraCapture(camera_no);<br><br>opencv_highgui.cvSetCaptureProperty(cvcapture, opencv_highgui.CV_CAP_PROP_FRAME_WIDTH,width);<br>opencv_highgui.cvSetCaptureProperty(cvcapture, opencv_highgui.CV_CAP_PROP_FRAME_HEIGHT,height);<br>opencv_highgui.cvNamedWindow("Capture",opencv_highgui.CV_WINDOW_AUTOSIZE);<br><br>while(true){<br>frame = opencv_highgui.cvQueryFrame(cvcapture);<br>opencv_highgui.cvShowImage("Capture",frame);<br><br>//10ms待機<br>//キーが押されたとき→キーコードの取得<br>//キーが押されずタイムアウト→-1<br>c = opencv_highgui.cvWaitKey(10);<br><br><br>//ESCキーが押されたら終了する。<br>if(c==27){<br><br>break;<br>}<br>}<br>opencv_highgui.cvReleaseCapture(cvcapture);<br>opencv_highgui.cvDestroyWindow("Capture");<br>}<br><br>}<br><br></pre><br><br><br><br>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10897379063.html</link>
<pubDate>Fri, 20 May 2011 13:06:59 +0900</pubDate>
</item>
<item>
<title>CentOSでpostGIS　インストール編</title>
<description>
<![CDATA[ 今回長いのでわけます！<br><br><br>地理空間情報（位置情報）をデータベース上で簡単に扱えるようになるライブラリがあります<br><br><br>postGIS<br><br><br>これは、postgreSQL上で動作し、地理情報関連の計算(距離、二点の角度、)地理空間向けのインデックスを用いた高速な検索などを可能にします。<br><br><br><br>まぁ・・簡単に言っちゃうと、<br><br><br><font color="#FF1493"><font size="4">データベースで簡単、高速、楽チン地理情報サービス</font></font><br><br>って感じです。<br><br><br>たとえば、データベース内にランドマークの緯度経度が入っているとして<br><br>桐生駅周辺 1km圏内に含まれるランドマークを検索したい！<br><br><br><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.jp/maps?f=q&amp;source=s_q&amp;hl=ja&amp;geocode=&amp;q=%E6%A1%90%E7%94%9F%E9%A7%85&amp;aq=&amp;sll=36.5626,136.362305&amp;sspn=53.771526,79.013672&amp;brcurrent=3,0x601ee2458b74a7d9:0xe6846408ecbef505,0&amp;ie=UTF8&amp;hq=&amp;hnear=%E6%A1%90%E7%94%9F%E9%A7%85%EF%BC%88%E7%BE%A4%E9%A6%AC%EF%BC%89&amp;ll=36.411076,139.333037&amp;spn=0.0067,0.009645&amp;z=14&amp;output=embed"></iframe><br><small><a href="http://maps.google.co.jp/maps?f=q&amp;source=embed&amp;hl=ja&amp;geocode=&amp;q=%E6%A1%90%E7%94%9F%E9%A7%85&amp;aq=&amp;sll=36.5626,136.362305&amp;sspn=53.771526,79.013672&amp;brcurrent=3,0x601ee2458b74a7d9:0xe6846408ecbef505,0&amp;ie=UTF8&amp;hq=&amp;hnear=%E6%A1%90%E7%94%9F%E9%A7%85%EF%BC%88%E7%BE%A4%E9%A6%AC%EF%BC%89&amp;ll=36.411076,139.333037&amp;spn=0.0067,0.009645&amp;z=14" style="color:#0000FF;text-align:left">大きな地図で見る</a></small><br><br><br>真面目に実装しようと思ったら、円領域の定義が難しかったり複雑な計算を求められたり・・。<br><br><br>相当な労力が必要なはずです！<br><br><br>しかし、postGISを使うと<br><br><br><font color="#666666"><font size="3">SELECT * FROM my_table WHERE ST_Dwithin(ST_GeomFromText('POINT(36.411060, 139.333023)', 3395), my_table.the_geom, 0.010);</font><br></font><br><br>たったのこれだけです！<br><br>結果<br>---------------------------------------------------------------------------------------<br>id  |                  lm_name                   |                      lm_point            <br> 1371 | 桐生警察署　駅前交番  | 0101000020430D0000C539EAE8B8344240F35A09DDA56A6140<br> 1373 | 丸政マンション        | 0101000020430D0000C3802557B1344240CB4C69FDAD6A6140<br> 1378 | 桐生市保険福祉会館    | 0101000020430D00001DE38A8BA3344240CA32C4B1AE6A6140<br> 1482 | エースホテル          | 0101000020430D0000997FF44D9A344240F30181CEA46A6140<br> 1483 | 丹羽ビル              | 0101000020430D0000BEBD6BD097344240713D0AD7A36A6140<br> 1484 | (有)きんぐ食品工業    | 0101000020430D00008AB0E1E995344240D575A8A6A46A6140<br> 1485 | (株)花清              | 0101000020430D00007AE1CE85913442404EB51666A16A6140<br> 1487 | 立花化粧品店          | 0101000020430D000079793A5794344240BDE5EAC7A66A6140<br> 1488 | ASA桐生南部庭野新聞店 | 0101000020430D00005182FE428F344240E544BB0AA96A6140<br> 1489 | ミクニビル            | 0101000020430D00006B4606B98B3442409D64ABCBA96A6140<br> 1490 | パークイン桐生        | 0101000020430D0000E563778192344240E4107173AA6A6140<br> 1491 | 読売会館ビル          | 0101000020430D00001BBCAFCA85344240F374AE28A56A6140<br> 1492 | 佐藤(株)              | 0101000020430D000058569A94823442405D363AE7A76A6140<br> 1522 | 桐生駅                | 0101000020430D0000A25D85949F3442401BA034D4A86A6140<br>　　　　　　　　　　　　　　　　　　　　　　以下略<br>---------------------------------------------------------------------------------------<br><br>あとで詳しく説明しますが、簡単に説明しておくと<br>lm_pointは緯度経度情報です<br><br><br>postGISの部分は<br><br><br><font color="#666666"><font size="3">SELECT * FROM my_table WHERE <font color="#FF1493">ST_Dwithin(ST_GeomFromText('POINT(36.411060, 139.333023)', 3395), my_table.the_geom, 0.010);</font></font></font><br><br>こんだけ！<br><br><br><br>今回はその便利なpostGISのインストール方法、使い方をまとめます。<br><br><br>あまりサーバーに詳しくないので、はてな？な部分が出てくるかもしれませんが指摘していただけると非常に助かります。<br><br><br>まず今回インストールした環境は<br><br>CentOS 5.2<br>postgreSQL 8.3.7<br><br>です！諸事情でアップデートしてないんですけどきっと他のバージョンでも動くはずなんで・・。<br><br><br>------------------------------------------------<br><br>１．インストール<br>手順を書くとgdgdになるっていう･ﾟ･(つД｀)･ﾟ･ <br><br>1.1　ソースのダウンロード<br><br>postGIS本体<br>http://postgis.refractions.net/<br>Downloads → SOURCE CODE → postgis-1.5.2.tar.gz (~3.6M)<br><br>postGISを動作させるためには二つのライブラリが必要です<br><br>・Proj4　幾何演算用ライブラリ<br>・GEOS　 投影変換用ライブラリ<br><br>Proj4<br>http://trac.osgeo.org/proj/<br>Download　→　geos-3.2.2.tar.bz2（なるべく最新バージョンを入れたほうがいいです）<br><br>GEOS<br>http://trac.osgeo.org/geos/<br>Download　→  http://download.osgeo.org/proj/proj-4.7.0.tar.gz (こちらも)<br><br><br><br>1.2 Proj4のインストール<br><br>ダウンロードしたファイルを解凍します<br><br>$ tar -xvf proj-<version>.tar.gz<br><br><version>の部分はインストールするバージョンと置き換えてください <br><br>ファイルを解凍してできたproj-<version>.tarディレクトリ内でconfigureする<br><br>$ ./configrue<br><br><br>makeする<br><br>$ make<br><br><br>インストールする<br><br>$ make install<br><br><br><br>1.3 GEOSのインストール<br><br>ファイルを解凍 <br><br>$ tar -xvf geos-<version>.tar<br><version>の部分はインストールするバージョンと置き換えてください<br><br><br>ファイルを解凍してできたgeos-<version>.tarディレクトリ内でconfigureする<br><br>$ ./configure<br>デフォルトでは/usr/local以下にインストールされます。<br><br><br>異なるディレクトリにインストールする時は <br>$ ./configure --prefix=[インストール先ディレクトリ]<br>とします。　<br><br><br>makeする<br><br>$ make<br><br>インストールする<br><br>$ make install <br><br><br>1.4 PostGIS本体のインストール<br><br>configureの編集<br><br>PostgreSQL保存先にあるpg_confi，<br>GEOS保存先のgeos_confi,Proj保存先を指定します。<br><br>環境によって異なる可能性があるので注意！<br>findコマンドで探せばいいと思うよ！<br>$ find / -name geos_confi<br><br><br>$ ./configure --with-pgsql=/usr/local/pgsql/bin/pg_config   --with-geos=/usr/local/bin/geos_config   --with-proj=/usr/locall   --with-proj-libdir=/usr/local/lib<br><br><br>makeする<br>$ make<br><br>インストールする<br><br>% make install<br><br>以上でインストールできたはずです！<br><br>-----------------------------------------------------------<br></version></version></version></version></version></version>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10865256907.html</link>
<pubDate>Mon, 18 Apr 2011 14:24:16 +0900</pubDate>
</item>
<item>
<title>アンドロイドでこんにちワン世界</title>
<description>
<![CDATA[ 重要なのは有限実行！！<br><br>ってことでプログラミングのお勉強を始めた！<br><br>ココには自分へのメモのつもりで書いていきますんで<br><br>たぶん興味ない人が見てもつまらないのでスルーでｗ<br><br><br>なんのプログラミングを勉強しているかというと<br><br><br>今流行のandroid！<br><br><br>ドロイド君ｶﾜﾕｽ！<br><br><br><br>まずは定番のコンニチワン世界から行ってみよう！<br><br><br><br>完成形<br><br><a href="http://stat.ameba.jp/user_images/20110416/02/firstdep/a1/8f/p/o0727047311168418362.png"><img src="https://stat.ameba.jp/user_images/20110416/02/firstdep/a1/8f/p/t02200143_0727047311168418362.png" alt="$ITエンジニアを目指す田舎者のブログ-こんにちワン世界" border="0"></a><br><br><br>見事に動きました！<br><br><br>では中身を見ていきます<br><br><br>はじめなのでちょっと細かめに書くとします<br><br><br>-----------------------------------------------------------------------------------<br>インストール編<br><br>注意：細かいインストール方法などは多くのページで分かりやすく解説されているのでそちらを参照<br><br>ちなみにワタクシの開発環境は次のとおり<br><br>１．Eclipse日本語版としてPleiades Java版をインストール<br>　http://mergedoc.sourceforge.jp/<br><br>２．android SDKをインストール<br>　http://developer.android.com/sdk/index.html<br><br>３．eclipseの新規ソフトウェアインストールからアンドロイド開発用pluginの追加<br>　http://dl-ssl.google.com/android/eclipse/<br><br>４．Android SDKのインストール先指定<br> 設定→AndroidでSDKのインストール先指定<br><br>-----------------------------------------------------------------------------------<br><br><br>１．プロジェクトの作成<br><br>eclipseではアプリケーション単位でプロジェクトを作成します。<br><br>ファイル→新規→Androidプロジェクトをクリック<br><br>ここで重要なのは最後！<br><br>ビルド・ターゲット<br>アプリケーション名<br>パッケージ名<br>CreateActivity<br>MainSDKVersion<br><br>ビルド・ターゲットは利用するAPIのバージョン<br>あんまり古いのを使うと互換性がないので注意！<br><br>アプリケーション名はそのままアプリケーションの名前<br>アンドロイドにインストールされた時の名前<br>自由にどうぞ！もちろん日本語もおｋ<br><br>CreateActivityはここでは細かく解説しないけど<br>Androidにはメインプログラムっていう概念がなくて基本的に並列動作前提で<br>アクティビティというものを継承したプログラムを動かします。<br><br>個人的なイメージではマルチスレッドにおけるスレッドみたいなものって考えてます。<br>ここで付けた名前がそのままプログラムとして自動生成されます<br><br>HelloActivity<br>↓<br>HelloActivity.java<br><br>このプログラムはActivityを継承しています。<br><br>HelloActivity extends Activity<br><br><br><a href="http://stat.ameba.jp/user_images/20110416/02/firstdep/88/38/p/o0800045011168428179.png"><img src="https://stat.ameba.jp/user_images/20110416/02/firstdep/88/38/p/t02200124_0800045011168428179.png" alt="ITエンジニアを目指す田舎者のブログ-001" border="0"></a><br><br><a href="http://stat.ameba.jp/user_images/20110416/02/firstdep/92/07/p/o0800045011168428177.png"><img src="https://stat.ameba.jp/user_images/20110416/02/firstdep/92/07/p/t02200124_0800045011168428177.png" alt="ITエンジニアを目指す田舎者のブログ-002" border="0"></a><br><br><a href="http://stat.ameba.jp/user_images/20110416/03/firstdep/b1/5a/p/o0800045011168429442.png"><img src="https://stat.ameba.jp/user_images/20110416/03/firstdep/b1/5a/p/t02200124_0800045011168429442.png" alt="ITエンジニアを目指す田舎者のブログ-004" border="0"></a><br><br><a href="http://stat.ameba.jp/user_images/20110416/02/firstdep/6c/ed/p/o0800045011168428180.png"><img src="https://stat.ameba.jp/user_images/20110416/02/firstdep/6c/ed/p/t02200124_0800045011168428180.png" alt="ITエンジニアを目指す田舎者のブログ-003" border="0"></a><br><br><br><br>２．エミュレーターの作成<br><br>アンドロイド開発では基本的に仮想端末を作成しそこでプログラムを実行します<br>作成方法は<br><br>AndroidSDKおよびAVDマネージャー→新規<br><br>入力はテキトーで大丈夫ですがとりあえずターゲットの部分だけプログラムと揃えておくといいと思いまっす。<br><br><a href="http://stat.ameba.jp/user_images/20110416/03/firstdep/ac/66/p/o0785070311168435418.png"><img src="https://stat.ameba.jp/user_images/20110416/03/firstdep/ac/66/p/t02200197_0785070311168435418.png" alt="$ITエンジニアを目指す田舎者のブログ-008" border="0"></a><br><br><br><br>３．ようやくコンニチワン世界<br><br>だいぶアバウトな説明でしたが！ようやくプログラムがかける！！<br><br>今回書き換えた場所を赤くしておきます。<br><br>HelloActivity.java<br><br>import android.app.Activity;<br>import android.os.Bundle;<br>import android.widget.ImageView;<br><br>public class HelloActivity extends Activity {<br>    /** Called when the activity is first created. */<br>    @Override<br>    public void onCreate(Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setContentView(R.layout.main);<br><br><font color="#FF1493">        ImageView im = (ImageView)findViewById(R.id.imageView1);<br>        im.setImageResource(R.drawable.helloworld);</font><br>    }<br>}<br><br><br>main.xml<br><!--?xml version="1.0" encoding="utf-8"?--><br><linearlayout xmlns:android="http://schemas.android.com/apk/res/android" <br />    android:orientation="vertical"<br>    android:layout_width="fill_parent"<br>    android:layout_height="fill_parent"<br>    &gt;<br><font color="#FF1493"><br>    <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView1" android:layout_gravity="center"></imageview><br></font><br><br><br>え？何をしたかぜんぜんわからない？<br>ごめんなさい！<br><br>えっとまず今回使ったのは画面に画像を配置できるImageView<br><br>以上です！<br><br><br><br>まず準備として画像をアップロードします<br><br>画像は基本的にdrawableにいれます。<br>drawable-～<br>というのは同名のファイルを入れておくと適切な画像に勝手に置き換えてくれるらしいです！すごいっ！<br><br>今回サイズは一つしか用意してないのでdrawableというフォルダを作成します。<br><br>で、そこに作成した画像をドラッグ＆ドロップ<br><br><a href="http://stat.ameba.jp/user_images/20110416/03/firstdep/3b/7b/p/o0800042611168438104.png"><img src="https://stat.ameba.jp/user_images/20110416/03/firstdep/3b/7b/p/t02200117_0800042611168438104.png" alt="$ITエンジニアを目指す田舎者のブログ-009" border="0"></a><br><br>これでアップロード完了です。<br><br><br><br><br>main.xmlに<imageview>の項目を書き加えます<br>このmain.xmlは画面のレイアウトを定義するxmlファイルです<br>ここで定義したレイアウトは先程のプログラムの初めの<br>setContentView(R.layout.main);<br>によって呼び出されます<br><br><font color="#FF1493"><br>    <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView1" android:layout_gravity="center"></imageview><br></font><br><br><br>この段階ではImageViewに画像は表示されていません<br><br><br>    <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView1" <font color="#FF1493">src = "@drawable/helloworld"android:layout_gravity="center"&gt;</imageview><br><br><br>こんなふうに書けば最初からいれておくこともできるのですが、プログラム内で変化させたほうがオモシロイと思ったのであえて書きませんでした<br><br>つぎにメインプログラムをいじります<br><br>HelloActivity.java<br><br>import android.app.Activity;<br>import android.os.Bundle;<br>import android.widget.ImageView;<br><br>public class HelloActivity extends Activity {<br>    /** Called when the activity is first created. */<br>    @Override<br>    public void onCreate(Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setContentView(R.layout.main);<br><br><font color="#FF1493">        ImageView im = (ImageView)findViewById(R.id.imageView1);<br>        im.setImageResource(R.drawable.helloworld);</font><br>    }<br>}<br><br>まず、先ほど定義したImageViewを呼び出します<br><br>この時超重要なのは<br><br>R.java<br><br>このプログラムは自動的に生成され、先ほど書いた<imageview>やアップロードした画像のidを保持します<br>このidを参照することによってレイアウトとか、ファイルとかをプログラムでいじくりまわせるということです！！<br><br>    <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" andro<font color="#FF1493">id:id="@+id/imageView1" android:layout_gravity="center"&gt;</imageview><br><br><br>R.javaというファイルに定義されているidを使いImageViewを呼び出します<br><br> ImageView im = (ImageView)findViewById(R.id.imageView1);<br><br>この関数よく使うので要チェックです！<br><br>これで先程のImageViewをいじくりまわせるようになりました。<br><br>このImageViewに画像をはめこみます<br>im.setImageResource(R.drawable.helloworld);<br><br>今度はアップロードした画像のidを参照していますね<br><br><br><br>今回のプログラムの関係を図示化してみました<br><br><a href="http://stat.ameba.jp/user_images/20110416/03/firstdep/2d/f0/p/o0800064911168439041.png"><img src="https://stat.ameba.jp/user_images/20110416/03/firstdep/2d/f0/p/t02200178_0800064911168439041.png" alt="$ITエンジニアを目指す田舎者のブログ-010" border="0"></a><br><br><br>色々雑でごめんなさい<br>ちょくちょく修正していきたいと思います<br><br>あー文章書くのって大変なんだねっ<br><br><br><br><br></imageview></imageview>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10862883470.html</link>
<pubDate>Sat, 16 Apr 2011 01:50:43 +0900</pubDate>
</item>
<item>
<title>目指せマーケット配布！</title>
<description>
<![CDATA[ 前々から興味のあったAndroidのプログラミングを始めました<br><br>プログラミング経験はそんなに豊富でないので色々と詰まる部分も出てくるかと思いますが<br><br>何かできたらいいなって思います<br><br><font size="4"><br><font color="#FF1493">目指せマーケット配布！！</font><br></font><br><br>自分へのメモみたいになるかと思いますが、徐々にブログに書いていきたいと思います！！
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10861396337.html</link>
<pubDate>Thu, 14 Apr 2011 16:43:38 +0900</pubDate>
</item>
<item>
<title>気づけば外には春の色が、工学部は相変わらずのブラック</title>
<description>
<![CDATA[ ４月になり、みなさん忙しくなっているようですね<br><br><br>ようですねというのは・・<br><br><br>春休み・・今年休んでない・・<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/028.gif" alt="汗"><br><br>うちの研究室の指導教官（ボス）は、なかなかにお厳しい方なので、なかなか休みをくれません<br><br>唯一お葬式と就職活動だけは休むことが許されるという・・<br><br><br>俗にいう<font size="3"><strong>ブラック研究室</strong></font>ですね<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/152.gif" alt="ドクロ"><br><br><br>まぁ適当に理由付けてサボってますけど(；´Д｀)<br><br>いや、でももっと大変なところはいっぱいあるので<br><br><br><strong><font size="3"><font color="#666666">グレー研究室</font></font></strong>くらいにしておきます<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/036.gif" alt="爆弾"><br><br><br><br>工学部に夢と希望を抱いて来る方は注意したほうがいいですよ<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/176.gif" alt="！！"><br><br><br>そ　こ　で ！！ <br><br><br>皆が工学部に対して、どう思っているのか独自に調査しました<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/039.gif" alt="ビックリマーク"><br><br><br>工学部学生３人に聞いた工学部、独自の調査結果です。<br><br><font color="#0000FF"><font size="4">「私が夢見た大学生活はそこにはなかった」友人H談</font></font><br>こういうのが地味にくる<br><br><font color="#0000FF"><font size="4">「ここは、正真正銘の地獄だ」友人N談</font></font><br>この友人は大学をお辞めになられました<br><br><font color="#0000FF"><font size="4">「おまえんとこ超ブラックじゃね？」友人M談</font></font><br>うっさい(￣□￣;)!!<br><br><br>あ、まぁあくまでネタなんで・・ｗ<br><br><br>そういえば、差し入れを頂きました！！<br><br>ありがたやありがたや・・<br><br>おいしかった<img src="https://stat.ameba.jp/blog/ucs/img/char/char2/176.gif" alt="！！"><br><br><br><a href="http://stat.ameba.jp/user_images/20110401/20/firstdep/51/77/j/o0800060011139272166.jpg"><img src="https://stat.ameba.jp/user_images/20110401/20/firstdep/51/77/j/t02200165_0800060011139272166.jpg" alt="$ITエンジニアを目指す田舎者のブログ-レモンケーキ" border="0"></a><br>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10848333708.html</link>
<pubDate>Fri, 01 Apr 2011 20:18:05 +0900</pubDate>
</item>
<item>
<title>今日は晴れ</title>
<description>
<![CDATA[ 寒い冬が過ぎ、ようやく暖かくなってきましたね<br><br>初めまして、はせしです！<br><br>この度、ブログを始めることにしました。<br><br>別の所でブログを書いていたのですが<br><br>エンジニアを目指すはせしとして<br><br>心機一転こちらで書き始めようと思います。<br><br>以降よろしくお願いします。<br><br><br><br>せっかくなので、何か写真を・・<br><br>あ、最近草津に行きました！<br><br><a href="http://stat.ameba.jp/user_images/20110331/22/firstdep/58/6e/j/o0612081611137322038.jpg"><img src="https://stat.ameba.jp/user_images/20110331/22/firstdep/58/6e/j/t02200293_0612081611137322038.jpg" alt="$ITエンジニアを目指す田舎者のブログ-草津" border="0"></a>
]]>
</description>
<link>https://ameblo.jp/firstdep/entry-10847346930.html</link>
<pubDate>Thu, 31 Mar 2011 22:14:08 +0900</pubDate>
</item>
</channel>
</rss>
