我有一个问题使我发疯。 我知道如何在Android中使用“ SharedPreferences”,但我不知道将其放在我的项目中的位置,例如onCreate(),onDestroy()或其他地方。 *我想将NoteLab.mNotes保存在NoteListFragment
* Note.java
$stmt20 = $conexao->prepare("
INSERT INTO esc_usuarios_pgtoparcelas (parcela_codigo_plano, parcela_mes, parcela_valorBonificacao, parcela_situacao)
VALUES
(LAST_INSERT_ID(), ?, ?, ?)
");
$stmt20->bind_param('sdssds', $m, $zero, $parcela_situacao_prog);
for ($x = 0; $x <= 1000; $x++) {
$m = $array_of_m[$x];
$stmt20->execute();
}
* NoteLab.java
package notes.com.example.alireza;
public class Note {
public UUID nId;
public Date nDate;
public String nTitle;
public String nDetails;
public Note(){
nId = UUID.randomUUID();
nDate = new Date();
}
public Date getnDate(){
return nDate;
}
public UUID getnUUID(){
return nId;
}
public String getnTitle() {
return nTitle;
}
public void setnTitle(String nTitle) {
this.nTitle = nTitle;
}
public String getnDetails() {
return nDetails;
}
public void setnDetails(String nDetails) {
this.nDetails = nDetails;
}
}
* NoteListFragment.java
package notes.com.example.alireza;
import android.content.Context;
import java.util.ArrayList;
import java.util.UUID;
class NoteLab {
public static ArrayList<Note> mNotes;
public static NoteLab noteLab;
public Context mAppContext;
private NoteLab(Context AppContext){
mAppContext = AppContext;
mNotes = new ArrayList<Note>();
}
public static NoteLab get(Context context){
if (noteLab == null){
noteLab = new NoteLab(context.getApplicationContext());
}
return noteLab;
}
public static ArrayList<Note> getNotes(){
return mNotes;
}
public static Note getNote(UUID mId){
for (Note n: mNotes){
if (mId == n.getnUUID()){
return n;
}
}
return null;
}
}
从代码中可以理解,我想保存放置在NoteLab.java中的mNotes arrayList。也有NoteListActivtiy.java也支持NoteListFragment,但我认为可以在NoteListFragment中完成。
感谢stackoverflow和所有尝试帮助我的人。
答案 0 :(得分:1)
您可以使用 Gson 库将所需内容转换为String,然后可以再次将其取回。
您应将代码放在哪里?这取决于您的业务(或要求)。
如果要将项目数组传递给片段或其他活动,可以使用Gson lib将其转换为字符串,然后将其放入包中,然后将此包传递给您想要的任何内容。然后,在片段或活动中,您也可以通过Gson获得此数组。
这里是一个例子:
Gson gson = new Gson();
gson.toSring(yourData);
// then you can get the data by
Gson gson = new Gson();
String data = yourBundle.getString("your_key");
yourDataModel = gson.fromJson(data, YourDataModel.class);
// it will work even with ArrayList