Wednesday, March 3, 2021

How to write an image file in internal storage in android

 Today the Android programming blog will introduce you to a problem how to write an image file in internal storage in android with the following simple steps:

Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2 − Add the following code to res/layout/activity_main.xml.

<?xml version = "1.0" encoding = "utf-8"?>

<LinearLayout 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"

tools:context = ".MainActivity"

android:orientation = "vertical">

<Button

android:id = "@+id/save"

android:text = "save"

android:layout_width = "wrap_content"

android:layout_height = "wrap_content" />

</LinearLayout>

Step 3 − Add the following code to src/MainActivity.java

public class MainActivity extends AppCompatActivity {

   Button save;

   Bitmap bitmap;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

      Drawable drawable = getResources().getDrawable(R.drawable.mario);

      bitmap = ((BitmapDrawable) drawable).getBitmap();

      save = findViewById(R.id.save);

      save.setOnClickListener(new View.OnClickListener() {

         @Override

         public void onClick(View v) {

            ContextWrapper cw = new ContextWrapper(getApplicationContext());

            File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);

            File file = new File(directory, "UniqueFileName" + ".jpg");

            if (!file.exists()) {

               Log.d("path", file.toString());

               FileOutputStream fos = null;

               try {

                  fos = new FileOutputStream(file);

                  bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);

                  fos.flush();

                  fos.close();

               } catch (java.io.IOException e) {

                  e.printStackTrace();

               }

            }

         }

      });

   }

}

Result How to write an image file in internal storage in android

How to write an image file in internal storage in android

No comments:

Post a Comment