public
String FarmNote {
public
String getId() {...}
public
String getContent() {...}
}
public
interface
FarmDeviceDao {
void
saveNotes(List<FarmNote> notes);
}
public
class
FarmDeviceDaoImpl
implements
FarmDeviceDao {
private
final
SharedPreferences sharedPreferences;
public
void
FarmDeviceDaoImpl(SharedPreferences sharedPreferences;) {
this
.sharedPreferences = sharedPreferences;
}
private
SharedPreferences.Edit edit() {
return
sharedPreferences.edit();
}
@Override
public
saveNotes(List<FarmNote> notes {
final
SharedPreferences.Edit edit = edit();
for
(FarmNote note : notes) {
edit.putString(note.getId(), note.getContent())
}
edit.apply();
}
}
public
class
SaveFarrmNotesUseCase {
private
final
FarmDeviceDao dao:
public
SaveFarrmNotesUseCase(FarmDeviceDao dao:) {
this
.dao = dao;
}
public
void
saveNotes(List<FarmNote> notes) {
new
Thread(
new
Runnable() {
@Override
void
run() {
dao.saveNotes(notes);
}
}).execute();
}
}
private
SaveFarrmNotesUseCase saveFarmNotesUseCase;
SharedPreferences sf =
this
.getActivity().getSharedPreferences(
"sFile"
,MODE_PRIVATE)
saveFarmNotesUseCase =
new
SaveFarrmNotesUseCase(
new
FarmDeviceDaoImpl(sf));
@Override
public
void
onStop() {
saveFarmNotes();
super
.onStop();
}
private
void
saveFarmNotes() {
saveFarmNoteUseCase.saveNotes(getFarmNotes());
}
private
void
getFarmNotes(): List<FarmNote> {
List<FarmNote> notes =
new
ArrayList<>();
for
(
int
i =
0
; i < Editsensor_Name.length; i++) {
notes.add(
new
FarmNote(
"Note"
+ i, Editsensor_Name[i].getText().toString()));
}
return
notes;
}