android设置为存储设备,Android studio Firebase如何设置用户从设备存储中作为用户选择的图片。PhotoURL...

我已经实施了,而我正在尝试firebase。希望这会做你的工作。

getImageFromMobile设置为我用来设置图像的onClick方法ImageButton。

public void getImageFromMobile(View view) {

if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){

ActivityCompat.requestPermissions(this,new String[]{

android.Manifest.permission.READ_EXTERNAL_STORAGE}, 1);

}

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType("image/");

startActivityForResult(intent , galleryRequestCode);

}

private void postDataToFirebase() {

mProgressDialog.setMessage("Posting the Blog to Firebase");

mProgressDialog.setCancelable(false);

final String titleValue = mPostTitle.getText().toString();

final String description = mPostDescription.getText().toString();

if((!TextUtils.isEmpty(titleValue))&& (!TextUtils.isEmpty(description)) && bitmap != null)

{

mProgressDialog.show();

StorageReference filePath = mStorage.child("Blog_Images").child(imagePathName);

ByteArrayOutputStream bytes = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bytes);

String path = MediaStore.Images.Media.insertImage(PostActivity.this.getContentResolver(), bitmap, imagePathName, null);

Uri uri = Uri.parse(path);

filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener() {

@Override

public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

Uri downloadUrl = taskSnapshot.getDownloadUrl();

DatabaseReference newPost = mDatabaseReference.push();

newPost.child("Title").setValue(titleValue);

newPost.child("Desc").setValue(description);

newPost.child("imageUrl").setValue(downloadUrl.toString());

Toast.makeText(PostActivity.this, "Data Posted Successfully to Firebase server", Toast.LENGTH_LONG).show();

mProgressDialog.dismiss();

Intent intent = new Intent(PostActivity.this, MainActivity.class);

startActivity(intent);

}

});

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if(requestCode == galleryRequestCode && resultCode == RESULT_OK){

Uri imageUri = data.getData();

imagePathName = imageUri.getLastPathSegment();

Log.i("ImagePathName",imagePathName);

Toast.makeText(this, "ImagePathNameto be Checked" + imagePathName, Toast.LENGTH_SHORT).show();

try {

bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);

imageButton.setImageBitmap(bitmap);

} catch (IOException e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值