YModule r = YModule.FirstModule();
while
String
aa.add(hwid);
r = r.nextModule();
}
} catch
(YAPI_Exception
e.printStackTrace();
}
// refresh Spinner with detected relay
aa.notifyDataSetChanged();
}
@Override
protected void onStop()
{
super.onStop();
YAPI.FreeAPI();
}
private void DisplayModuleInfo()
{
TextView field;
if
(module ==
return;
try {
YAPI.UpdateDeviceList();// fixme
field =
field.setText(module.getLogicalName());
} catch
(YAPI_Exception
e.printStackTrace();
}
}
@Override
public void
onItemSelected(AdapterView<?> parent,
{
String
hwid = parent.getItemAtPosition(pos).toString();
module = YModule.FindModule(hwid);
DisplayModuleInfo();
}
@Override
public void
onNothingSelected(AdapterView<?>
{
}
public void
saveName(View
{
if
(module ==
return;
EditText edit =
String
newname = edit.getText().toString();
try {
if (!YAPI.CheckLogicalName(newname)) {
Toast.makeText(getApplicationContext(),
Toast.LENGTH_LONG).show();
return;
}
module.set_logicalName(newname);
module.saveToFlash();
edit.setText("");
} catch
(YAPI_Exception
ex.printStackTrace();
}
DisplayModuleInfo();
}
}
Attention, le nombre de cycles d'écriture de la mémoire non volatile du module est limité. Passé cette
limite plus rien ne garantit que la sauvegarde des réglages se passera correctement. Cette limite,
liée à la technologie employée par le micro-processeur du module se situe aux alentour de 100000
cycles. Pour résumer vous ne pouvez employer la fonction
www.yoctopuce.com
(r !=
null) {
hwid = r.get_hardwareId();
e) {
null)
(TextView)
findViewById(R.id.logicalnamefield);
e) {
view)
null)
(EditText)
findViewById(R.id.newname);
// do not forget this
ex) {
16. Utilisation du Yocto-Demo avec Android
View
view,
int
pos,
arg0)
"Invalid name ("
YModule.saveToFlash()
long
id)
+ newname + ")",
que
97