Как совершать случайные вызовы функций с помощью Android? - PullRequest
0 голосов
/ 31 мая 2011

Я занимаюсь разработкой приложения Android LBS. Я хотел бы делать вызовы функций случайным образом через мое приложение.

У меня есть следующий код.

public class DialANumber extends Activity {
  EditText mEditText_number = null;
  LinearLayout mLinearLayout_no_button = null;
  Button mButton_dial = null;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mLinearLayout_no_button = new LinearLayout(this);

    mEditText_number = new EditText(this);
    mEditText_number.setText("5551222");
    mLinearLayout_no_button.addView(mEditText_number);

    mButton_dial = new Button(this);
    mButton_dial.setText("Dial!");
    mLinearLayout_no_button.addView(mButton_dial);
    mButton_dial.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        performDial();
      }
    });

    setContentView(mLinearLayout_no_button);
  }

  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_CALL) {
      performDial();
      return true;
    }
    return false;
  }

  public void performDial(){
    if(mEditText_number!=null){
      try {
        startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + mEditText_number.getText())));
      } catch (Exception e) {
        e.printStackTrace();
      }
    }//if
  }
}

Я бы хотел вызвать метод performDial() случайным образом.

1 Ответ

0 голосов
/ 31 мая 2011

Хотя я все еще не уверен, что полностью понимаю ваш вопрос, вы могли бы сделать что-то вроде этого:

  double rand = Math.random();
  if( rand < 0.2 )
      firstFunction();
  else if( rand < 0.4 )
      secondFunction();
  else if( rand < 0.6 )
      thirdFunction();
  else if( rand < 0.8 )
      fourthFunction();
  else
      fifthFunction();

(Math.random() генерирует случайный дубль, больший или равный 0,0 и меньший, чем 1,0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...