আরেকটি সিম্পল অ্যাপ তৈরি করার টিউটোরিয়াল। দেখব কিভাবে অ্যাপ থেকে একটি ইমেজ শেয়ার করা যায়। ইমেজ প্রসেসিং নিয়ে কাজ করলে প্রসেস করা শেষে যদি আমরা ইউজারকে ঐ ইমেজটি শেয়ার করার অপশন দিতে চাই, তাহলে এ টিউটোরিয়ালটি কাজে আসবে।
এর জন্য আমরা একটি বাটন তৈরি করে নিব, যেটাতে ক্লিক করলে শেয়ার অপশন গুলো দেখাবে। এবং আমরা যেখানে ইমেজটি শেয়ার করতে চাই, সেখানে শেয়ার করত পারব।
অ্যাপের শেয়ার বাটনে ক্লিক করলে নিচের মত অপশন পাবোঃ
XML ফাইলটিঃ
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sharae" android:id="@+id/share" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout>
নিচের পারমিশনটা আমাদের যুক্ত করতে হবেঃ
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
জাভা কোড গুলোঃ
import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import java.io.ByteArrayOutputStream; public class MainActivity extends Activity { Button share; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); share = (Button) findViewById(R.id.share); share.setOnClickListener(new OnClickListener() { public void onClick(View v) { Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.bill); Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); b.compress(Bitmap.CompressFormat.JPEG, 100, bytes); String path = MediaStore.Images.Media.insertImage(getContentResolver(), b, "Title", null); Uri imageUri = Uri.parse(path); share.putExtra(Intent.EXTRA_STREAM, imageUri); startActivity(Intent.createChooser(share, "Select")); } }); } }
আমরা Intent ব্যবহার করে শেয়ার ইমপ্লিমেন্ট করেছি। আর যে ইমেজটি শেয়ার করতে চাই, তা আমরা Drawable ফোল্ডারে রেখেছি। যার নাম bill. আমরা এভাবে যে কোন ইমেজই শেয়ার করতে পারি। কোড গুলো সিম্পল রাখার জন্য Drawable ফোল্ডারে রেখে শেয়ার অপশনটা যুক্ত করেছি।
hellow y u don’t reply . ??? Unexpected !! check my previous comment if u want to help .otherwise ignore , i will find.
i am posting again. if i have lots of images and i want to share individually when it changes to the next image. then how ??
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.bill,R.drawable.img2, ….);
??
or should i use array ??? thn how ?? can u just send me tht line of code ?? for multiple images. ?? it will be helpful. thnk u.
you need to use an array
আমি আইফোন বেভহার করছি তাকি এই শমস্যাই পরছি