ラジコンラップタイマー

ドリフトパッケージナノというラジコンがほしいなと購入検討中。
遊ぶならタイム計測とかしてみたいな・・・

探せばスマホでできるアプリはあるみたいだけど、
考えてたら自分でも作ってみたいと開発意欲がわいてきた。

ざっくりと仕様検討。

とりあえず作ってみた。

■実行環境
Androidスマートフォン

■開発環境
Android Studio

■ソースコード

■動作画面

動かしてみると、かなり近くじゃないと反応してくれない。
耳がスマホに接してるかどうかのセンサーだからこんなものか。
でもスマホにラジコンをぶつけそうな勢いで走らせないと計測できなさそうだ・・・

ラジコン買って実際に計測してみたい。(傷が付いてもいい古いスマホを使って)

ListViewに文字列を表示

画面にListViewを追加して文字列を表示します。

■main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
  <ListView
	android:id="@+id/listview"
  	android:layout_width="fill_parent"
  	android:layout_height="wrap_content" />
    
</LinearLayout>

■MainActivity.java

package com.example.testlistview;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
	
	private ArrayList<String> list = new ArrayList<String>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO 自動生成されたメソッド・スタブ
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		list.add("item 1");
		list.add("item 2");
		list.add("item 3");
		
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
		ListView listview = (ListView)this.findViewById(R.id.listview);
		listview.setAdapter(adapter);
	}

}

■起動画面
ListView01

コピペして新規プロジェクト作成

前回作成したスケルトンプロジェクトをコピペして簡単に新規プロジェクトを作成します。

■プロジェクトのコピー手順
1.コピー元のプロジェクトを選択
2.右クリックメニューからコピー→貼り付け
3.プロジェクトのコピー画面で新しいプロジェクト名を入力→OK
CopySkeleton01
4.AndroidManifest.xml→Manifest→プロジェクト名にあわせてPackageを変更
CopySkeleton02
5.genが自動的に更新される
CopySkeleton03
6.srcのPakage名を選択→F2キーを押してパッケージ名の変更
CopySkeleton04
7.res→values→app_name→Valueを変更
CopySkeleton05

■起動画面
CopySkeleton06

ランチャーアプリのスケルトン作成

Eclipse4.3.2を操作して、タイトルだけを表示するランチャーアプリ(ランチャーメニューから起動できるアプリ)を作成します。

■新規プロジェクト作成
1.ファイル→プロジェクト→Androidアプリケーション・プロジェクト→次へ
2.新規Androidアプリケーション画面に必要な項目を入力→次へ
Skeleton02
※画面に警告メッセージが出ているように本来はパッケージ名をユニークな名前(ドメイン名の逆順+アプリ名)にする
3.プロジェクトの構成→次へ→ランチャー・アイコンの構成→次へ
4.アクティビティーの作成はチェックを外す
Skeleton03
※チェックを付けると簡単に作成できますが、余分なものが付いてしまうので、シンプルにするため後で自分で作成します
5.完了ボタンを押すと、プロジェクトが作成される

■画面レイアウトを作成する
1.res→layout→新規→その他→Android XML レイアウト・ファイル→次へ
2.New Android Layout XML File画面に必要な項目を入力
Skeleton04
3.完了ボタンを押すと、レイアウトファイルが作成される
※同時にgen→com.example.skeleton→R.layout.mainが追加される
Skeleton18

■画面レイアウトを操作するクラスを作成する
1.src→新規→クラス
2.Javaクラス画面に必要な項目を入力
Skeleton05
3.完了ボタンを押すと、クラスファイルが作成される
4.ソース→メソッドのオーバーライド/実装(V)
5.onCreate(Bundle)をチェック
Skeleton06
6.OKボタンを押すとメソッドが追加される
7.追加されたメソッドの最後にsetContentView(R.layout.main);を追加する
Skeleton07

■マニフェストファイルに、起動クラスの登録、ランチャーアプリの設定
1.AndroidManifest.xml→アプリケーション→追加→Activity→OK
2.画面右側Nameの参照ボタン→MainActivity→OK
3.MainActivity→追加→Intent Filter→OK
4.Intent Fileter→追加→Action→OK
5.画面右側Nameにandroid.intent.action.MAINを入力(MainActivityを起動クラスとして登録)
6.MainActivity→追加→Category→OK
7.画面右側Nameにandroid.intent.category.LAUNCHERを入力(ランチャーアプリとして設定)
Skeleton16

■動作確認
1.Skeleton右クリック→実行→Androidアプリケーション
Skeleton17

■起動画面
Skeleton01