Java 使用按钮和意图计算反应时间
我目前正在进行一项研究,你可以测量参与者的反应时间。 该应用程序有用户点击按钮,产卵时,你按下启动按钮在中间。 点击了“产卵”按钮后,它就消失了,中间的按钮重新浮出水面。我想计算一下按下随机生成按钮所需的时间,以及按下所有14个随机按钮所需的时间。之后,将显示一个新的活动及其结果。 代码不是最好的,因为我很快编写了代码,而且代码质量对于研究来说并不是很必要 代码如下: 更新:尝试在开始时使用声明的变量和此代码测量时间,但它一直崩溃Java 使用按钮和意图计算反应时间,java,android,Java,Android,我目前正在进行一项研究,你可以测量参与者的反应时间。 该应用程序有用户点击按钮,产卵时,你按下启动按钮在中间。 点击了“产卵”按钮后,它就消失了,中间的按钮重新浮出水面。我想计算一下按下随机生成按钮所需的时间,以及按下所有14个随机按钮所需的时间。之后,将显示一个新的活动及其结果。 代码不是最好的,因为我很快编写了代码,而且代码质量对于研究来说并不是很必要 代码如下: 更新:尝试在开始时使用声明的变量和此代码测量时间,但它一直崩溃 mbuttonStart.setOnClickListener(
mbuttonStart.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
showRandomButton();
event1 = System.currentTimeMillis();
}
} );
mbutton1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton1.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
event2 = System.currentTimeMillis();
time1 = event1 - event2;
}
} );
mbutton2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton2.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
event2 = System.currentTimeMillis();
time2 = event1 - event2;
}
} );
package com.example.testapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
private Button mbutton1;
private Button mbutton2;
private Button mbutton3;
private Button mbutton4;
private Button mbutton5;
private Button mbutton6;
private Button mbutton7;
private Button mbutton8;
private Button mbutton9;
private Button mbutton10;
private Button mbutton11;
private Button mbutton12;
private Button mbutton13;
private Button mbutton14;
private Button mbuttonStart;
private int random;
ArrayList<Integer> list = new ArrayList<>();
private int test = 0;
private int s=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
mbutton1 = (Button) findViewById( R.id.button1 );
mbutton2 = (Button) findViewById( R.id.button2 );
mbutton3 = (Button) findViewById( R.id.button3 );
mbutton4 = (Button) findViewById( R.id.button4 );
mbutton5 = (Button) findViewById( R.id.button5 );
mbutton6 = (Button) findViewById( R.id.button6 );
mbutton7 = (Button) findViewById( R.id.button7 );
mbutton8 = (Button) findViewById( R.id.button8 );
mbutton9 = (Button) findViewById( R.id.button9 );
mbutton10 = (Button) findViewById( R.id.button10 );
mbutton11 = (Button) findViewById( R.id.button11 );
mbutton12 = (Button) findViewById( R.id.button12 );
mbutton13 = (Button) findViewById( R.id.button13 );
mbutton14 = (Button) findViewById( R.id.button14 );
mbuttonStart = (Button) findViewById( R.id.button15 );
for (int i = 1; i <= 14; i++) {
list.add(i);
}
Collections.shuffle(list);
mbuttonStart.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
showRandomButton();
}
} );
mbutton1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton1.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton2.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton3.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton3.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton4.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton4.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton5
.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton5.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton6
.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton6.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton7.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton7.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton8.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton8.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton9.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton9.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton10.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton10.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton11.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton11.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton12.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton12.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton13.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton13.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton14.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton14.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
}
public void showRandomButton() {
//Generate Random Numbers
if (test==14){
Intent intent = new Intent( MainActivity.this,Main2Activity.class );
startActivity( intent );
}
random = list.get( s );
s++;
switch (random) {
case 1:
mbutton1.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
case 2:
mbutton2.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 3:
mbutton3.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 4:
mbutton4.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 5:
mbutton5.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 6:
mbutton6.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 7:
mbutton7.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 8:
mbutton8.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 9:
mbutton9.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 10:
mbutton10.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 11:
mbutton11.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 12:
mbutton12.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 13:
mbutton13.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 14:
mbutton14.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
}
}
}
我试过了,但应用程序一直崩溃
mbuttonStart.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
showRandomButton();
event1 = System.currentTimeMillis();
}
} );
mbutton1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton1.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
event2 = System.currentTimeMillis();
time1 = event1 - event2;
}
} );
mbutton2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton2.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
event2 = System.currentTimeMillis();
time2 = event1 - event2;
}
} );
package com.example.testapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
private Button mbutton1;
private Button mbutton2;
private Button mbutton3;
private Button mbutton4;
private Button mbutton5;
private Button mbutton6;
private Button mbutton7;
private Button mbutton8;
private Button mbutton9;
private Button mbutton10;
private Button mbutton11;
private Button mbutton12;
private Button mbutton13;
private Button mbutton14;
private Button mbuttonStart;
private int random;
ArrayList<Integer> list = new ArrayList<>();
private int test = 0;
private int s=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
mbutton1 = (Button) findViewById( R.id.button1 );
mbutton2 = (Button) findViewById( R.id.button2 );
mbutton3 = (Button) findViewById( R.id.button3 );
mbutton4 = (Button) findViewById( R.id.button4 );
mbutton5 = (Button) findViewById( R.id.button5 );
mbutton6 = (Button) findViewById( R.id.button6 );
mbutton7 = (Button) findViewById( R.id.button7 );
mbutton8 = (Button) findViewById( R.id.button8 );
mbutton9 = (Button) findViewById( R.id.button9 );
mbutton10 = (Button) findViewById( R.id.button10 );
mbutton11 = (Button) findViewById( R.id.button11 );
mbutton12 = (Button) findViewById( R.id.button12 );
mbutton13 = (Button) findViewById( R.id.button13 );
mbutton14 = (Button) findViewById( R.id.button14 );
mbuttonStart = (Button) findViewById( R.id.button15 );
for (int i = 1; i <= 14; i++) {
list.add(i);
}
Collections.shuffle(list);
mbuttonStart.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
showRandomButton();
}
} );
mbutton1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton1.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton2.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton3.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton3.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton4.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton4.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton5
.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton5.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton6
.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton6.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton7.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton7.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton8.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton8.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton9.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton9.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton10.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton10.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton11.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton11.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton12.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton12.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton13.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton13.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
mbutton14.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
mbutton14.setVisibility( View.GONE );
mbuttonStart.setVisibility( View.VISIBLE );
test++;
}
} );
}
public void showRandomButton() {
//Generate Random Numbers
if (test==14){
Intent intent = new Intent( MainActivity.this,Main2Activity.class );
startActivity( intent );
}
random = list.get( s );
s++;
switch (random) {
case 1:
mbutton1.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
case 2:
mbutton2.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 3:
mbutton3.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 4:
mbutton4.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 5:
mbutton5.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 6:
mbutton6.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 7:
mbutton7.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 8:
mbutton8.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 9:
mbutton9.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 10:
mbutton10.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 11:
mbutton11.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
case 12:
mbutton12.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 3 break;
case 13:
mbutton13.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 1 break;
case 14:
mbutton14.setVisibility( View.VISIBLE );
mbuttonStart.setVisibility( View.GONE );
break;
//Function 2 break;
}
}
}
mbutnstart.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
showRandomButton();
event1=System.currentTimeMillis();
}
} );
mbutton1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
mbutton1.设置可见性(View.GONE);
mbuttonStart.setVisibility(View.VISIBLE);
测试++;
event2=System.currentTimeMillis();
时间1=事件1-事件2;
}
} );
mbutton2.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
mbutton2.设置可见性(View.GONE);
mbuttonStart.setVisibility(View.VISIBLE);
测试++;
event2=System.currentTimeMillis();
时间2=事件1-事件2;
}
} );
包com.example.testapp;
导入androidx.appcompat.app.appcompat活动;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.Collections;
导入java.util.Random;
公共类MainActivity扩展了AppCompatActivity{
专用按钮MBUTON1;
私人按钮2;
专用按钮mbutton3;
专用按钮mbutton4;
专用按钮mbutton5;
专用按钮mbutton6;
专用按钮mbutton7;
专用按钮mbutton8;
专用按钮mbutton9;
专用按钮mbutton10;
专用按钮mbutton11;
专用按钮mbutton12;
私人按钮13;
专用按钮14;
私人按钮mbutnstart;
私有整数随机;
ArrayList=新建ArrayList();
私有int检验=0;
私有整数s=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mbutton1=(按钮)findviewbyd(R.id.button1);
mbutton2=(按钮)findviewbyd(R.id.button2);
mbutton3=(按钮)findViewById(R.id.button3);
mbutton4=(按钮)findViewById(R.id.button4);
mbutton5=(按钮)findViewById(R.id.button5);
mbutton6=(按钮)findViewById(R.id.button6);
mbutton7=(按钮)findViewById(R.id.button7);
mbutton8=(按钮)findViewById(R.id.button8);
mbutton9=(按钮)findViewById(R.id.button9);
mbutton10=(按钮)findViewById(R.id.button10);
mbutton11=(按钮)findViewById(R.id.button11);
mbutton12=(按钮)findViewById(R.id.button12);
mbutton13=(按钮)findViewById(R.id.button13);
mbutton14=(按钮)findViewById(R.id.button14);
mbuttonStart=(按钮)findViewById(R.id.button15);
对于(inti=1;i),这就是我喜欢Kotlin的原因。measuretimeMillis{}
使用相同的按钮,每次单击后随机弹出,代码将更易于处理,对于时间计算,获取下一次单击的当前时间,并将其子结构为上一次单击的当前时间。我可以给按钮指定生成的固定位置吗?更新帖子,尝试测量时间,但应用程序不断崩溃惯性导航与制导