0
Я использую Imageview и кнопку, и я преобразую текст в qrcode из Codings и отображаю его на ImageView. Теперь, если нажата кнопка (Сохранить), мне нужно сохранить это конкретное изображение на SD-карту. Как это сделать?Как сохранить изображение на SD-карту на кнопке Нажмите
ПРИМЕЧАНИЕ. Сгенерированное изображение должно быть сохранено.
Вот основной код вида деятельности:
@Override
public class GeneratorActivity extends AppCompatActivity {
EditText text;
Button gen;
ImageView image;
String text2Qr;
static final int REQUEST_IMAGE_CAPTURE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_generator);
text = (EditText) findViewById(R.id.text);
gen = (Button) findViewById(R.id.gen);
image = (ImageView) findViewById(R.id.image);
gen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
text2Qr = text.getText().toString().trim();
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
try{
BitMatrix bitMatrix = multiFormatWriter.encode(text2Qr, BarcodeFormat.QR_CODE,200,200);
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
image.setImageBitmap(bitmap);
}
catch (WriterException e){
e.printStackTrace();
}
}
});
}
}
}
Вот XML-файл
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_generator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.steven.qrcodegenerator.GeneratorActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="QR Code Generator"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:hint="Enter Text to generate"
android:id="@+id/text"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:layout_centerHorizontal="true"
android:text="GENERATE"
android:id="@+id/gen"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="155dp"
android:background="@android:color/black"
android:id="@+id/view" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="500dp"
android:layout_below="@+id/view">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/image"/>
</LinearLayout>
<Button
android:text="SAVE IMAGE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:layout_alignBaseline="@+id/gen"
android:layout_alignBottom="@+id/gen"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="19dp"
android:layout_marginEnd="19dp" />
</RelativeLayout>
Возможный дубликат [Как сохранить растровое изображение с ImageView OnClick] (http://stackoverflow.com/questions/9078715/how-to-save-a-bitmap-image-with-imageview-onclick) –
Вы что-то пробовали? Поиск в Интернете? –