[C言語基礎編] 開発環境の構築 Visual Studio Express 2012




プログラミングを始めるにあたってまず必要なのは、プログラムを書くテキストエディタと、書いたプログラムをコンピュータが実行できる形式に変換するコンパイラです。
メモ帳と、コマンドプロセッサを使うというのが最も原始的で単純ですが、実際にはIDE(統合開発環境)を使います。IEDとはプログラミングに必要な様々なソフトウェアを一つにまとめたソフトウェアです。メジャーなのは「visual studio」、「eclipse」などです。今回は「visual studio」を使っていきたいと思います。


・ダウンロード

まずは以下のサイトから「Visual Studio Express 2012」をダウンロードします。

http://www.microsoft.com/ja-jp/dev/express/default.aspx



・インストール

ダウンロードされたファイル「wdxpress_full.exe」をダブルクリックで実行すると以下のポップアップが出るので、「ラインセンスに同意する」にチェックを入れインストールボタンを押します。




ユーザアカウント制御が出た場合は「はい」を押してください。

インストールにはかなりの時間がかかります。1時間ほど掛かることもあるでしょう。気長にコーヒーでも飲みながら待ちましょう。


インストールが完了すると以下の画面が出るので「起動」を押してみましょう。




ちゃんと起動できれば成功です。





[簡単Androidアプリ] 図形を描画してみよう!!(Viewクラスの拡張)


今回はViewクラスを拡張し、Javaのクラスを使って、ランダムな位置に図形を描画します。

まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで


今回はレイアウトの設定は行わないので早速プログラムから見ていきます。



Coding

コードを入力していきます。

SampleMain.java


package com.sample.brogger;

import java.util.ArrayList;
import java.util.Random;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;

public class SampleMain extends Activity {

    /** 描画する図形の数 **/
    static final int num = 600;

    /** Viewクラスを拡張した、DrawViewクラスのオブジェクトの宣言 **/
    DrawView dView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの設定
        LinearLayout ll = new LinearLayout(this);
        // レイアウトの指定
        setContentView(ll);

        // Viewクラスを拡張した、DrawViewクラスのオブジェクトの作成
        dView = new DrawView(this);

        ll.addView(dView);
    }

    /** Viewクラスを拡張した、DrawViewクラス **/
    class DrawView extends View
    {
        /** 描画する図形を格納するリスト **/
        ArrayList<SampleShape> shList;

        /** DrawViewクラスが作成された際に最初に実行されるメソッド(コンストラクタ) **/
        public DrawView(Context context) {
            super(context);

            // 図形リストの作成
            shList = new ArrayList<SampleShape>();

            // 乱数の作成
            Random rn = new Random();

            for(int cnt=0; cnt<num; cnt++)
            {
                //描画する図形のオブジェクト
                SampleShape sh = new SampleShape();

                // ランダムな位置を取得
                sh.x = rn.nextInt(1500);
                sh.y = rn.nextInt(1000);

                // ランダムな色を取得
                sh.r = rn.nextInt(256);
                sh.g = rn.nextInt(256);
                sh.b = rn.nextInt(256);

                // リストに図形を追加
                shList.add(sh);
            }
        }

        /** 描画が行われるときに呼び出されるメソッド **/
        @SuppressLint("DrawAllocation")
        protected void onDraw(Canvas cs)
        {
            super.onDraw(cs);

            // ペイントオブジェクトの作成
            Paint p = new Paint();

            for(int cnt=0; cnt<num; cnt++)
            {
                // 図形リストから図形を取り出す
                SampleShape sh = shList.get(cnt);

                // 色の設定
                p.setColor(Color.rgb(sh.r, sh.g, sh.b));

                // 塗りつぶしの設定
                p.setStyle(Paint.Style.FILL);

                // 図形を描画(円)
                cs.drawCircle(sh.x, sh.y, 10, p);
            }
        }
    }
}

/** 図形の各パラメータを定義するクラス **/
class SampleShape
{
    public int x,y,r,g,b;
}



Execution




[簡単Androidアプリ] 画像をアニメーションさせてみよう!!(ImageView)


今回はイメージビュー(ImageView)を使って画像を表示し、その画像をアニメーションさせるプログラムを作って行きたいと思います。

まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで



Layout

レイアウトの作成を行います。


まず、自分のプロジェクトの「res」->「drawable-hdpi」フォルダ内に自分が表示したい画像をコピーしてください。ただし画像のファイル名は半角英数で、最初の一文字は小文字にしてください。


レイアウトを設定するxmlファイルを開きましょう。(ここではactivity_sample_main.xml)


「palette」->「イメージ&メディア」->「ImageView」をアプリケーション画面にドラッグします。


上図のウィンドウが開いたら「drawable-hdpi」フォルダに追加した画像を選択します。(ここでは image)



Coding

コードを入力していきます。

SampleMain.java


package com.sample.brogger;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.widget.ImageView;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // ImageViewのオブジェクトを作成
        ImageView iv = (ImageView) findViewById(R.id.imageView1);

        // ImagViewをクリックした時の処理をするリスナ
        iv.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                ImageView tmpIv = (ImageView) v;

                // アニメーションの集合を作成
                AnimationSet anim = new AnimationSet(true);

                // 回転アニメーションを追加
                anim.addAnimation(new RotateAnimation(0, 360, tmpIv.getWidth()/2, tmpIv.getHeight()/2));

                // 拡大アニメーションの追加
                anim.addAnimation(new ScaleAnimation(1, 2, 1, 2, tmpIv.getWidth()/2, tmpIv.getHeight()/2));

                // 再生時間の設定
                anim.setDuration(1000);

                // アニメーションの再生
                tmpIv.startAnimation(anim);
            }
        });
    }
}




Execution

では実際に実行してみましょう。


画像をクリックすると・・・


アニメーションします。



前投稿:[簡単Androidアプリ] ダイアログ(AlertDialog)を使ってみよう!!
次投稿:[簡単Androidアプリ] 図形を描画してみよう!!(Viewクラスの拡張)



[簡単Androidアプリ] ダイアログ(AlertDialog)を使ってみよう!!


今回はダイアログ(AlertDialog)について書いていこうとおもいます。

ダイアログはメッセージをポップアップで表示したり、簡単な入力を行ってもらう際に使用します。


まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで


今回はリストのアイテムを押した場合にダイアログを表示するプログラムを作成します。
リストの利用については下記の記事を参照してください。またレイアウトの作成についても下記を参照してください。

[簡単Androidアプリ] リストビュー(ListView)を使ってみよう!!



Coding

コードを入力していきます。

package com.sample.brogger;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // オブジェクトの作成
        ListView lv = (ListView) findViewById(R.id.listView1);

        // リストビュー表示する文字列を設定します
        String[] lvStr = {
                "OS","CPU","メモリ",
                "ディスプレイ","ハードディスク","SSD",
                "Office","GPU","キーボード",
                "マウス","スピーカー"
        };

        // リストビューに表示する文字列を、格納するアダプターの作成
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, lvStr);

        // リストビューにアダプターを設定
        lv.setAdapter(adapter);

        // リストビューの項目をクリックした時の処理をするリスナ
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {

                ListView tmpListView = (ListView) parent;

                // クリックされた項目の文字列を取得
                final String itemStr = (String)tmpListView.getItemAtPosition(position);

                // オブジェクトの作成
                AlertDialog.Builder aDB = new AlertDialog.Builder(SampleMain.this);

                // ダイアログのタイトルを設定
                aDB.setTitle("確認");

                // ダイアログに表示するメッセージを設定
                aDB.setMessage("本当によろしいですか?");

                // ”はい” ボタンの設定
                aDB.setPositiveButton("はい", new DialogInterface.OnClickListener() {


                    // "はい" ボタンが押された場合のリスナー
                    public void onClick(DialogInterface dialog, int which) {

                        // "はい" ボタンが押された場合に表示するダイアログ
                        new AlertDialog.Builder(SampleMain.this)
                        .setTitle("購入")
                        .setMessage(itemStr + "のご購入ありがとうございます。")
                        .setPositiveButton("OK", null).show();
                   }
               });

                // ”いいえ” ボタンの設定
                aDB.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {

                    // "いいえ" ボタンが押された場合のリスナー
                    public void onClick(DialogInterface dialog, int which) {
                     // "いいえ" ボタンが押された場合に表示するダイアログ
                        new AlertDialog.Builder(SampleMain.this)
                        .setTitle("キャンセル")
                        .setMessage("またのご利用お待ちしております。")
                        .setPositiveButton("OK", null).show();
                    }
                });

                // アラートダイアログを表示します
                AlertDialog alertDialog = aDB.create();
                alertDialog.show();
            }
        });
    }
}



Execution

では実際に実行してみましょう。


リストの項目をクリックすると・・・


ダイアログが表示されます。
更に”はい”ボタンを押すと・・・


別のダイアログが表示されます。




前記事:[簡単Androidアプリ] スピナ(Spinner)を使ってみよう!!



[簡単Androidアプリ] スピナ(Spinner)を使ってみよう!!


今回はスピナ(Spinner)について書いていこうとおもいます。

スピナはリストビューに似ていますが、右端をタッチすることでリストがドロップダウンして表示されます。


まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで

Layout

レイアウトの作成を行います。


レイアウトを設定するxmlファイルを開きましょう。(ここではactivity_sample_main.xml)



palette -> コンポジット -> Spinner をアプリケーション画面にドラッグします。



Coding

コードを入力していきます。

package com.sample.brogger;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // オブジェクトの作成
        final Spinner sp = (Spinner) findViewById(R.id.spinner1);

        // リストビュー表示する文字列を設定します
        String[] SpStr = {
                "OS","CPU","メモリ",
                "ディスプレイ","ハードディスク","SSD",
                "Office","GPU","キーボード",
                "マウス","スピーカー"
        };


        // リストビューに表示する文字列を、格納するアダプターの作成
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, SpStr);

        // スピナをクリックした時の表示形式の指定
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // スピナにアダプターを設定
        sp.setAdapter(adapter);

        // スピナをクリックした時の処理をするリスナ
        sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                // クリックされた項目の文字列を取得
                String tmpStr = (String) sp.getSelectedItem();

                // トーストに取得した文字列を表示
                Toast.makeText(SampleMain.this, tmpStr + "が選択されました", Toast.LENGTH_LONG).show();
            }

            @Override
            public void onNothingSelected(AdapterView parent) {
                // TODO 自動生成されたメソッド・スタブ

            }
        });
    }
}



Execution

では実際に実行してみましょう。


スピナをクリックすると・・・


ドロップダウンメニューが表示されます。
さらに項目をクリックすると・・・


トーストが表示されます。





前記事:[簡単Androidアプリ] リストビュー(ListView)に日付を表示してみよう!!「ArrayAdapterクラスの拡張」
次投稿:[簡単Androidアプリ] ダイアログ(AlertDialog)を使ってみよう!!



[簡単Androidアプリ] リストビュー(ListView)に日付を表示してみよう!!「ArrayAdapterクラスの拡張」


前回は、リストビューに自分の好きな文字列をリストビューのアイテムとして追加しました。今回はをリストビューに日付を表示してみたいと思います。

では前回と同じようにレイアウトの作成を行ってください

[簡単Androidアプリ] リストビュー(ListView)を使ってみよう!!



Coding

コードの編集を行っていきます。

SampleMain.java


package com.sample.brogger;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // オブジェクトの作成
        ListView lv = (ListView) findViewById(R.id.listView1);

        // リストビュー表示する文字列を設定します
        String[] lvStr = new String[50];

        // リストビューに表示する文字列を、格納するアダプターの作成
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, lvStr){

            @SuppressLint("SimpleDateFormat")
            public View getView(int pos, View convView, ViewGroup parent)
            {
                // 日付の表示形式を指定
                DateFormat df = new SimpleDateFormat("yyyy/MM/dd");

                // カレンダーのオブジェクトを取得
                Calendar cl = Calendar.getInstance();

                // 今日の日付を取得
                cl.setTime(new Date());

                // 今日の日付に行数を足し、表示する日付を取得
                cl.add(Calendar.DATE, pos);

                // 取得した日付をtmpTvに格納
                TextView tmpTv = new TextView(getBaseContext());
                tmpTv.setText(df.format(cl.getTime()));

                // テキストのサイズを設定
                tmpTv.setTextSize(20);

                // テキストのカラーを設定
                tmpTv.setTextColor(Color.BLACK);

                // 日曜日ならばテキストの色を変更
                if(cl.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
                {
                    tmpTv.setTextColor(Color.RED);
                }

                convView = tmpTv;

                return convView;

            }
        };

        // リストビューにアダプターを設定
        lv.setAdapter(adapter);

        // リストビューの項目をクリックした時の処理をするリスナ
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                // クリックされた項目の文字列を取得
                TextView tmpTv = (TextView) view;

                // トーストに取得した文字列を表示
                Toast.makeText(SampleMain.this, tmpTv.getText() + "が選択されました", Toast.LENGTH_LONG).show();
            }
        });
    }
}



Execution

では実行してみましょう。


項目をクリックすると・・・


トーストが表示されます。