Androidアプリ開発したい!

IT屋がGalaxySを手に入れてからAndroidに興味が湧き、いろいろと開発したりしてます。 GalaxyNexusがメイン機となり、ようやく普及し始めたAndroid4.0への関心が高いです。 仕事では、iPhone向けとかのソシャゲ作ってます。

環境設定

Windows上のVMからMacのVMにLinux環境をコピー(続き)

ホストオンリーアダプタが使えなくて、
MacのコンソールからsshでVMのLinux操作ができなくてちょっと苦戦したので、
その手順になります。

仮想サーバの設定ではなく、VirtualBoxの環境設定を開きます。

VirtualBox>環境設定

スクリーンショット 2012-06-29 10.50.35.png


ホストオンリーネットワークを追加します。

「ネットワーク」タブ>「+」マークのボタンを押してvboxnet0を追加

スクリーンショット 2012-06-29 10.39.03.png

IPアドレスの設定とサブネットマスクの設定がMacPCとあってるか確認。

ドライバーみたいなマークを押すと出てきます。

スクリーンショット 2012-06-29 10.38.55.png


今度は、対象のLinux仮想サーバーで、
作ったホストオンリーアダプタをネットワーク設定に追加してサーバーを起動します。

仮想環境選択>設定ボタン>ネットワーク

スクリーンショット 2012-06-29 10.39.18.png


ifconfigコマンドにて、
さきほど設定したvboxnet0のipアドレス「192.168.56.101」を発見しました。

>ifconfig

スクリーンショット 2012-06-29 10.57.19.png

というわけで「192.168.56.101」に対してsshコマンド発行で、
無事ssh接続できました。

>ssh 192.168.56.101
スクリーンショット 2012-06-29 10.56.31.png


というわで今度こそ無事にインポート完了ですw

Windows上のVMからMacのVMにLinux環境をコピー

実際、普通にエクスポートしてインポートするだけですけどねw
Windows -> Windowsはやったことあったけど、
Macは初なので一応メモとして残します。

【エクスポート手順】

メニュー>仮想アプライアンスのエクスポート

対象のOSを選択

39acd5e6.png

保存先はどこでもいいです。Macに渡す方法は共有フォルダとかUSBとかご自由に

209aaa4a.png

おわり!


【インポート手順】

メニュー>ファイル>仮想アプライアンスのインポート

スクリーンショット 2012-06-29 9.39.00.png

選択をクリックしてファイルエクスプローラー起動

スクリーンショット 2012-06-29 9.39.21.png

先ほどエクスポートした.ovaファイルを選択します。

スクリーンショット 2012-06-29 9.39.52.png

ファイル指定して「続ける」をクリック

スクリーンショット 2012-06-29 9.40.09.png

インポート中やで!

スクリーンショット 2012-06-29 9.40.28.png


インポート終了。たぶん2,3分くらい。

スクリーンショット 2012-06-29 9.43.41.png


無事に起動できました。

ちなみに私は、Windowsでの乱雑に設定したネットワーク設定が残ってて、
そのまま起動したらエラーになりました。
「設定>ネットワーク」で不要なネットワークアダプタをすべて無効にして
最小構成(1つだけ)にしたらちゃんと起動しました!

※むしろここをしっかり残すべきだった?さっとやってしまったのでキャプチャーがない
スクリーンショット 2012-06-29 9.46.06.png

はい。終わりです。とても簡単でしたね。

わざわざ開発メンバー全員が1からOSインストールとか
時間勿体ないですからね〜

ぜひぜひツールを有効活用して効率良く開発しましょう!
すばらです。 

Macの初期設定でやったこと(コーディングの効率アップ)


【ファンクションキーの有効化】
システム環境設定>キーボード

F1、F2などのすべてのキーを標準のファンクションキーとして使用にチェックを入れる
(Androidのエミュレータで画面回転がcontrol+F11なので困った)

このチェックを入れたら各キーの特殊機能はFnキーと同時押ししないと使えなくなる。
要するにWindowsと同じですね。

スクリーンショット 2012-06-23 15.59.34.png

【キーボードとタッチパッドの設定】

キーリピート:
リピート入力認識までの時間:

これ「速い」にしないとカーソル移動遅すぎて発狂します。
コーディングするなら絶対コレ!
スクリーンショット 2012-06-23 15.05.28.png

三本指でドラッグ:
どうもトラックパッドをカチッって押すのに抵抗があるので、
3本指でスッっとドラッグできるのは助かる。範囲選択とかもこれになります。
スクリーンショット 2012-06-23 15.05.50.png


スクロールとズーム:
このへんはいじって無い気がする・・・
スクリーンショット 2012-06-23 15.05.56.png

その他ジェスチャ:
たぶん以下はデフォルト。
全部フル活用してるのでそのままにしてます。
スクリーンショット 2012-06-23 15.06.00.png

Spotlight検索フィールドを表示:
これはチェックを外して封じないと厄介さんです。
eclipseの入力補完とキーがかぶってるので、
とても困りました。
スクリーンショット 2012-06-23 15.06.27.png

yumでMySQLをinstallした後に改めてrpmでMySQLをinstallする時のメモ

今回は、以前yumでインストールしたMysql 5.1をアンインストールして、
rpmでMySQL5.5.24をインストールします。


まず大事なデータベースはバックアップ!

[root@localhost /]# mysqldump -u root -p****** > springdump.sql

※******はパスワード

yumでインストールしたMySQLをアンインストール

[root@localhost home]# yum remove mysql


同じくライブラリもアンインストール

[root@localhost home]# yum remove mysql-libs

※これを消さないとrpmインストール時に
「ファイル /usr/share/mysql/charsets/cp1256.xml (パッケージ MySQL-server-5.5.24-1.linux2.6.i386 から) は、パッケージ mysql-libs-5.1.61-1.el6_2.1.i686 か らのファイルと競合しています。」
みたいなエラーが一杯でて失敗します。

モジュールをダウンロード

[root@localhost home]#  wget ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-5.5.24-1.linux2.6.i386.tar
 

MySQL-serverをインストール

[root@localhost home]# rpm -ihv MySQL-server-5.5.24-1.linux2.6.i386.rpm
準備中...                ########################################### [100%]
ls: cannot access /var/lib/mysql/*.err: そのようなファイルやディレクトリはありません
ls: cannot access /var/lib/mysql/*.err: そのようなファイルやディレクトリはありません
   1:MySQL-server           ########################################### [100%]

MySQL-clientをインストール

[root@localhost home]# rpm -ihv MySQL-client-5.5.24-1.linux2.6.i386.rpm
準備中...                ########################################### [100%]
   1:MySQL-client           ########################################### [100%]


インストールの確認

[root@localhost home]# rpm -q MySQL-client
MySQL-client-5.5.24-1.linux2.6.i386

[root@localhost home]# rpm -q MySQL-server
MySQL-server-5.5.24-1.linux2.6.i386

※ちなみに本来はmy.confとか色々用意しなければいけないが、
yumでのインストール時に作成されているのでそれをそのまま使う!!!

MySQLを起動

[root@localhost init.d]# /etc/init.d/mysql start
Starting MySQL... SUCCESS!


起動を確認

[root@localhost init.d]# ps -ef | grep mysql
root      2881     1  0 09:32 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/localhost.localdomain.pid
mysql     2959  2881  4 09:32 pts/1    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/localhost.localdomain.err --pid-file=/var/lib/mysql/localhost.localdomain.pid
root      2983  2408  0 09:32 pts/1    00:00:00 grep mysql


MySQLに接続

[root@localhost init.d]# mysql -u root -p******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


※******はパスワード

データベースの確認

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| spring             |
+--------------------+
3 rows in set (0.00 sec)


springテーブルに切り替える

mysql> use spring;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed


以前作成したテーブルの中身を確認

mysql> show tables;
+------------------+
| Tables_in_spring |
+------------------+
| CARD             |
+------------------+
1 row in set (0.00 sec)

mysql> select * From CARD;
+--------------------------------------+---------------+
| ID                                   | NAME          |
+--------------------------------------+---------------+
| 0001                                 | test          |
| e927e9ac-9b0d-40fb-979b-9f33175f0e61 | No Name       |
| f7c5fc57-d93d-4eb6-9059-adc0a89bdb5e | No Name       |
| 0e1ef8c2-aa36-4567-89d4-aab7537b4317 | No Name       |
| 814df8ec-4fc5-43ae-bbaa-2269b6f7f645 | Sample Update |
| 3b5da608-c815-4ea2-b777-fc235c95b51c | No Name       |
| 940a15ef-41ab-4280-a683-ffb780833154 | No Name       |
| 82cd6cc9-67d1-4495-a5d1-a1a0204cb42b | No Name       |
| c7882ae2-68e3-4df7-8917-b2233589dc32 | No Name       |
| 5bea357b-4e55-4187-b745-0c490d487db6 | No Name       |
| 9b8370e5-03f0-4ea0-b41b-0cc5f6d05b16 | No Name       |
| 316ff874-0866-4ed8-8bba-fffd1215fc3f | No Name       |
| 103cf3d2-4988-4fd6-9c28-6340d8f2e0ee | No Name       |
+--------------------------------------+---------------+
13 rows in set (0.00 sec)

ちゃんとデータも残ってる!
ってか、そもそもアップグレードすればよかったのでは?と思ってしまったが、
まあrpmでのインストールもやってみたかったので、
これはこれでよしとしよう。


616a77db.png

eclipseでandroidプラットフォームのソースを参照、デバッグする


SDK14と15ならSDKManagerでダウンロードできるので、
ばっちりAndroidプラットフォーム側のソースが読めます。

c1b3ca72.png



7c46dafe.png

さっきまではこのように
publicで公開されているメソッドのインターフェースくらいしかわからなかったが。。。


e1b91373.png

このようにばっちり読めます。
ちなみに私、英語は読めなくはないけど、
とても時間がかかります。

ぶっちゃけコメントやjavadoc読むよりも
ソースコード読んだ方が早かったりします。

もちろん普通にブレークポイント貼ればデバッグできますので、
プラットフォーム側の処理フローを追うのもいいかもしれませんね。

持ってる端末
・Galaxy S root化済    (2.3.6)
・Galaxy Nexus          (4.1.1)
・GALAPAGOS A01SH (4.0.4)
・ONDA Vi10              (4.0.3) 
・iPod Touch           (iOS 6.0)
記事検索
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

  • ライブドアブログ