- Forum-Beiträge: 37
09.09.2015, 13:23:39 via Website
09.09.2015 13:23:39 via Website
Ich habe eine Chatapp entwickelt wo jeder nutzer sein eigenes Profilbild haben sollte! Der Benutzer ist auch in der lage sich ein Profilbild in seiner Gallery im handy auszusuchen und nach Parse.com hochzuladen!
Jetzt kommt das Problem:
Bsp: User peter geht in die profile activity und lädt sein profilbild nach parse hoch und es wird auch angezeigt in der Image View! Also ich zieh das Bild vom Parse server zurück in die Image View.
User hans loggt sich ein geht auch in die profile activity um sein eigenes Profilbild auszusuchen und hochzuladen und es wird das profilbild von User peter angezeigt!
Wie kann das sein, da jeder User sein eigenes Profilbild haben sollte! Es darf nicht sein das, dass Profilbild von User Peter auch beim User hans in SEIN Profilbild geladen wird!
Was mache ich falsch?
Hier kommt mein code womit ich das bild nach Parse hochlade und danach beziehe (fetsche) vom parse server!
Bitte dringenst um Hilfe!!!
final ParseUser currentUser = ParseUser.getCurrentUser();
final String currentUserUsername = currentUser.getUsername();
// Create the Parse File
final ParseFile file = new ParseFile("Profile.png", image);
// Upload the image into Parse Cloud
file.saveInBackground();
// Create a New Class called "ImageUpload" in Parse
final ParseObject gameScore = new ParseObject("imageProfile");
// Create the ParseFile
// Create a column named "ImageName" and set the string
gameScore.put("Image", "Profile.png");
// Take the user name and put it to parse
gameScore.put("user", currentUserUsername);
// Create a column named "ImageFile" and insert the image
gameScore.put("ImageFile", file);
// Create the class and the columns
gameScore.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
String objectId = gameScore.getObjectId();
Log.e(TAG, objectId);
Toast.makeText(getBaseContext(), "Your Profile Image is Saved!", Toast.LENGTH_LONG).show();
final ParseUser currentUser = ParseUser.getCurrentUser();
final String currentUserUsername = currentUser.getUsername();
if (currentUser != null) {
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("imageProfile");
query.orderByDescending("createdAt");
query.whereEqualTo("user", currentUserUsername);
query.whereEqualTo("objectId", currentUserUsername);
Log.v(TAG, "user" + currentUserUsername);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> imgProfile, com.parse.ParseException e) {
if (e == null) {
mProfile = imgProfile;
final ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("imageProfile");
query.getFirstInBackground(new GetCallback<ParseObject>() {
@Override
public void done(final ParseObject imgProfile, com.parse.ParseException e) {
if (e == null) {
} else {
imgProfile.getObjectId();
ParseFile fileObject = imgProfile.getParseFile("ImageFile");
fileObject.getDataInBackground(new GetDataCallback() {
public void done(byte[] data, com.parse.ParseException e) {
if (e == null) {
// Decode the Byte[] into Bitmap
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0,
data.length);
// Get the ImageView from profile.xml
imgPhoto = (ParseImageView) findViewById(R.id.personal_imageView);
// Set the Bitmap into the ImageView
imgPhoto.setImageBitmap(bmp);
}
}
});
}
}
});
}
}
});
}
}
});
}
};
— geändert am 09.09.2015, 13:25:03
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.