![](/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.