我是 Android 开发的新手。我不知道 Android Studio 和 Java。但我正在 Google、YouTube 和 StackOverflow 的帮助下开发一个应用程序。现在我想将我的Recyclerview
图像中的共享选项(图像+文本)添加到 Whatsapp。
图像是使用lib从Firebase
存储中加载的。Picasso
我不知道如何转换Firebase ImageView
为bitmap
.
我在每个项目下方添加了一个共享按钮。如何在此分享按钮中创建分享选项?
这是我的主要活动:
public class ReviewMainActivity extends AppCompatActivity {
private static final String APP_ID = "ca-app-pub-8867939169855032~3069406037";
FirebaseDatabase database;
DatabaseReference MCR;
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
FirebaseRecyclerAdapter<ReviewModel, ReviewViewHolder> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_review_main);
Toolbar toolbar = findViewById(R.id.ReviewMain_Toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
toolbar.setLogo(R.mipmap.uploadpost);
toolbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent settingsIntent = new Intent(ReviewMainActivity.this, ReviewPostUploadActivity.class);
startActivity(settingsIntent);
}
});
if (getSupportActionBar()!=null){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
MobileAds.initialize(this,APP_ID);
AdView adView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
database = FirebaseDatabase.getInstance();
MCR = database.getReference("Review");
recyclerView = (RecyclerView)findViewById(R.id.recycler_ReviewMain);
recyclerView.setHasFixedSize(true);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager (layoutManager);
loadMenu();
}
private void loadMenu() {
adapter = new FirebaseRecyclerAdapter<ReviewModel, ReviewViewHolder>(ReviewModel.class,
R.layout.review_main_items,
ReviewViewHolder.class,MCR) {
@Override
protected void populateViewHolder(ReviewViewHolder viewHolder, ReviewModel model, final int position) {
viewHolder.Review_Title.setText(model.getTitle());
viewHolder.Profile_Name.setText(model.getProfileName());
Picasso.with(getBaseContext()).load(model.getImage())
.into(viewHolder.Review_Image);
Picasso.with(getBaseContext()).load(model.getProfileimage())
.into(viewHolder.Profile_Image);
final ReviewModel local = model;
viewHolder.Share_Icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
};
recyclerView.setAdapter(adapter);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId()==android.R.id.home)
finish();
return super.onOptionsItemSelected(item);
}
}
这是我的意图部分
Intent shareIntent;
Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+"/Share.png";
OutputStream out = null;
File file=new File(path);
try {
out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
path=file.getPath();
Uri bmpUri = Uri.parse("file://"+path);
shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
shareIntent.putExtra(Intent.EXTRA_TEXT,"Hey please check this application " + "https://play.google.com/store/apps/details?id=" +getPackageName());
shareIntent.setType("image/png");
startActivity(Intent.createChooser(shareIntent,"Share with"));