Я создал приложение для Android, в котором хранятся имя пользователя, телефон, код доступа, широта и долгота на parse.com. Все эти значения хранятся на parse.com успешно, когда я нажимаю на отправить button.here это кодКак загрузить изображение галереи на parse.com в android?
LoginSigupActivity.java
public void onClick(View arg0) {
\t \t \t \t usernametxt = username.getText().toString();
\t \t \t \t passcodetxt = passcode.getText().toString();
\t \t \t \t phonetxt = phone.getText().toString();
\t \t \t \t if (usernametxt.equals("") && passcodetxt.equals("")) {
\t \t \t \t \t Toast.makeText(getApplicationContext(),
\t \t \t \t \t \t \t "Please complete the sign up form",
\t \t \t \t \t \t \t Toast.LENGTH_LONG).show();
\t \t \t \t } else {
\t \t \t \t \t // Save new user data into Parse.com Data Storage
\t \t \t \t \t ParseUser user = new ParseUser();
\t \t \t \t \t user.setUsername(usernametxt);
\t \t \t \t \t user.setPassword(passcodetxt);
\t \t \t \t \t user.put("phone", phone.getText().toString());
\t \t \t \t \t user.put("passcode", passcode.getText().toString());
\t \t \t \t \t //user.put("profile_pic", "my profile pic");
\t \t \t \t \t // code to send the current latlong using parse.com
\t \t \t \t \t user.put("latitude", gpsTracker.getLatitude() + "");
\t \t \t \t \t user.put("longitude", gpsTracker.getLongitude() + "");
\t \t \t \t \t
\t \t \t \t \t
\t \t \t \t \t user.signUpInBackground(new SignUpCallback() {
\t \t \t \t \t \t public void done(ParseException e) {
\t \t \t \t \t \t \t if (e == null) {
\t \t \t \t \t \t \t \t Intent intent = new Intent(
\t \t \t \t \t \t \t \t \t \t LoginSignupActivity.this, Welcome.class);
\t \t \t \t \t \t \t \t startActivity(intent);
\t \t \t \t \t \t \t \t Toast.makeText(getApplicationContext(),
\t \t \t \t \t \t \t \t \t \t "Successfully Signed up !!!",
\t \t \t \t \t \t \t \t \t \t Toast.LENGTH_LONG).show();
\t \t \t \t \t \t \t } else {
\t \t \t \t \t \t \t \t Toast.makeText(getApplicationContext(),
\t \t \t \t \t \t \t \t \t \t "Sign up Error", Toast.LENGTH_LONG)
\t \t \t \t \t \t \t \t \t \t .show();
\t \t \t \t \t \t \t }
\t \t \t \t \t \t }
\t \t \t \t \t });
\t \t \t \t }
\t \t \t }
\t \t });
\t }
}
Теперь, когда вторая деятельность открыта здесь я использовал изображение просматривать, вводить кнопку изображения и загружать кнопку изображения. Если щелкнуть изображение изображения с изображением изображения, то получится правильно в представлении изображения, но когда я попытаюсь загрузить его, его не загрузите.
Вот код:
Welcome.java
selectImageButton = (Button) findViewById(R.id.selectImageButton);
\t \t // initlize gps tracker
\t \t gpsTracker = new GPSTracker(this);
\t \t String picturePath = PreferenceManager
\t \t \t \t .getDefaultSharedPreferences(this).getString("picturePath", "");
\t \t if (!picturePath.equals("")) {
\t \t \t ImageView imageView = (ImageView) findViewById(R.id.uploadImage);
\t \t \t imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
\t \t }
\t \t selectImageButton = (Button) findViewById(R.id.selectImageButton);
\t \t selectImageButton.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View arg0) {
\t \t \t \t Intent i = new Intent(
\t \t \t \t \t \t Intent.ACTION_PICK,
\t \t \t \t \t \t android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
\t \t \t \t startActivityForResult(i, RESULT_LOAD_IMAGE);
\t \t \t }
\t \t });
\t \t
\t
\t uploadButton = (Button) findViewById(R.id.uploadButton);
\t \t uploadButton.setOnClickListener(new View.OnClickListener() {
\t \t \t @SuppressWarnings("null")
\t \t \t @Override
\t \t \t public void onClick(View arg0) {
\t \t \t \t
\t \t \t \t ParseUser user = new ParseUser();
\t \t \t \t Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
\t \t \t \t // Convert it to byte
\t \t \t \t ByteArrayOutputStream stream = new ByteArrayOutputStream();
\t \t \t \t // Compress image to lower quality scale 1 - 100
\t \t \t \t bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
\t \t \t \t byte[] image = stream.toByteArray();
\t \t \t \t // Create the ParseFile
\t \t \t \t ParseFile file = new ParseFile("androidbegin.png", image);
\t \t \t \t // Upload the image into Parse Cloud
\t \t \t \t file.saveInBackground();
\t \t
\t \t \t \t });*/
\t \t \t \t user.signUpInBackground(new SignUpCallback() {
\t \t \t \t \t public void done(ParseException e) {
\t \t \t \t \t \t if (e == null) {
\t \t \t \t \t \t \t Toast.makeText(getApplicationContext(),
\t \t \t \t \t \t \t \t \t "Successfully Signed up !!!",
\t \t \t \t \t \t \t \t \t Toast.LENGTH_LONG).show();
\t \t \t \t \t \t } else {
\t \t \t \t \t \t \t Toast.makeText(getApplicationContext(),
\t \t \t \t \t \t \t \t \t "Sign up Error", Toast.LENGTH_LONG).show();
\t \t \t \t \t \t }
\t \t \t \t \t }
\t \t \t \t });
\t \t \t }
\t \t });
\t \t // Retrieve current user from Parse.com
\t \t ParseUser currentUser = ParseUser.getCurrentUser();
// Convert currentUser into String
\t \t String struser = currentUser.getUsername().toString();
// Locate Button in welcome.xml
\t \t logout = (Button) findViewById(R.id.logout);
// Logout Button Click Listener
\t \t logout.setOnClickListener(new OnClickListener() {
\t \t \t public void onClick(View arg0) {
\t \t \t \t Intent intent = new Intent(Welcome.this,
\t \t \t \t \t \t LoginSignupActivity.class);
\t \t \t \t startActivity(intent);
\t \t \t }
\t \t });
\t }
\t @Override
\t protected void onActivityResult(int requestCode, int resultCode, Intent data) {
\t super.onActivityResult(requestCode, resultCode, data);
\t \t if (resultCode == RESULT_OK) {
\t \t \t Uri selectedImageUri = data.getData();
\t \t \t // GET IMAGE PATH
\t \t \t imagePath = getPath(selectedImageUri);
\t \t \t // IMAGE NAME
\t \t \t imageName = imagePath.substring(imagePath.lastIndexOf("/"));
\t \t \t // Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
\t \t \t //
\t \t \t // // DISPLAY IMAGE
\t \t \t // imageView.setImageBitmap(bitmap);
\t \t \t // imageLocationTextView.setText("File path :" + imagePath);
\t \t }
\t }
\t private String getPath(Uri uri) {
\t \t String[] projection = { MediaStore.Images.Media.DATA };
\t \t Cursor cursor = managedQuery(uri, projection, null, null, null);
\t \t int column_index = cursor
\t \t \t \t .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
\t \t cursor.moveToFirst();
\t \t return cursor.getString(column_index);
\t }
}
Теперь я хочу знать, как загрузить выбранное изображение из галереи на parse.com.as мой другой параметр сохраняется при разборе. Я также смущен, потому что я загружаю имя пользователя, код передачи, lat, long и телефон из своего первого действия. но я получаю изображение из галереи во второй активности.
Теперь я хочу знать, как загрузить выбранное изображение в том же классе на parse.com (где сохраняется первый параметр активности). Пользователь - это имя моего класса на parse.com.
Пожалуйста, помогите мне. Любая помощь будет оценена по достоинству.
Где вы хранить файл в parse.com? –
Я сохранил файл под столбцом profile_pic в классе User. –
Где в вашем коде, сообщая parse.com для хранения объекта parsefile в profile_pic? –