вторник, 27 марта 2012 г.

Magic 8 ball для Android

Решил я тут опять потренироваться в разработке под Android - проверить, не всё ли уже забыл. Вспомнил, как мой товарищ Алексей, ещё живя в общежитии, написал Magic 8 ball из фильма "Траса 60". На C++, под консоль, но оно работало и даже отображало кириллицу. Решил написать нечто подобное для Android, код ниже.
package ru.qover.testing;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import java.util.Random;
import android.widget.TextView;

public class TestingActivity extends Activity {
    Random rand;
    Button btn;
    TextView text;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button)findViewById(R.id.button1);
        btn.setOnClickListener(getString);
        text = (TextView)findViewById(R.id.textView1);
        rand = new Random();
    }
    
    private OnClickListener getString = new OnClickListener()
    {
        public void onClick(View v)
        {
            Integer num = rand.nextInt(20) + 1;
            switch(num)
            {
            case 1:
                text.setText(R.string.s1);
                break;
            case 2:
                text.setText(R.string.s2);
                break;
            case 3:
                text.setText(R.string.s3);
                break;
            case 4:
                text.setText(R.string.s4);
                break;
            case 5:
                text.setText(R.string.s5);
                break;
            case 6:
                text.setText(R.string.s6);
                break;
            case 7:
                text.setText(R.string.s7);
                break;
            case 8:
                text.setText(R.string.s8);
                break;
            case 9:
                text.setText(R.string.s9);
                break;
            case 10:
                text.setText(R.string.s10);
                break;
            case 11:
                text.setText(R.string.s11);
                break;
            case 12:
                text.setText(R.string.s12);
                break;
            case 13:
                text.setText(R.string.s13);
                break;
            case 14:
                text.setText(R.string.s14);
                break;
            case 15:
                text.setText(R.string.s15);
                break;
            case 16:
                text.setText(R.string.s16);
                break;
            case 17:
                text.setText(R.string.s17);
                break;
            case 18:
                text.setText(R.string.s18);
                break;
            case 19:
                text.setText(R.string.s19);
                break;
            case 20:
                text.setText(R.string.s20);
                break;
            };
        }
    };
}
Строки засунуты в strings.xml, потому как это оптимальнее. Сами файлы strings.xml и раскладку (layout) main.xml выкладывать не стану, если кому сильно надо - пишите в личку, вышлю. Тем более, что каждый разработчик должен сам решать, как должны быть расположены компоненты интерфейса.

Комментариев нет:

Отправить комментарий