Эй, это может показаться глупым вопросом, но как я могу сделать несколько файлов во внутреннем хранилище без необходимости спама
f = new File(context.getFilesDir(),filename);
когда я хочу создать файл каждый раз, когда пользователь касается экрана. Я пытался получить его, если имя файла имеет номер в конце, поэтому при создании файла он меняется, но программа всегда возвращается к оригиналу файл "name0" вместо "name1", даже если в логах написано, что должно быть 1
String filename = "name"+num;
что мне нужно изменить, чтобы программа генерировала новый файл данных каждый раз, когда пользователь касается экрана?
Метод Ontouch для класса панели
public boolean onTouchEvent(MotionEvent event) {
mainactivity.setvalue(newvalue);
mElements.add(new Element(getResources(),(int) event.getX(),(int) event.getY(),this.getContext()));
Log.v("Gesture", "is newvalue: "+newvalue);
newvalue++;
return super.onTouchEvent(event);
}
Класс элементов
public Element(Resources res, int x, int y,Context context) {
location2 =item3;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
mBitmap = BitmapFactory.decodeResource(res, location2);
mX = x - mBitmap.getWidth() / 2;
mY = y - mBitmap.getHeight() / 2;
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
writeBitmap(byteArray, context);
writemX(mX,context);
writemY(mY,context);
Log.v("Element", "num: "+num);
num++;
}
метод writeX
public void writemX(int x,Context context){
value=getvalue();
Log.v("main", "made it to method writeX" );
Log.v("main", "value before= "+getvalue());
File f = new File(context.getFilesDir(),postionX);
try {
fos = new FileOutputStream(f);
objectwrite = new ObjectOutputStream(fos);
objectwrite.writeByte(x);
fos.close();
Log.v("main", "file was made File ");
}catch (FileNotFoundException e){
e.printStackTrace();
Log.v("main", "file was not made File not found ");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.v("main", "file was not made File IOException ");
}
public int getvalue(){
Log.v("main", "getvale value = "+value);
return(value);
}
public void setvalue(int newvalue){
value=newvalue;
Log.v("main", "setvale value = "+value);
}