mirror of
				https://github.com/pierre42100/ComunicAndroid
				synced 2025-11-04 11:34:06 +00:00 
			
		
		
		
	Can retrieve user informations on the server
This commit is contained in:
		@@ -44,15 +44,16 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
        //DEVELOPMENT : Try to get information about a user over the network
 | 
			
		||||
        GetUsersInfos uInfos = new GetUsersInfos(this, null);
 | 
			
		||||
        
 | 
			
		||||
        //Get infos... about me!
 | 
			
		||||
        int uID = 1;
 | 
			
		||||
        //Get infos... about me! :)
 | 
			
		||||
        final int uID = 1;
 | 
			
		||||
        uInfos.get(uID, new GetUsersInfos.getUserInfosCallback() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void callback(UserInfo info) {
 | 
			
		||||
                if(info == null)
 | 
			
		||||
                    Toast.makeText(MainActivity.this, "Failure !", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                else
 | 
			
		||||
                    Toast.makeText(MainActivity.this, "Success !", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                else {
 | 
			
		||||
                    Toast.makeText(MainActivity.this, uID + " is " + info.getFullName() + "!", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }); 
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -148,6 +148,8 @@ public abstract class APIRequestTask extends AsyncTask<APIRequestParameters, Voi
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Add the login tokens to an API request object
 | 
			
		||||
     *
 | 
			
		||||
     * @param params The parameters of the request to update
 | 
			
		||||
     */
 | 
			
		||||
    private void addLoginTokens(APIRequestParameters params){
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,8 @@ import org.communiquons.android.comunic.client.api.APIRequestParameters;
 | 
			
		||||
import org.communiquons.android.comunic.client.api.APIRequestTask;
 | 
			
		||||
import org.communiquons.android.comunic.client.api.APIResponse;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.DatabaseHelper;
 | 
			
		||||
import org.json.JSONException;
 | 
			
		||||
import org.json.JSONObject;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This class handles informations requests about user informations
 | 
			
		||||
@@ -61,10 +63,9 @@ public class GetUsersInfos {
 | 
			
		||||
     *
 | 
			
		||||
     * @param id The ID of the user to get informations from
 | 
			
		||||
     */
 | 
			
		||||
    public void get(int id, getUserInfosCallback callback){
 | 
			
		||||
    public void get(final int id, final getUserInfosCallback callback){
 | 
			
		||||
 | 
			
		||||
        //Perform a request on the API server
 | 
			
		||||
 | 
			
		||||
        //Setup the request
 | 
			
		||||
        APIRequestParameters requestParameters = new APIRequestParameters(context, "user/getInfos");
 | 
			
		||||
        requestParameters.addParameter("userID", ""+id);
 | 
			
		||||
@@ -75,7 +76,25 @@ public class GetUsersInfos {
 | 
			
		||||
            @Override
 | 
			
		||||
            protected void onPostExecute(APIResponse result) {
 | 
			
		||||
 | 
			
		||||
                UserInfo userInfos = null;
 | 
			
		||||
 | 
			
		||||
                try {
 | 
			
		||||
 | 
			
		||||
                    //Try to extract user informations
 | 
			
		||||
                    JSONObject userObject = result.getJSONObject().getJSONObject(""+id);
 | 
			
		||||
 | 
			
		||||
                    //Continue only if we could extract required informations
 | 
			
		||||
                    if (userObject != null) {
 | 
			
		||||
                        //Parse user informations
 | 
			
		||||
                        userInfos = parse_user_json(userObject);
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                } catch (JSONException e){
 | 
			
		||||
                    e.printStackTrace();
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //Go to the next function
 | 
			
		||||
                callback.callback(userInfos);
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@@ -83,4 +102,37 @@ public class GetUsersInfos {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Parse a JSON object into a user object
 | 
			
		||||
     *
 | 
			
		||||
     * @param userObject Informations about the user in an object
 | 
			
		||||
     * @return User object in case of success, null else
 | 
			
		||||
     */
 | 
			
		||||
    private UserInfo parse_user_json(JSONObject userObject){
 | 
			
		||||
 | 
			
		||||
        //Check if the JSON object passed is null or not
 | 
			
		||||
        if(userObject == null)
 | 
			
		||||
            return null; //Failure
 | 
			
		||||
 | 
			
		||||
        UserInfo userInfos = new UserInfo();
 | 
			
		||||
 | 
			
		||||
        //Try to retrieve user informations
 | 
			
		||||
        try {
 | 
			
		||||
 | 
			
		||||
            //Retrieve all user informations
 | 
			
		||||
            userInfos.setId(userObject.getInt("userID"));
 | 
			
		||||
            userInfos.setFirstName(userObject.getString("firstName"));
 | 
			
		||||
            userInfos.setLastName(userObject.getString("lastName"));
 | 
			
		||||
            userInfos.setAccountImageURL(userObject.getString("accountImage"));
 | 
			
		||||
 | 
			
		||||
        } catch (JSONException e){
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Return result
 | 
			
		||||
        return userInfos;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user