কম্পিউটার

কিভাবে প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েডে একটি স্ক্রিনশট নিতে?


এই উদাহরণটি দেখায় কিভাবে প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েডে স্ক্রিনশট নিতে হয়।

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:id="@+id/parent"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity"
   android:background="#33FFFF00"
   android:orientation="vertical">
   <ImageView
      android:id="@+id/screenShot"
      android:layout_width="300dp"
      android:layout_height="300dp" />
   <TextView
      android:id="@+id/text"
      android:textSize="18sp"
      android:layout_gravity="center"
      android:text="Click"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />
</LinearLayout>

উপরের কোডে আমরা ইমেজভিউ এবং টেক্সটভিউ হিসাবে দুটি ভিউ নিয়েছি। ব্যবহারকারী যখন টেক্সটভিউতে ক্লিক করেন, তখন এটি স্ক্রিন শট নেয় এবং ইমেজভিউতে যুক্ত হয়।

ধাপ 3 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
package com.example.andy.myapplication;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
   int view=R.layout.activity_main;
   ImageView screenShort;
   TextView textView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(view);
      final LinearLayout parent=findViewById(R.id.parent);
      screenShot=findViewById(R.id.screenShot);
      textView=findViewById(R.id.text);
      textView.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            textView.setText("It is screen shot text");
            screenShot(parent);
         }
      });
   }
   public void screenShot(View view) {
      Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
      view.getHeight(), Bitmap.Config.ARGB_8888);
      Canvas canvas = new Canvas(bitmap);
      view.draw(canvas);
      screenShot.setImageBitmap(bitmap);
      textView.setText("click");
   }
}

উপরের কোডে আমরা স্ক্রিনশট(ভিউ) লিখেছি, এই পদ্ধতিতে আমরা উপরের প্রান্ত থেকে স্ক্রিন শট নেওয়ার জন্য প্যারেন্ট ভিউ পাস করেছি। স্ক্রিন নিতে নিম্নলিখিত কোড ব্যবহার করুন -

Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
screenShort.setImageBitmap(bitmap);

আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালানোর জন্য, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং রান এ ক্লিক করুন টুলবার থেকে কিভাবে প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েডে একটি স্ক্রিনশট নিতে? আইকন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -

কিভাবে প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েডে একটি স্ক্রিনশট নিতে?

এখন টেক্সট ভিউ-এ ক্লিক করুন, এটি স্ক্রিন শট নেবে এবং নিচের চিত্রের মতো চিত্র ভিউতে যুক্ত হবে -

কিভাবে প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েডে একটি স্ক্রিনশট নিতে?


  1. যেকোন অ্যান্ড্রয়েড ডিভাইসে কীভাবে একটি স্ক্রলিং স্ক্রিনশট নেওয়া যায়

  2. একটি অ্যাপ ছাড়াই কীভাবে অ্যান্ড্রয়েড স্ক্রিনশট নেবেন

  3. কিভাবে:একটি Mac এ একটি স্ক্রিনশট নিন

  4. অ্যান্ড্রয়েডে পুনরুদ্ধার মোডের স্ক্রিনশট কীভাবে নেবেন