2012年10月31日

2012年10月31日のタスク

今日はアルバイトを行いました。

2012年10月30日

2012年10月30日のタスク

アンドロイド用ゲーム開発を行いました。

2012年10月29日

2012年10月29日のタスク

  • Androidアプリの開発を行いました。

2012年10月28日

2012年10月28日のタスク

  • Androidの開発を行いました

2012年10月27日

2012年10月27日のタスク

  • Androidアプリの開発

Android用ゲーム開発 -5日目-

4日目からの続き。


ユニットテスト

とりあえず、起動できる段階になったので、ユニットテストの環境を整えます。
まず、 Android Test Project を作成します。
プロジェクト名は、テストするプロジェクト名の後に"Test"をつけます。




Select Test Target で、テスト対象のプロジェクトを指定します。
ここでは、Tricorogue を選択します。



プロジェクトの作成が終わったら、テスト対象のソースコードの上で右クリックします。
右クリックしたら、JUnit テストケースを選択します。選択すると「新規JUnit テストケース」ウィンドウがポップアップします。



「新規JUnit テストケース」ウィンドウがポップアップしたら、「新規JUnit4 テスト」を選択し、
ソースフォルダを TricorogueTest/src フォルダを選択します。
JUnit4のビルドパスも追加します。








あとは、ソースコード毎にユニットテストを書いていきます。
今回は、Point,Mapクラスのテストを書きました。

6日目

2012年10月26日

2012年10月26日のタスク

  • アルバイト

2012年10月25日

2012年10月25日のタスク

  • Androidアプリ開発

Android用ゲーム開発 -4日目-

3日目からの続き。

抽象UI

フレームワークは便利だけれど、縛られると、新しいフレームワークに乗り換えができなくなってしまいます。やっぱり、カッコいいフレームワークが出たら、試して見たいしね。

フレームワークとの接点を局所化したいので、抽象UIを作ります。
RPGなので、マップと入力を用意し、抽象UIにつなげます。


public class FundamentalUI {
 private Input inputdevice;
 private Map dungeon;
 
 FundamentalUI() {
 }

 public String left() {
  return inputdevice.left();
 }
 
 public String right() {
  return inputdevice.right();
 }
 
 public String up() {
  return inputdevice.up();
 }
 
 public String down() {
  return inputdevice.down();
 }
 
 public String upperleft() {
  return inputdevice.upperleft();
 }
 
 public String upperright() {
  return inputdevice.upperright();
 }
 
 public String lowerleft() {
  return inputdevice.lowerleft();
 }
 
 public String lowerright() {
  return inputdevice.lowerright();
 }
 
 public String decision() {
  return inputdevice.decision();
 }
 
 public Map getDungeon() {
  return this.dungeon;
 }
}


これを、Activityにつなぎます。

dispatchKeyEventメソッドをオーバーライドします。



@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
     TextView textView = (TextView) findViewById(R.id.Helloworld);
     FundamentalUI fundamentalUI = new FundamentalUI();
     if (event.getAction() == KeyEvent.ACTION_UP) {
      switch (event.getKeyCode()) {
      case KeyEvent.KEYCODE_DPAD_UP:
      case KeyEvent.KEYCODE_K:
       textView.setText(fundamentalUI.up());
       return true;

      case KeyEvent.KEYCODE_DPAD_DOWN:
      case KeyEvent.KEYCODE_J:
       textView.setText(fundamentalUI.down());
       return true;

      case KeyEvent.KEYCODE_DPAD_LEFT:
      case KeyEvent.KEYCODE_H:
       textView.setText(fundamentalUI.left());
       return true;

      case KeyEvent.KEYCODE_DPAD_RIGHT:
      case KeyEvent.KEYCODE_L:
       textView.setText(fundamentalUI.right());
       return true;

      case KeyEvent.KEYCODE_Y:
       textView.setText(fundamentalUI.upperleft());
       return true;

      case KeyEvent.KEYCODE_U:
       textView.setText(fundamentalUI.upperright());
       return true;

      case KeyEvent.KEYCODE_B:
       textView.setText(fundamentalUI.lowerleft());
       return true;
       
      case KeyEvent.KEYCODE_N:
       textView.setText(fundamentalUI.lowerright());
       return true;

      case KeyEvent.KEYCODE_DPAD_CENTER:
       textView.setText(fundamentalUI.decision());
       return true;
   default:
    break;
      }
     }
     return super.dispatchKeyEvent(event);
    }



マップは、1と0の配列とし、画面にとりあえず、表示させています。





5日目へ。


2012年10月24日

2012年10月24日のタスク

今日はアルバイトを行いました。

Android用ゲーム開発 -3日目-

2日目の Git の準備が終わったら、
3日目は
  • ビルドしたアプリケーションの起動の仕方
です。


起動の仕方

起動の仕方はとても簡単。
最初にエミュレーターの起動をします。

まずは、 Android Virtual Device Manager を起動します。クリックすると「Android Virtual Device Manager」がポップアップします。



「Android Virtual Device Manager」がポップアップしたら「開始」ボタンをクリックします。
クリックすると、Androidが起動します。



次にアプリケーションを実行させます。
プロジェクトツリーの上で右クリックし、「実行」-「2 Androidアプリケーション」をクリックします。
クリックすると、Android エミュレータが起動し、その上でアプリケーションが実行されます。




4日目へ。

2012年10月23日

TogglをTolkで翻訳

ついに翻訳者登録ができたようで、メールの返信がきました。

全部ではないですが、早速翻訳し、プッシュしてもらえるように連絡しました。

1,2日で修正されるはず。

2012年10月23日のタスク

  • Androidアプリ開発

Android用ゲーム開発 -2日目-

1日目のプロジェクトの準備が終わったら、
2日目は、
  • Gitへの登録です。

Gitへの登録

プロジェクトにGitを導入します。
プロジェクトのトップディレクトリで右クリックします。右クリックするとメニューが出てくるので、「チーム」をクリックします。クリックすると「プロジェクトの共用」画面に遷移します。



「プロジェクトの共用」画面に遷移したら、「Git」を選択します。
その後「次へ」をクリックします。クリックすると「Gitのリポジトリ構成」画面に遷移します。



「Gitのリポジトリ構成」画面に遷移したら、「Use or create repository in parent folder of project」チェックボックスにチェックを入れます。チェックを入れると「Gitリポジトリー・ロケーションの選択」画面に遷移します。



「Gitリポジトリー・ロケーションの選択」画面に遷移したら、中央に表示されているパスをクリックします。クリックすると「リポジトリーの作成」ボタンが有効になります。



「リポジトリーの作成」ボタンが有効になったら、 「リポジトリーの作成」をクリックします。
クリックするとリポジトリーの項目にパスが追加され、「完了」ボタンが有効になります。



 「完了」ボタンが有効になったら、「完了」ボタンをクリックします。
クリックすると、Gitのリポジトリが生成されます。



自動生成されるファイルを除外する

リポジトリで管理する必要のない自動生成されるファイルを除外するために
 .gitignore を追加します。
プロジェクトのルートディレクトリに   .gitignore を追加します。
.gitignoreの内容は、以下のページを参考にしました。
http://slumbers99.blogspot.jp/2012/01/eclipse-android-gitignore.html



空フォルダをGitで管理する

Git はフォルダの管理は行わないため、空フォルダの中に適当なファイルを入れて
空フォルダを再現できるようにします。
その際のファイル名は慣例で、 .gitkeep となっているようです。



索引に追加・コミット

最後にGitで add と commit をします。





3日目へ。


2012年10月22日

Java/Android コーディング規約をまとめました

Android開発にあたり、久しぶりにJavaで開発することになりました。

コーディング規約をすっかり忘れているので、思い出すためにも調べました。

以下のサイトでまとめていますので、ごらんください。

Java/Android コーディング規約まとめ

Android用ゲーム開発 -1日目-

Android用のゲームの開発を少しずつ公開していきたいと思います。

1日目は、
  • プロジェクトの作成
です。


プロジェクトの作成

まず、Eclipseを起動し、「ファイル-新規-プロジェクト」と選択し、クリックします。
クリックすると、「新規プロジェクト」ウィンドウが開きます。



「新規プロジェクト」ウィンドウが開いたら、「Android - Android Application Project」を選択します。
その後に、同じ画面の「次へ」ボタンをクリックします。
クリックすると「New Android Application」画面に遷移します。



「New Android Application」画面に遷移したら、画面に表示された項目をすべて入力します。
  • Application Name
  • Project Name
  • Package Name
  • Build SDK
  • Minimum Require SDK
  • Create custom launcher icon (任意)…私はチェック
  • Mark this project as a library (任意)…私はチェックなし
  • ワークスペース内にプロジェクトを作成(任意)…私はチェック
 その後に、同じ画面の「次へ」ボタンをクリックします。
クリックすると「Configure Launcher icon」画面に遷移します。



「Configure Launcher icon」画面に遷移したら、「次へ」ボタンをクリックします。
クリックすると「Create Activity」画面に遷移します。
ランチャーの設定は後でしようと思ったためです。



 「Create Activity」画面に遷移したら、「Create Activity」チェックボックスにチェックが入り、
「Blank Activity」が選択されている事を確認し、「次へ」ボタンをクリックします。
クリックすると「New Blank Activity」画面に遷移します。



 「New Blank Activity」画面に遷移したら、「次へ」ボタンをクリックします。
クリックすると「Install Dependencies」画面に遷移します。
今の所名前を細かく決めれていないので、デフォルトのまま作成しています。



「Install Dependencies」画面に遷移したら、「Install/Upgrade」ボタンをクリックします。
クリックするとダウンロードが始まり、「Choose Packages to install」画面に遷移します。



「Choose Packages to install」画面に遷移したら、「インストール」ボタンをクリックします。
クリックするとインストールが始まります。 インストールが完了すると「Install Dependencies」画面に遷移します。



「Install Dependencies」画面に遷移したら、「完了」ボタンをクリックします。
クリックするとプロジェクトの作成が完了します。



2日目へ。

2012年10月21日

画像認証に過度な期待をするのは危険

半年以上前ですが、事業者向けに画像認証システムの考えられる問題点の報告書が出来ています。

ここでいう画像認証とは、  CAPTCHAではなく、

http://www.infofarm.co.jp/shalock/whats.html

上記のサイトにある、表示されているタイルから自分が元々えらんでいる画像を選択して認証するタイプの認証システムの事です。

また、Windows 8 でも ピクチャパスワードとして実装されているようです。




タッチスクリーン向きの認証システムですが、報告書を見る限り、

文字のパスワードと同様の問題を抱えています。

Windows 8のピクチャパスワードについてもそうです。

使いやすいからと言って、覚えやすいかどうかは別なので、自身にあった認証システムを使用するようにしたいものです。


2012年04月24日 画像活用型本人認証システム・製品 事業者向けガイドライン検討報告書  (PDF)


2012年10月20日

勉強会のメモには、マインドマップが最適

前回参加した勉強会のまとめを公開した記事

アドミンティーチャーズ第7回勉強会まとめ

での、公開資料は、マインドマップでまとめたノートでした。

マインドマップでまとめた資料は見やすかったようで、妻には褒められでした。

そんな私がマインドマップの勉強に使ったのが以下の本です。


マインドマップ超入門 著:トニー・ブザン 訳:近田美季子

「頭がよくなる!発想が広がる!!」という帯が書かれています。

資料を全部マインドマップには出来ていませんが、

勉強会の資料や、プレゼン用の資料なんかには、よく活用させてもらっています。

マインドマップに少しでも興味をお持ちなら、この本がとても分かりやすいです。

ページも少なく、一日で読めるような内容なので、定期的に何度も読み直すのが良いと思います。


2012年10月19日

TogglをLaunchpadで翻訳してはダメ

ひどい。

今まで、翻訳は Launchpad でね!
とか書いていたのに

http://blog.toggl.com/2012/10/translate-toggl-into-your-language/

翻訳インターフェースの Tolk 出るから待ってね、だって。

今翻訳してもおそらく反映されません。Tolkの登場を待ちましょう。

2012年10月18日

作業記録には Toggl

みなさん、自分の作業記録どうしていますか?

作業記録をとると、後で見直した時に、自分の行動の無駄を見つける事ができます。

自分の作業の記録方法は様々ありますが、

私は、

TaskChute → Toggl

という遍歴を歩んでいます。

今回は Toggl のすごい所を紹介したいと思います。


1. 無料

個人で使う基本機能は無料です。有料版がありますが、チーム用の機能や、レポート用の機能が不可される形なので、あまり個人に関係がありません。

2. スマートフォン版も無料ユーザーが使える

Toggl にはスマートフォンアプリがありますが、このアプリが無料ユーザが使えます。
スマホ版があると、きっちり外出先のログもとれるのでとても便利です。

3. 記録の付け方が簡単

Toggl は直感的に操作できます。
赤い「開始」ボタンを押せば記録が始まり、「停止」を押すと作業時間を記録できます。
また、最近作業した記録も表示されているので、同じ作業なら、続きで記録も簡単に残せます。


ぜひ、使ってみてください。

https://www.toggl.com/

2012年10月18日のタスク

  • アルバイト
  • Androidアプリ開発

2012年10月17日

考えよう、ケータイ

スマートフォンのセキュリティについて調べていたら
以下のようなページがありました。

http://ace-npo.org/info/kangaeyou/index.html (考えよう、ケータイ)

いろいろな企業・団体が情報を提供してくれていますね。

2012年10月16日

スマートフォンを安全に使うために 今気をつけておくべき事

最近になりスマートフォンが普及してきましたが、

ユーザーのセキュリティ意識は、まだまだ低いのが現状です。


2012年10月16日現在、スマートフォンを安全に利用する手引きは、各所で公開されています。
最後にそのURIはまとめてリンクを貼りますが、
ここでは、IPAが提唱している「スマートフォンを安全に使うための6箇条」をご紹介します。

他のものより具体的で分かりやすいと思います。 

  • スマートフォン・アプリを常に最新の状態にする
  • 信頼できる場所からアプリをインストール
  • アンドロイド端末では、アプリをインストールする前に、アクセス許可を確認する。
  • セキュリティソフトを導入する。
  • スマートフォンを小さなパソコンと考え、パソコンと同様に管理する。
  • スマートフォンにおける改造行為を行わない。

各6ヶ条の意味は、IPAのサイトで見ていただいて勉強してください。

スマートフォンは、何でもできる自由があると同時に、その自由を管理する責任があります。
管理を怠ると、紛失や悪用された時に自分が被害者ではなく、知らない間に加害者になっているという事もありえます。

十分に注意して使いましょう。


総務省:スマートフォン情報セキュリティ3ヶ条
http://www.soumu.go.jp/main_sosiki/joho_tsusin/security/enduser/ippan20.htm

IPA:スマートフォンを安全に使うための6箇条
http://www.ipa.go.jp/security/keihatsu/pr2012/general/03_smartphone.html

IPA:大丈夫?あなたのスマートフォン-安心・安全のためのセキュリティ-

ubuntu 12.04 に Android 開発環境を構築

もう10月中旬になりました。
そろそろ、Ubuntu 12.10 が登場する時期となりました。

しかし、それをよそに、Ubuntu 12.04 に Androidの開発環境の構築しましたので、そのインストール記録を公開します。


以前、当ブログで Ubuntu 11.10 に Androidの開発環境を構築しました。(以前の記事:ubuntu 11.10 に Android 開発環境を構築)

その時の手順と何か違いはあるのでしょうか?

結論を先に書くと、インストールの手順の違いはありませんでした。

よって今回は画像付きで分かりやすくインストールの手順を紹介します。

今回、インストールするものは、
  • Java JDK
  • Eclipse
  • Android SDK
  • Android Development Tools(Eclipse Plug-in)
です。


1. Java JDK のインストール

Android Developers には sun-java6-jdk が進められていますが、(http://developer.android.com/sdk/installing/index.html)

今回も、ソフトウェアセンターから openjdk-6-jdk を virtualvm アドイン付きでインストールします。




2. Eclipse のインストール

続いて、ソフトウェアセンターから Eclipse をインストールします。特に注意事項はありません。

さらに、以下の記事を見て、Eclipseを日本語化すると良いでしょう。
Ubuntu 11.10 上で Eclipse の日本語化




3. Android SDK のインストール

続いては、Android SDKのインストールを行います。

公式サイト http://developer.android.com/sdk/index.html からダウンロードします。

ダウンロードしてきたファイルを以下のコマンドで展開します。
$ tar -xzvf android-sdk_r20.0.3-linux.tgz
展開されたら、以下のコマンドで /optディレクトリに移動させます。
$ sudo mv android-sdk-linux /opt
パッケージを移動後、以下のコマンドでパスをシェルに通します。
$ vi .bashrc
// 次の文を追加
export PATH=${PATH}:/opt/android-sdk-linux/tools
$ source .bashrc
また、信頼できるかどうかは不明ですが、https://launchpad.net/~upubuntu-com/+archive/devel にUbuntu のパッケージもあります。



4. Android Development Tools(Eclipse Plug-in)のインストール

Eclipse を起動し、[Preferences] -> [Install/Update] -> [Available Software Sites]を選びます。


選んだら、以下の2つのURLを追加します。

    https://dl-ssl.google.com/android/eclipse/

    http://download.eclipse.org/releases/indigo/


続いて、[Help] -> [Install new software...] を選択し、「https://dl-ssl.google.com/android/eclipse/」を選び、
しばらくすると[Development tools]が出てくるので、チェックを入れて、[Next]をクリックします。クリックすると、インストールが行われます。
インストールが完了すると再起動を求められるので再起動します。









再起動すると、SDKをインストールする、もしくはインストールしたディレクトリを指定するウインドウが出てくるので、
[Use existing SDKs]にチェックを入れ、インストールしたディレクトリ[/opt/android-sdk-linux]を指定します。




指定した後、Android SDK Managerが起動し、インストールできるパッケージの一覧が表示されるので、
Toolsと必要なバージョンのものにチェックを入れ、[Install packages]からインストール。
途中で、 MOTODEVの登録を求められるが、キャンセルで飛ばします。長いダウンロード時間・インストール時間がかかったら完了です。





以上。