Ich versuche, Bilddaten in eine Textdatei als Base 64 String seine Arbeit zu schreiben, wenn es nicht zu viele Informationen enthält, aber wenn es ziemlich viele Informationen enthält, stürzt die Anwendung sagen, dass seine aus dem Speicher unten ist mein Code:
package com.search.visual;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Environment;
import android.util.Base64;
import android.util.Log;
import android.widget.Toast;
public class SavePhotoTask extends AsyncTask<byte[], String, String>{
String name;
byte[] num;
@Override
protected String doInBackground(byte[]... params) {
// TODO Auto-generated method stub
File photo = new File(Environment.getExternalStorageDirectory(),".vis/image.xml");
name = Base64.encodeToString(params[0], 0);
//return base64String;
if (photo.exists()){
photo.delete();
}
try{
FileWriter fi = new FileWriter(photo.getPath());
fi.write("<Image>\n\t<Data>");
fi.write(name);
fi.write("</Data>\n</Image>");
fi.close();
}catch (IOException e) {
// TODO: handle exception
Log.e("pictureDemo","exception", e);
}
return (null);
}
}
Mache ich etwas falsch oder gibt es einen besseren Weg, dies zu tun?
Ich danke Ihnen im Voraus