baudRate, databits, stopbit,parity 등을 선택하는 코드를 구현하고 간단한 사항을 적어둔다.
SharedPreferences 에 저장된 값을 읽어서 세팅하는 화면에 표시하고, 저장된 값이 없으면 default 세팅값을 보여준다.
select한 값을 SharedPreferences에 저장하는 코드까지 필요한 기능은 모두 구현했다.
pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
String BaudRate = pref.getString("BaudRate", ""); // 저장된 값 읽어오기
baudSpinner = (Spinner) findViewById(R.id.baudRateValue);
ArrayAdapter<CharSequence> baudAdapter = ArrayAdapter.createFromResource(context, R.array.baud_rate,
R.layout.my_spinner_textview);
baudAdapter.setDropDownViewResource(R.layout.my_spinner_textview);
baudSpinner.setAdapter(baudAdapter);
if (BaudRate != null) { // 저장된 값이 있으면
int spinnerPosition = baudAdapter.getPosition(BaudRate);
baudSpinner.setSelection(spinnerPosition);
} else {
baudSpinner.setSelection(0); // 없으면 default 실행
}
baudSpinner.setOnItemSelectedListener(new MyBaudRateSelectedListener());
public class MyBaudRateSelectedListener implements AdapterView.OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
baudRate = parent.getItemAtPosition(position).toString(); // 선택한 값을 저장하기 위해
}
public void onNothingSelected(AdapterView<?> parent){
}
}
case R.id.btn_save: // 저장
pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("BaudRate", baudRate);
editor.commit();
Intent intent = new Intent(Setting.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
break;
참고 : https://www.ftdichip.com/Android.htm 사이트에서 Java D2XX Update including FT4222H support 에 연결된 파일을 다운로드하여 java 파일과 resource 파일을 참조하면 구현하는데 도움된다.
'안드로이드 > Android Serial 통신' 카테고리의 다른 글
android handler 를 이용한 지연처리 (0) | 2019.05.09 |
---|---|
Serial Communication Key (0) | 2019.05.09 |
usbDeviceConnection.controlTransfer (0) | 2019.04.27 |
Log 파일로 저장하는 코드 (0) | 2019.04.25 |
Android USB Serial Communication with OTG Cable (0) | 2019.03.03 |