Subversion Repositories AndroidProjects

Rev

Rev 28 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.KanaQuiz;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.Spinner;
import com.google.ads.*;

public class MainActivity extends Activity
{
        private AdView mAdView;

        private OnClickListener mKanaQuizListener = new OnClickListener()
        {
            public void onClick(View v)
            {
            Intent intent = new Intent(v.getContext(), QuizActivity.class);
            intent.putExtras(prepareBundle(Constants.MODE_KANA));            
                       
            startActivityForResult(intent, 0);
            }
        };
       
        private OnClickListener mRomajiQuizListener = new OnClickListener()
        {
            public void onClick(View v)
            {  
                Intent intent = new Intent(v.getContext(), QuizActivity.class);
                intent.putExtras(prepareBundle(Constants.MODE_ROMAJI));
           
            startActivityForResult(intent, 0);
            }
        };
       
        private Bundle prepareBundle(int mode)
        {
        Bundle bundle = new Bundle();
        bundle.putInt("mode", mode);

        Spinner spinner = (Spinner)findViewById(R.id.spinner);        
        bundle.putInt("quiz", spinner.getSelectedItemPosition());
       
        RadioGroup radioGroupInput = (RadioGroup)findViewById(R.id.radioGroupInput);
        switch (radioGroupInput.getCheckedRadioButtonId())
        {
        case R.id.radioInputSmall:
                bundle.putInt("input", Constants.INPUT_SMALL);
                break;
        case R.id.radioInputFull:
        default:
                bundle.putInt("input", Constants.INPUT_ALL);                   
                break;                                     
        }
       
        return bundle;
        }
       
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        // Create the adView
        mAdView = new AdView(this, AdSize.BANNER, Constants.ADMOB_PUBLISHER_ID);

        // Lookup your LinearLayout assuming itÂ’s been given
        // the attribute android:id="@+id/mainLayout"
        LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

        // Add the adView to it
        layout.addView(mAdView);

        // Initiate a generic request to load it with an ad
        mAdView.loadAd(new AdRequest());
       
        ImageButton button1 = (ImageButton)findViewById(R.id.imageButtonZhuyin);
        button1.setOnClickListener(mKanaQuizListener);
       
        ImageButton button2 = (ImageButton)findViewById(R.id.imageButtonPinyin);
        button2.setOnClickListener(mRomajiQuizListener);
       
        String[] items = getResources().getStringArray(R.array.quiz_characters_options);
       
        Spinner spinner = (Spinner)findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_item);
       
        for (int i = 0; i < items.length; i++)
        {
                int count = Constants.QUIZ_LIMITS[i * 2 + 1] - Constants.QUIZ_LIMITS[i * 2] + 1;
                adapter.add(items[i] + " [" + count + "]");
        }

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
    }
   
    @Override
    public void onDestroy()
    {
        mAdView.destroy();
        super.onDestroy();
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.appmenu, menu);
        return true;
    }
   
    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        // Handle item selection
        switch (item.getItemId())
        {
        case R.id.katakana_table:
                KanaTableActivity.show(this, Constants.QUIZ_KATAKANA);
            return true;
        case R.id.hiragana_table:
                KanaTableActivity.show(this, Constants.QUIZ_HIRAGANA);
                return true;
        case R.id.about:
                AboutActivity.show(this);
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }

}