第二阶段冲刺(DAY1)
第二阶段,根据老师上课的评价,主要修改主界面空荡荡的问题,我们决定在每条记录加上一个用户名和头像,评论区功能,积分榜功能
今天先加上用户名和头像等方面的设置这段代码定义了一个DiaryItem类来存储单个日记项的数据,包括用户名、更新日期、天气、地点、标签、正文内容、图片链接列表、视频链接列表、评论列表以及引用的日记内容。同时,提供了一个DiaryItemDataPreparer类作为示例,展示如何从JSON数据中解析并填充DiaryItem对象。在实际应用中,您需要确保前端请求这些数据时,后端能够提供相应的API接口,并按照上述模型返回数据。
Java
public class DiaryItem {
private String username; // 用户名
private String modifyDate; // 更新日期时间
private String weather; // 天气
private String location; // 地点
private String label; // 标签
private String content; // 正文内容
private List<String> picUrls; // 图片链接列表
private List<String> videoUrls; // 视频链接列表
private List<Comment> comments; // 评论列表
private String quoteDiaryContent; // 引用的日记内容
// Getter and Setter methods for all fields
public static class Comment {
private String author; // 评论者用户名
private String content; // 评论内容
private String timestamp; // 评论时间戳
// Getter and Setter methods
}
}
// 示例:如何使用这个模型来准备数据
public class DiaryItemDataPreparer {
public DiaryItem prepareDiaryItemFromJson(JSONObject json) {
DiaryItem diaryItem = new DiaryItem();
try {
diaryItem.setUsername(json.getString("username"));
diaryItem.setModifyDate(json.getString("modifyDate"));
diaryItem.setWeather(json.getString("weather"));
diaryItem.setLocation(json.getString("location"));
diaryItem.setLabel(json.getString("label"));
diaryItem.setContent(json.getString("content"));
JSONArray picArray = json.getJSONArray("pics");
List<String> picUrls = new ArrayList<>();
for (int i = 0; i < picArray.length(); i++) {
picUrls.add(picArray.getString(i));
}
diaryItem.setPicUrls(picUrls);
JSONArray videoArray = json.getJSONArray("videos");
List<String> videoUrls = new ArrayList<>();
for (int i = 0; i < videoArray.length(); i++) {
videoUrls.add(videoArray.getString(i));
}
diaryItem.setVideoUrls(videoUrls);
JSONArray commentsArray = json.getJSONArray("comments");
List<Comment> comments = new ArrayList<>();
for (int i = 0; i < commentsArray.length(); i++) {
JSONObject commentJson = commentsArray.getJSONObject(i);
Comment comment = new Comment();
comment.setAuthor(commentJson.getString("author"));
comment.setContent(commentJson.getString("content"));
comment.setTimestamp(commentJson.getString("timestamp"));
comments.add(comment);
}
diaryItem.setComments(comments);
diaryItem.setQuoteDiaryContent(json.optString("quoteDiaryContent", "")); // 可选字段
} catch (JSONException e) {
e.printStackTrace();
}
return diaryItem;
}
}

浙公网安备 33010602011771号