Я новичок в android. Я разработал приложение для Android, основанное на Sqlite Database. У меня все работает нормально, но проблема в том, как поделиться полученным изображением из базы данных Sqlite в социальных сетях, таких как Whatsapp, Email, Facebook и т. Д. и я не хочу делиться изображением с SDCard.
Вот мой исходный код
MainActivity.java
public class MainActivity extends AppCompatActivity {
String IDholder;
Button Share;
DatabaseHelper dbLoginHelper;
SQLiteDatabase sqLiteDatabase;
ImageView imageView;
Bitmap bmp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_reports);
Share=(Button)findViewById(R.id.report_share);
imageView=(ImageView)findViewById(R.id.report_image3);
dbLoginHelper=new DatabaseHelper(this);
IDholder = getIntent().getStringExtra("EditID");
Share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shareImage();
}
});
}
private void shareImage() {
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, bmp);
startActivity(Intent.createChooser(share, "Share Image!"));
}
@Override
protected void onResume() {
showImage();
super.onResume();
}
private void showImage() {
sqLiteDatabase = dbLoginHelper.getWritableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT * FROM " + DatabaseHelper.Patient_Reports + " WHERE _rid = " + IDholder + "", null);
if (cursor.moveToFirst()) {
do {
byte[] img = cursor.getBlob(cursor.getColumnIndex("Image"));
bmp = BitmapFactory.decodeByteArray(img, 0, img.length);
imageView.setImageBitmap(Bitmap.createScaledBitmap(bmp,
bmp.getWidth(),bmp.getHeight(), false));
}
while (cursor.moveToNext());
cursor.close();
}
}
}
Изображение успешно получено из базы данных Sqlite и после этого, как поделиться этим растровым изображением в социальных сетях. Выше я добавил shareImage (), но он не работает, пожалуйста, помогите мне.