Ví dụ này minh họa cách ghi file ảnh vào bộ nhớ trong (internal storage) trên Android.
Bước 1: Tạo dự án mới
Tạo dự án mới trong Android Studio: File → New Project, điền thông tin cần thiết.
Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)
<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
xmlns:tools = "https://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 = "Lưu"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content" />
</LinearLayout>
Giao diện chỉ có một nút. Khi nhấn nút, ảnh sẽ được lưu vào bộ nhớ trong.
Bước 3: Code MainActivity.java
package com.example.andy.myapplication;
import android.content.Context;
import android.content.ContextWrapper;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
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;
public class MainActivity extends AppCompatActivity {
Button save;
Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Lấy ảnh từ drawable (giả sử có file mario.png trong res/drawable)
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());
// Tạo thư mục riêng tư 'imageDir'
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);
// Nén bitmap định dạng JPEG chất lượng 100%
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
}
});
}
}
Chạy ứng dụng
Kết nối thiết bị, chạy từ Android Studio. Màn hình hiển thị giao diện mặc định.

Nhấn nút Lưu để lưu ảnh vào bộ nhớ trong như hình dưới:
