Java tutorial
/* * DeliciousDroid - http://code.google.com/p/DeliciousDroid/ * * Copyright (C) 2010 Matt Schmidt * * DeliciousDroid is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 3 of the License, * or (at your option) any later version. * * DeliciousDroid is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with DeliciousDroid; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ package com.deliciousdroid.client; import java.util.Date; import android.util.Log; import org.json.JSONObject; import com.deliciousdroid.util.DateParser; /** * Represents a sample SyncAdapter user */ public class User { private final String mUserName; public String getUserName() { return mUserName; } public User(String name) { mUserName = name; } /** * Creates and returns an instance of the user from the provided JSON data. * * @param user The JSONObject containing user data * @return user The new instance of Delicious user created from the JSON data. */ public static User valueOf(JSONObject user) { try { final String userName = user.getString("user"); return new User(userName); } catch (final Exception ex) { Log.i("User", "Error parsing JSON user object" + ex.toString()); } return null; } /** * Represents the User's status messages * */ public static class Status { private final String mUserName; private final String mStatus; private final Date mTimestamp; public String getUserName() { return mUserName; } public String getStatus() { return mStatus; } public Date getTimeStamp() { return mTimestamp; } public Status(String userName, String status, Date timestamp) { mUserName = userName; mStatus = status; mTimestamp = timestamp; } public static User.Status valueOf(JSONObject userStatus) { try { final String userName = userStatus.getString("a"); final String status = userStatus.getString("d"); final String date = userStatus.getString("dt"); Date timestamp = DateParser.parse(date); return new User.Status(userName, status, timestamp); } catch (final Exception ex) { Log.i("User.Status", "Error parsing JSON user object"); Log.d("User.Status", ex.toString()); } return null; } } }