動画で学ぶ、Androidアプリの作り方

Android studioとEclipse比較してみた

Android開発ツールの比較動画です。
現段階の主流であろうEclipseと、これからの主流になるであろうAndroid Studioを比較してみます。

Android studioとEclipse比較してみた

動画リスト

【 動画リスト 】

・1/4 はじめに
http://youtu.be/WtmB3pZ2OS0

・2/4 起動編
http://youtu.be/v6AddV3lJgE

・3/4 作成編
http://youtu.be/vRDJESb6WxQ

・4/4 スタジオのメリット
http://youtu.be/I-2WCVWTIKM

title_タイトル_対象者

・現在Eclipseで開発を行っているが、Android Studioに興味がある。
・これからアプリ開発を考えているが、どのツールを使うか迷っている

難易度 :★★☆☆☆ ( 未経験者にも参考可能なレベル。実際の利用は基礎知識が必要 )

※ 比較動画ですので丁寧には解説していません。

アプリの作り方_学習内容

・StudioとEclipseの画面構成
・アプリ新規作成
・カウンターアプリの作成
・Android Studioのメリット

カウンターアプリ、キャプチャ画像
サンプルアプリ完成図

activity_main.xml-(レイアウト)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView"
        android:textSize="36sp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="41dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="59dp"
        android:onClick="onButton" />

</RelativeLayout>

MainActivity.java (プログラム)

package com.example.test0107;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity {

    // ↓ここから  ////////////////////////
    int c = 0;	
    public void onButton(View v){
	    c++;
	    TextView t = (TextView)findViewById(R.id.textView1);
	    t.setText(c + "");
    }
    // ↑ここまで  ////////////////////////
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ~略~
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       ~略~
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        ~略~
    }
}

動画で学ぶ、Androidアプリの作り方

プログラミング基礎 2/8 ~入力ルール~

プログラミング基礎 2/8 ~入力ルール~

プログラミング入力時のルール「注意点」を収録しています。
ルールを知ることで、学習効率を上げ、トラブル防止(挫折防止)に役立って貰えたら幸いです。

難易度 :★☆☆☆☆

以下の予備知識が必要です。

学習の流れ

  1. アプリ新規作成
  2. 入力ルール

入力ルール(MainActivity.java)

  • +-アイコンはくくりの開閉
  • 文字の色は、意味の違い
    • 紫色:意味のある単語( 不用意に編集不可 )
    • 緑色:意味の無いコメント( 自由に編集可能 )
    • ※ 設定により変更可能
  • 赤いマークはエラーマーク
  • 単語と単語は半角スペースで開ける
    1. ○ 複数の半角スペース
    2. ○ タブや改行を入れる
    3. × 全角スペース
    4. × 単語を途中で切る
    5. × 単語をつなげる
    6. × 小文字を大文字に変える
  • 改行や空白は見やすくするため
  • Ctrl + Shift + F で自動調整
  • ;は1行の終わり( 日本語の「。」と同じ )
  • 基本は半角で記入する
  • タブは階層を表している
動画で学ぶ、Androidアプリの作り方

プログラミング基礎 1/8 ~プログラミングとは~

プログラミング基礎 1/8 ~プログラミングとは~

学習内容

スマフォアプリを作成したいけど、プログラミング未経験者を対象にした「プログラミングとは?」の解説動画です。

未経験の方に「プログラミングをマジで動画で教える」を目指した動画、第一弾です。

注意: このシリーズはあくまでも「基礎知識(予備知識)」で、具体的な学習は続編の「プログラミング入門」で行う予定です。

難易度 :★☆☆☆☆

  • スマフォアプリを作りたい方
  • プログラミングは全くの未経験

動画内のスライド紹介

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶスマフォアプリの作り方「プログラミングとは」

動画で学ぶ、Androidアプリの作り方

ボタンとXML

プログラミング未経験者対象の【 Androidアプリ作成動画 】で、このページは「画面作成の基本操作」を解説した動画です。

注意:この動画は未経験者の方の参考動画で、動作を保証するものではありません。
開発バージョン違い、PC環境の違い、文字コード等の設定違いにより、コピペしてもうまく機能しない時があります。

動画で学ぶアプリ開発「ボタンとXMLレイアウト」

アプリの作り方_学習内容

未経験者対象の「画面の作り方」の解説動画です。

「ボタンとRelativeLayout」の内容をXMLで作成する解説動画です。

【 学習の流れ 】

  1. 新規アプリケーション作成
  2. XMLとは
  3. XMLでの画面作成

【 XMLとは 】

  1. 画面を確認してみよう
  2. XML → 文字で画面を作成する文法

【 XML図解 】

動画で学ぶAndroid開発 「XML図解」

XML図解-XMLの書き方

【 XMLでの画面作成 】

  1. 削除と配置をしてみよう。
  2. 横幅を変えてみよう。
  3. 画面の中央に配置してみよう。
  4. ボタンの右寄せ、左寄せ。
  5. 余白を設定してみよう。
動画で学ぶ、Androidアプリの作り方

ボタンとRelativeLayout

プログラミング未経験者対象の【 Androidアプリ作成動画 】で、このページは「画面作成の基本操作」を解説した動画です。

注意:この動画は未経験者の方の参考動画で、動作を保証するものではありません。
開発バージョン違い、PC環境の違い、文字コード等の設定違いにより、コピペしてもうまく機能しない時があります。

動画で学ぶアプリ開発 「ButtonとRelativeLayout」

アプリの作り方_学習内容

未経験者対象の「画面の作り方」の解説動画です。
RelativeLayoutにボタンを配置し、基本的な設定の仕方を解説しています。

【 学習の流れ 】

  1. 新規アプリケーション作成
  2. 編集画面の調整と理解
  3. ボタンの編集
  4. RelativeLayout基礎

【 ボタンの編集 】

  1. 文字を変更してみよう。
  2. 文字サイズを変更してみよう。
  3. ボタンサイズを変更してみよう。
    • wrap_content(ラップコンテンツ・素材を包み込む)
    • match_parent(マッチペアレント・親に合わせる)

【 RelativeLayout基礎 】

  1. RelativeLayoutとは
    • Relative(リラティブ・相対)とLayout(レイアウト・配置)
    • 相対的:○○の右、○○の下
    • 具体的:画面の中央、画面の右、画面の下
  2. 画面の中央に配置してみよう。
    • Horizontal(ホリゾンタル・水平)とVertical(ヴァティカル・垂直)
    • true(トゥルー・真)とfalse(フォルス・偽)
  3. ボタンの右寄せ、左寄せ。
    • alignParent(アラインペアレント・親とそろえる)
  4. 余白を設定してみよう。
    • margin(マージン・余白)
動画で学ぶ、Androidアプリの作り方

サイズ違いのイラストを並べよう

プログラミング未経験者対象の【 Androidアプリ作成動画 】です。

この動画はアプリの画面作成の流れを動画にしてUPしたもで、あまり丁寧に解説してません。
開発バージョンの違いや、文字コード、設定等により、コピペしてもうまく機能しない時があります。
未経験者の方の参考動画としてご覧ください

Androidアプリの作り方_サイズの違うイラストの並べ方

SeekBarの利用_学習内容

この動画は「サイズの違うイラストの並べ方」を解説したものです。
ポイントさえつかむと、自由に応用することができると思います。

難易度 :★★☆☆☆ ( 未経験者にも、再現、応用が可能なレベル。(エクリプスの基本操作は必要 ))

動画で学ぶスマフォアプリ_使用素材

動画で学べるAndroidアプリ開発_サイズが違う画像のレイアウト
クラゲイラスト400px
サメのイラスト
サメのイラスト600px
クジライラスト
クジライラスト800px

動画で学ぶアプリ作成_作成の流れ

  1. 新規アプリ作成
  2. 縦並びレイアウトへ変更  ( LinearLayout )
  3. 画像の用意
    • ネットからダウンロード
    • アプリに組み込む
  4. 画像の配置と並べ替え
  5. 画像の表示サイズをそろえる
  6. 起動テスト
  7. 説明を省いた復習

動画で学ぶAndroidアプリ 【ソース】

2・縦並びレイアウトへ変更 ( LinearLayout )

  • TextViewの削除
  • 縦並びのレイアウトに変更する

縦並びレイアウト_LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test0924b.MainActivity" >

</LinearLayout>

※ バージョンによって多少違いがありますが、学習には問題ないです。

4・画像の配置と並べ替え

  • 画像を3枚配置する
  • 画像の並べ替え

3・画像の配置と並べ替え2

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test0924b.MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_whale800px" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_shark600px" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_jellyfish400px" />

</LinearLayout>

5・画像の表示サイズをそろえる

  • 全ての画像の、横幅と縦幅を最大化する
  • 全ての画像の、表示の割合を指定する

5・画像の表示サイズをそろえる

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test0922.MainActivity" >

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:src="@drawable/img_whale800px" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:src="@drawable/img_shark600px" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:src="@drawable/img_jellyfish400px" />

</LinearLayout>

6・起動テスト

  1. パッケージエクスプローラ内のプロジェクトをクリック( 名前は作成毎に異なる )
  2. メニューの実行ボタンをクリック
  3. 30秒~2分ほどでエミュレータが起動し、アプリが表示される

動画で学ぶAndroidアプリ_エミュレータ起動時の注意「プロジェクトを先にクリック」

動画で学ぶ、Androidアプリの作り方

SeekBar(シークバー)の利用

プログラミング未経験者対象の【 Androidアプリ作成動画 】です。
 
未経験者を対象にして、できる限り分かりやすく解説しているつもりですが、プログラミングスキルや開発環境によって理解出来なかったり、再現出来ない時もあります。

SeekBarの利用_YouTubeアイコン

 

SeekBarの利用_学習内容
この動画は「SeekBar(シークバー)を使って背景色を変更する」を解説したものです。
 
難易度 :★★★★☆ ( 未経験者には理解も利用も困難で「再現出来れば十分」なレベル )
 
SeekBarを本格的に理解するのはオブジェクト指向を深く理解できてないと厳しいと思います。

残念ながら、初心者の方は「理解より再現(自分のパソコンで再現させる)」を目指してください。
不思議な物で、分からずに体験していると、学習が楽になりますので、是非2回は再現してみてください。
 
 
title_動画で学ぶアプリ作成_作成の流れ

  • 新規アプリケーション作成
  • 背景色の変更
  • SeekBerを配置
  • SeekBerでの背景色の変更
  • 復習作成( 同じ物をもう一度 )

 
 
SeekBarの利用_ソース

 

1・背景色の変更(前置き)

  • RelativeLayoutにIDを付ける
  • TextViewを削除する
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test1.MainActivity" >

</RelativeLayout>

 

・setBackgroundColorで背景色を付ける (MainActivity.java)

package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;


public class MainActivity extends ActionBarActivity {

    // オンクリエイト( 画面表示直前に実行される )
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        /************************************
         * 背景色の変更(前置き)
         ***********************************/
        RelativeLayout rl =(RelativeLayout)findViewById(R.id.rLayout);
        rl.setBackgroundColor(Color.rgb(255, 0, 0));
        // この段階でエラーが出る人はバージョンUPが必要と思われます。( 2014/09/10 現在 )
    }

// ~ 以下略 (変更しません)~

SeekBarの利用_(RelativeLayout)findViewById

SeekBarの利用_setBackgroundColor(Color.rgb(255,-0,-0));


2・SeekBarの配置

・RelativeLayoutにIDを付ける (activity_main.xml)

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test1.MainActivity" >

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:max="255" />

</RelativeLayout>

 

 


3-1・バーを変更したときの処理を登録する (1/3)

・setOnSeekBarChangeListenerの設定 ( MainActivity.java )

package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.SeekBar;


public class MainActivity extends ActionBarActivity {

    // オンクリエイト( 画面表示直前に実行される )
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        /************************************
         * 背景色の変更(前置き)
         ***********************************/
        RelativeLayout rl =(RelativeLayout)findViewById(R.id.rLayout);
        rl.setBackgroundColor(Color.rgb(255, 0, 0));
        
        /************************************
         * シークバーの利用
         ***********************************/
        SeekBar sb =(SeekBar)findViewById(R.id.seekBar1);
        sb.setOnSeekBarChangeListener(l);            // エラーが出ます
    }
// ~ 以下略 (変更しません)~

SeekBarの利用_sb.setOnSeekBarChangeListener(l);
 
 


3-2・バーを変更したときの処理を登録する (2/3)

・OnSeekBarChangeListenerの設定 ( MainActivity.java )

package com.example.test1;

import android.support.v7.app.ActionBarActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;


public class MainActivity extends ActionBarActivity {

    // オンクリエイト( 画面表示直前に実行される )
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        /************************************
         * 背景色の変更(前置き)
         ***********************************/
        RelativeLayout rl =(RelativeLayout)findViewById(R.id.rLayout);
        rl.setBackgroundColor(Color.rgb(255, 0, 0));
        
        /************************************
         * シークバーの利用
         ***********************************/
        SeekBar sb =(SeekBar)findViewById(R.id.seekBar1);
//      sb.setBackgroundColor(Color.rgb(0, 0, 255));
        sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
			
                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                        // TODO Auto-generated method stub
				
                }
			
                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                        // TODO Auto-generated method stub
				
                }
			
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress,
                        boolean fromUser) {
                        // TODO Auto-generated method stub
				
                }
        });
        // ***ここまで*****************************
    }
// ~ 以下略 (変更しません)~

SeekBarの利用_イベントリスナー
 
 


3-3・バーを変更したときの処理を登録する (3/3)

  • 背景色変更の処理を移動する。
  • 赤色の変数をpに統一しています。

・ ( MainActivity.java )

/************************************
* シークバーの利用
***********************************/
SeekBar sb =(SeekBar)findViewById(R.id.seekBar1);
sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
			
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // タッチを離した時の処理を記載
    }
			
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // タッチした時の処理を記載
    }
			
    @Override
    public void onProgressChanged(SeekBar seekBar, int p, boolean fromUser) {
        // 値が変化する度に実行される
				
        /************************************
        * 背景色の変更
        ***********************************/
        RelativeLayout rl =(RelativeLayout)findViewById(R.id.rLayout);
        rl.setBackgroundColor(Color.rgb(p, 0, 0));
    }
});
// ***ここまで*****************************
動画で学ぶ、Androidアプリの作り方

開発環境の構築

このページでは「Androidの開発環境の構築の流れ」を動画で紹介しています。

見ての通りかなり長い上いです。

「環境作るだけでどんだけかかるねん!!!」と、つっこみたくなります。

 

さらに「開発環境やインストール時のバージョン」によって上手く行かないことはまれです。

初心者の方は動画を参考にしつつ、自分の環境にあった書籍等をご覧ください。

 

注意: 自身のPCのバージョンの確認方法等は、自身で調べる必要があります。

また、動作保障や、不都合が起きないことを約束するわけではありません。 

 


 

【 動画の内容 】

eclipseによるAdroidアプリの開発環境の構築経過を動画にした物です。

初心者の方が、これから開発するときの参考にしてもらえると幸いです。

YouTube学習動画、Androidアプリ開発環境の構築

この動画は4つに分かれていて以下の順にご覧ください。

■1/1 ~前置き編~
https://www.youtube.com/watch?v=nbb56PTcFTo

■2/4 ~インストール編~
https://www.youtube.com/watch?v=vLLUhnh8KPU

■3/4 ~初期設定編~
https://www.youtube.com/watch?v=OZw2i9wfTas

■4/4 ~起動確認編~ (起動エラーも対処してます。汗)
https://www.youtube.com/watch?v=KiR3qJeZa9Q

 

 


 

 

① ダウンロード

必要なファイル ( JavaとSDK )をダウンロードします。

※ Javaとは・・・Java言語のプログラムの実行環境および開発環境

※ SDKとは・・・・開発に必要な部品のこと = ここでは「Androidを開発するソフト」でOK

 

1-1 Java SEのダウンロード

1_Java-SE

 

Android 開発環境構築 Java3

* 以下をクリックでも開きます

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

Android 開発環境構築 Java3

 

Android 開発環境構築 Java3

 

以上で、ダウンロードが始まります。

 

 

1-2 Android SDKのダウンロード

Android開発環境 Android SDK のダウンロード

* 以下をクリックでも開きます

http://developer.android.com/sdk/index.html

Android開発環境 Android SDK のダウンロード22

Android開発環境 Android SDK のダウンロード3

 

6 ・ パソコン内にダウンロードされていることが確認できると思います。

開発環境の構築 DL後

 

 

② インストール

・Javaはダブルクリックでインストール

01_開発環境の構築_Javaのインストール

 

以降は基本 次へ・・・次へ・・・

02_開発環境の構築_Javaのインストール

03_開発環境の構築_Javaのインストール

04_開発環境の構築_Javaのインストール

05_開発環境の構築_Javaのインストール

06_開発環境の構築_Javaのインストール

07_開発環境の構築_Javaのインストール

 

 

・Android SDKは解凍して Cドライブ直下にコピーします。

01_開発環境の構築_Android-SDKのインストール

② 圧縮ファイル内のフォルダを丸ごとコピー

02_開発環境の構築_Android-SDKのインストール

③ コピーしたフォルダをCドライブ直下に貼り付け

03_開発環境の構築_Android-SDKのインストール

 

 

⑤ Cドライブ直下にコピーされます。

04_開発環境の構築_Android-SDKのインストール

 

⑥ コピーされたフォルダ内の「SDK Manager」を起動 ( SDK Managerのインストール )

05_開発環境の構築_Android-SDKのインストール

⑦ セキュリティの警告が出たら「実行」をクリック

06_開発環境の構築_Android-SDKのインストール

* 何事もなく終わると思います。

 

以上で、ダウンロードとインストールは終了です。

引き続き、初期設定に入ります。

 

③ 初期設定( SDKコンポーネントの追加 

 

① Eclipseを起動するために「eclipes」フォルダを開く。

01_開発環境の構築_初期設定

② フォルダ内の「eclipse」クリックで起動される

02_開発環境の構築_初期設定

④ セキュリティの警告が出たら「実行」

* 何度も起動するので、③のチェックを外す。

03_開発環境の構築_初期設定

④ 起動を待ちます。

04_開発環境の構築_初期設定

⑤ 作成したアプリの保存場所を決めます ( 初期設定でOK )

⑥ ⑤が決まったら「OK」をクリック

05_開発環境の構築_初期設定

⑤ 起動されます。

06_開発環境の構築_初期設定

⑥ SDKコンポーネント(複数のAndroidバージョンに対応させるためのパーツ) を追加するため  ⑥のアイコンをクリック

07_開発環境の構築_初期設定

⑦ テストしたいAndroidバージョン等を選択 ( ここでは3機種でテストしたいので、Android L、Android 4.3、Android 2.33を選択しています。)

⑧ Installをクリック ( 何度か押す必要があります。)

⑨ チェックが足りてなかったので、動画の後半でインストールします。 (チェックが必要です。)

08_開発環境の構築_初期設定3

 

⑫ ダウンロードが始まります (超長いです。)

10_開発環境の構築_初期設定

 

 

⑬ 何度か「Install」すると押せなくなるのでウインドウを閉じます。

11_開発環境の構築_初期設定

以上で、SDKコンポーネントの追加は終わりです。

 

 

④ 初期設定( 高速エミュレータの設定 

Android 2.33以降のバージョンはエミュレータの高速化を行います。

まずは、 Intel HAXMをインストールします。

* これは自身のパソコンのCPUがIntelのみで可能です。

 

⑭~⑮ Intel HAXMをインストールするために、保存先を確認します。

05_開発環境の構築_高速エミュレーター

⑯ ⑮のフォルダ内を開く

12_開発環境の構築_初期設定

⑱ intelhaxmファイルが見つかったらダブルクリックで起動 (インストール)

13_開発環境の構築_高速エミュレーター

* セキュリティの警告が出たら「実行」をクリック

 

⑲ Nextをクリック

14_開発環境の構築_高速エミュレーター

⑳ Nextをクリック

15_開発環境の構築_高速エミュレーター

21- Installをクリック

16_開発環境の構築_高速エミュレーター

21- インストール終了後にFinishをクリック

17_開発環境の構築_高速エミュレーター

以上で高速エミュレータの 準備(Intel HAXMのインストール)は終了します。

* サイトが開いたら閉じておいてください。

* Ecliepsを再起動しといてください。

 

⑤ 初期設定( エミュレーターの作成 

Eclieps再起動後、エミュレーター( パソコン上の仮想Android :作成したアプリのテストをする )の作成を行います。

① 起動後のワークスペース(保存場所)は「OK」をクリック

01_開発環境の構築_エミュレータ設定

② エミュレーターの管理が面を開くために②をクリック

02_開発環境の構築_エミュレータ設定

③ 画面がAVD Managerが開くので「Create」をクリック

03_開発環境の構築_エミュレータ設定

④ Android 2.33の設定 (1台目)

04_開発環境の構築_エミュレータ設定_233

* OK後は③の「Create」をクリック

 

⑤ Android 4.3の設定 (2台目)

* 画面を最大化しないと「高速化(?)のチェック」が見えないかもしれません。

05_開発環境の構築_エミュレータ設定_43

* OK後は③の「Create」をクリック

 

⑥ Android Lの設定 (3台目)

*本体の設定を Nexus 7にしてもいいと思います。

05_開発環境の構築_エミュレータ設定_L

以上で、エミュレータの作成は終了です。

続いてエミュレータの起動テストを行います。

⑦ 一機種選び「Start」をクリック

07_開発環境の構築_エミュレータ機動テスト

 

⑧~⑨ エミュレーターは画面が大きすぎるので、画面に表示されるサイズを6インチ(?)に設定

⑩ はエミュレータを初期化したい時にチェックを入れる (動きがおかしい、アプリがインストールできないなど)

⑪ 設定後 「Launch」をクリックすると起動される (遅いです)

08_開発環境の構築_エミュレータ機動テスト

 

⑫~⑬ 起動待ちの状態です。(長いです)

12_開発環境の構築_エミュレータ機動テスト

 

13_開発環境の構築_エミュレータ機動テスト

 

⑭ 初起動直後です。右下の青い「OK」をクリックしてください。

14_開発環境の構築_エミュレータ機動テスト

 

⑮ 無事に起動しました。普通のAndroidとして動かせます。

( 電話やBluetoothなど使用できない機能も多いです。)

15_開発環境の構築_エミュレータ機動テスト

以上で、エミュレータの起動テストは終了です。

* 他のエミュレーター(And2.33)等も同じように起動できます。

* エミュレーターはメモリを多く使用するので、複数起動は避けたほうがいいかもです。

 

最後に新規にアプリケーションを作成し、起動したエミュレーターで動かしてみます。

⑯ AVD Maneagerを閉じてください。

16_開発環境の構築_エミュレータ機動テスト

* eclipse と エミュレーターのみが起動している状態にする。

 

 

⑥ 新規アプリ作成とエミュレーターでの起動テスト

①「File」 → 「New」 → 「Android Application Project」を選択

01_新規アプリケーション起動テスト

 

② アプリ名を 「 Test 」と入力 ( それ以外は自動入力されます。 以降、細かい説明は省略 )

③ Nextをクリック

02_新規アプリケーション起動テスト

④ Nextをクリック

04_新規アプリケーション起動テスト

⑤ Nextをクリック

05_新規アプリケーション起動テスト

⑥ Nextをクリック

06_新規アプリケーション起動テスト

⑦ Finishをクリック後、新規アプリケーションが作成されます。

07_新規アプリケーション起動テスト

 

アプリを起動します。

⑧ → ⑨ → ⑩とクリック

08_新規アプリケーション起動テスト

 

⑪ 起動方法を 「Android Application 」を選択し

⑫ OKをクリック

09_新規アプリケーション起動テスト

 

⑬ しばらく待つと、エミュレーターに起動されると成功です!!!

10_新規アプリケーション起動テスト

これで、全て完了です!!

お疲れ様でした☆

・・・・長かった・・・汗

 

 

⑭ 補足

以下の画面はNoで問題ないようです。( Logの出力? )

11_新規アプリケーション起動テスト

 

Androidアプリの作り方「再生ボタンの設置」

音楽の再生ボタンを設置する

プログラミング未経験者対象の【 Androidアプリ作成動画 】です。
この動画はアプリの画面作成の流れを動画にしてUPしたもで、あまり丁寧に解説してません。
開発バージョンの違いや、文字コード、設定等により、コピペしてもうまく機能しない時があります。
動作を保証する物で無く、未経験者の方の参考動画としてご覧ください。

 

【 動画内容 】

ゲーム等での「音楽の再生ボタンを設置する」を解説した動画です。
前回作成した「バックミュージックとアクティビティ」の続編としてご覧ください。
この動画は、予備知識としてアクティビティのライフサイクルIFを理解していることが前提の動画です。
まだ、未学習の方は参考程度にしてください。( わからない箇所はご質問ください。 )

 

Androidアプリの作り方「再生ボタンの設置」

 

 


【 使用画像 (ご自由にお使いください) 】

アプリ素材 スタートボタンアプリ素材 一時停止ボタン

 


【 レイアウト 】

fragment_main.xml か activity_main.xmlです。開発環境のバージョンで変わります。

 

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”com.example.sound0724.MainActivity$PlaceholderFragment” >

<ImageView
android:id=”@+id/soundButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerHorizontal=”true”
android:layout_centerVertical=”true”
android:onClick=”onSoundButton
android:src=”@drawable/start” />

</RelativeLayout>

 


【 プログラム MainActivity.java 】

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends ActionBarActivity {

	/****************************
	 * フィールド ( アプリ全体で使用する変数 )
	 ***************************/
	// 再生の準備
	MediaPlayer p;

	/*********************
	 * 初期化
	 ********************/
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 音楽の読み込み
		p = MediaPlayer.create(getApplicationContext(), R.raw.sound);
		// 連続再生設定
		p.setLooping(true);

		if (savedInstanceState == null) {
			getSupportFragmentManager().beginTransaction()
					.add(R.id.container, new PlaceholderFragment()).commit();
		}
	}

	/*********************
	 * ボタンでの再生と停止
	 ********************/
	public void onSoundButton(View v) {

		// 表示内容の切替え
		ImageView button = (ImageView) findViewById(R.id.soundButton);

		// 再生中なら停止して、停止中なら再生する
		if (p.isPlaying()) {
			p.pause(); // 一時停止
			button.setImageResource(R.drawable.start);
		} else {
			p.start(); // 再生
			button.setImageResource(R.drawable.pause);
		}
	}

	/*****************************
	 * 終了処理(メモリの解放)
	 *****************************/
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();

		p.release(); // メモリの解放
		p = null; // 音楽プレーヤーを破棄
	}
	
	
	@Override
	protected void onPause() {
		super.onPause();
		// 本来なら停止処理が必要
	}
	
	
	@Override
	protected void onResume() {
		super.onResume();
		// 本来なら再開処理が必要
	}
  ~ 以下略 ~

動画で学ぶ、Androidアプリの作り方

バックミュージックとアクティビティ

※ 新バージョンがあります → [ バックミュージックの再生 ]

プログラミング未経験者対象の【 Androidアプリ作成動画 】です。
この動画はアプリの画面作成の流れを動画にしてUPしたもで、あまり丁寧に解説してません。
開発バージョンの違いや、文字コード、設定等により、コピペしてもうまく機能しない時があります。
動作を保証する物で無く、未経験者の方の参考動画としてご覧ください。

 

【 動画内容 】

ゲーム等での「バックミュージックを流す」を解説した動画です。
バックミュージック(音楽)を流すにはアクティビティのライフサイクルを理解する必要があるので、簡単にですが解説しています。

 

MediaPlayerとActivity

 

動画学習:アクティビティのライフサイクル

 


【 プログラム MainActivity.java 】

 

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

	// 再生の準備
	MediaPlayer p;

	/*****************************
	 * 起動処理 (読み込みと設定 )
	 *****************************/
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Toast.makeText(this, "onCreate() 起動処理", Toast.LENGTH_SHORT).show();
		// 音楽の読み込み
		p = MediaPlayer.create(getApplicationContext(), R.raw.sound);
		// 連続再生設定
		p.setLooping(true);

		if (savedInstanceState == null) {
			getSupportFragmentManager().beginTransaction()
					.add(R.id.container, new PlaceholderFragment()).commit();
		}
	}

	/*****************************
	 * 画面表示
	 *****************************/
	@Override
	protected void onResume() {
		super.onResume();

		Toast.makeText(this, "onResume() 再生処理", Toast.LENGTH_SHORT).show();
		p.start(); // 再生
	}

	/*****************************
	 * 画面非表示
	 *****************************/
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();

		Toast.makeText(this, "onPause() 画面非表示", Toast.LENGTH_SHORT).show();
		p.pause(); // 一時停止
	}

	/*****************************
	 * 終了処理(メモリの解放)
	 *****************************/
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();

		Toast.makeText(this, "onDestroy() 終了処理", Toast.LENGTH_SHORT).show();
		p.release();// メモリの解放
		p = null; // 音楽プレーヤーを破棄
	}

	~ 以下略 ~