هم اکنون عضو شوید

ورود

فراموشی گذرواژه

گذروازه خود را فراموش کردید ؟

ورود

عضو شوید

با عضویت در سایت از امکانات فوق العاده بهرمنده خواهید شد.

دوره آموزش برنامه نویسی اندروید
آموزش گرفتن Screen shot در برنامه نویسی اندروید

آموزش گرفتن Screen shot در برنامه نویسی اندروید

سلام دوستان با قدرت بازگشتیم در این سری از آموزش برنامه نویسی اندروید به آموزش گرفتن Screen shot در برنامه نویسی اندروید میپردازیم قبلتر این آموزش را داده بودیم ولی توسط یکی از کاربران متوجه شدیم که در بعضی از گوشی ها screen shot گرفته نمی شود به همین علت در صدد آمادیم تا آموزش دیگری را در این رابطه برای شما برنامه نویسان عزیز قرار دهیم با ما همراه باشید.

ابتدا باید یک dependencies اضافه کنیم برای اینکار وارد Build.gradle شوید بخش Moudle سپس در بخش dependencies خط زیر را اضافه کنید.

سپس پروژه خود را sync کنید (ما تمامی دلیل هایی که ممکن است Gradle به خطا بخورد را گفتیم ایم کافی است در سایت سرچ کنید)

بعد از sync شدن کد layout را همانند زیر قرار دهید.

در صورت نیاد خودتان اندازه های آنها را مشخص کنید.

سپس کد مربوط به MainActivity هم به شکل زیر می شود.

این هم از این آموزش خیلی ساده است اگر متوجه نشدید آموزش قیلی گرفتن Screen shot رو بررسی کنید

 

موفق باشید.

درباره نویسنده

با زبان های برنامه نویسی C# , Java , Php به صورت تخصصی کار کردم و بیشتر وقتم رو در برنامه نویسی می گذرونم علاقه زیادی به ساخت اپلیکیشن اندروید دارم.

نظرها ( ۱۱ )

  1. arash
    ۲۲, تیر , ۱۳۹۶ در ۱:۳۸ ب.ظ

    http://uupload.ir/files/jut3_untitled.png
    این خطا برای چیه

  2. arash
    ۲۳, تیر , ۱۳۹۶ در ۱۱:۲۲ ق.ظ

    بله اضافه کردم بعذش باید سینک بشه که ارور میده از طریق خود اندروید استودیو خواستم انلاین بکنم ولی پیدا نکرد.فکر کنم باید فایل زیپش رو بزارین

    • محمد حسین جعفری پور
      ۲۳, تیر , ۱۳۹۶ در ۱۱:۴۱ ق.ظ

      علت خطا در سایت هست سرچ کنید gradle در سایت و این کتاب خانه به صورت فایل نیست یعنی ۹۰ درصد کتاب خانه ها به صورت فایل نیستند در قدیم به صورت فایل عرضه می شدند ولی دیگر به شکل فایل نیستند.

      موفق باشید.

  3. arash
    ۲۳, تیر , ۱۳۹۶ در ۱۱:۵۴ ق.ظ

    اجازه بدین یک سورس راحت بزارم که احتیاج به کتابخونه جدید نداره

  4. arash
    ۲۳, تیر , ۱۳۹۶ در ۶:۲۳ ب.ظ

    این کد رو به mainfest پروژه اضافه کنین

    این کدها برای activity_main هست

    این هم کدهای MainActivity دقت کنین اسم پکیج شما فرق خواهد کرد همچین تو محتوای کدهم حواستون به اسم پیکج باشه
    package com.example.yass.myapplication;

    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.media.MediaScannerConnection;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;

    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.Date;

    public class MainActivity extends AppCompatActivity {

    private Button btnTakeScreenshot;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnTakeScreenshot= (Button) findViewById(R.id.btnTakeScreenshot);

    btnTakeScreenshot.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    takeScreenshot();
    }
    });

    }

    private void takeScreenshot() {
    Date now = new Date();
    android.text.format.DateFormat.format(“yyyy-MM-dd_hh:mm:ss”, now);

    try {
    // image naming and path to include sd card appending name you choose for file
    String mPath = Environment.getExternalStorageDirectory().toString() + “/PICTURES/Screenshots/” + now + “.jpg”;

    // create bitmap screen capture
    View v1 = getWindow().getDecorView().getRootView();
    v1.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
    v1.setDrawingCacheEnabled(false);
    File imageFile = new File(mPath);
    FileOutputStream outputStream = new FileOutputStream(imageFile);
    int quality = 100;
    bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
    outputStream.flush();
    outputStream.close();

    MediaScannerConnection.scanFile(this,
    new String[]{imageFile.toString()}, null,
    new MediaScannerConnection.OnScanCompletedListener() {
    public void onScanCompleted(String path, Uri uri) {
    Log.i(“ExternalStorage”, “Scanned ” + path + “:”);
    Log.i(“ExternalStorage”, “-> uri=” + uri);
    }
    });

    openScreenshot(imageFile);
    } catch (Throwable e) {
    // Several error may come out with file handling or OOM
    e.printStackTrace();
    }
    }

    private void openScreenshot(File imageFile) {
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(imageFile);
    intent.setDataAndType(uri, “image/*”);
    startActivity(intent);
    }

    }

  5. ۷, خرداد , ۱۳۹۷ در ۱:۰۰ ق.ظ

    سلام ببخشید چه جوری میشه از هر جای گوشی که خواستیم اسکرین شات بگیریم ؟

  6. sina_f2000
    ۱۱, مهر , ۱۳۹۸ در ۱۱:۴۳ ق.ظ

    سلام ببخشید چطور میشه صدا اسکرین شات بده و فایل صوتی دیفالت باشه؟لطفا کدشو قرار بدید ممنون

  7. جعفر
    ۲۹, مهر , ۱۳۹۸ در ۶:۴۳ ق.ظ

    ایا این کتابخانه میتونه از تمام لیست من که در صفحه گوشی قرار داره عکس بگیره با توجه به اینکه پنج تا از ردیف های لیست باید اسکرول بشه تا دیده بشه که بالطبع با اینکار پنج تا از ردیف های لیست در بالا غیر قابل دیدن میشه

  8. جعفر
    ۱۸, آبان , ۱۳۹۸ در ۵:۱۵ ب.ظ

    لطفا یک راهنمایی کنید تا بدونم دنبال چی باید بگردم ایا مبحث خاصی داره که ممکنه ازش اطلاعی نداشته باشم چون من تازه برنامه نویسی اندروید یاد گرفتم