![](/img/trans.png)
[英]Is there a way where the user input the data on the app (Android Studio) and it will be display via on Button from the database(Firebase)
[英]App takes binary Input from user and blinks flashlight transmitting the input when a button is pressed in Android Studio
所以我正在尝试创建一个应用程序,通过闪烁的闪光灯传输用户输入。 当我使用固定的 String myString = "1010101" 时,手电筒会闪烁,因此我的应用程序能够访问手电筒。 但是,当我从用户那里获取输入并将其保存在 String myString 中时,我按下按钮但没有任何反应。 现在我只想采用二进制输入。 请帮帮我。
EditText binData;
Button blinkMode;
boolean isFlashOn = false;
Camera camera;
String myString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
camera = camera.open();
binData = (EditText)findViewById(R.id.editText);
final Camera.Parameters params = camera.getParameters();
blinkMode = (Button)findViewById(R.id.button);
myString = binData.getText().toString();
blinkMode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
long blinkDelay = 50; //Delay in ms
for(int i=0; i<myString.length(); i++){
if(myString.charAt(i)=='1'){
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;
} else if(myString.charAt(i)=='0') {
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
isFlashOn = false;
}
try {
Thread.sleep(blinkDelay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
int length=myString.length();
if(length == myString.length() ) {
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
isFlashOn = false;
}
}
});
}
移动这条线
myString = binData.getText().toString();
在onClick()
方法中。 理想情况下,这应该可以解决您的问题。 您在单击按钮之前访问字符串。 我的猜测是到目前为止正在使用空字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.