2013-01-02 2 views
1

Как создать и отредактировать файл, который может содержать как текст, так и изображение.Как сохранить editext и изображение в одном файле?

Мне удалось сохранить файл и отредактировать его снова, у которого есть только текст. Я сделал это, получив текст из многострочного редактора. Я добавил изображение и установил для него изображение. Но я не знаю, как его сохранить и получить для редактирования.

 public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_lesson_edit); 

txtData = (EditText) findViewById(R.id.txtData); 
img =(ImageView)findViewById(R.id.imageView1); 

final String path = "/sdcard/ram/notebook/lesson"; 

try { 
     FileInputStream fIn = new FileInputStream(path); 
     BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn)); 
     String aDataRow = ""; 
     String aBuffer = ""; 
     while ((aDataRow = myReader.readLine()) != null) { 
      aBuffer += aDataRow + "\n"; 
     } 
     txtData.setText(aBuffer); 
     myReader.close(); 
    } catch (Exception e) { 
     Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show(); 
    } 

btnWriteSDFile = (Button) findViewById(R.id.btnWriteSDFile); 
btnWriteSDFile.setOnClickListener(new OnClickListener() { 

public void onClick(View v) { 
    String notes = txtData.getText().toString()+ img.getBackground(); 
    try { 
      FileOutputStream fOut = new FileOutputStream(path); 
      OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
      myOutWriter.append(notes); 
      myOutWriter.close(); 
      fOut.close(); 
      Toast.makeText(getBaseContext(),"Done writing",Toast.LENGTH_SHORT).show(); 
     } catch (Exception e) { 
      Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show(); 
     } 
     }// onClick 
}); // btnWriteSDFile 
} 

Я пробовал использовать холст. но он сохраняет текст и изображение как jpg, который не редактируется (исправьте меня, если я ошибаюсь).

Пожалуйста, помогите мне, как я могу это сделать ..

+0

ваш должен захватить мобильный экран ... для его достижения. – DynamicMind

+0

сохранить изображение в текстовом файле не имеет большого смысла. используйте 2 файла – njzk2

+0

'img.getBackground();' не является строковым представлением фонового изображения. – njzk2

ответ

0

Я достиг этого кода ниже.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    sv = new ScrollView(getApplicationContext()); 
    ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    ll.setBackgroundColor(Color.CYAN); 
    ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
    sv.addView(ll); 
    setContentView(sv); 
Button b1 = new (Button)findViewById(R.id.button1); 
b1..setOnClickListener(new OnClickListener() { 
      public void onClick(View arg0) { 
saveAsJpg(); 
      } 
     }); 

} 
public void saveAsJpg() 
{ 
    //Bitmap b = Bitmap.createBitmap(sv.getWidth(), sv.getHeight(), Bitmap.Config.ARGB_8888); 
    sv.setDrawingCacheEnabled(true); 
    Bitmap b = sv.getDrawingCache(); 
     try { 
      b.compress(CompressFormat.JPEG, 95, new FileOutputStream("/sdcard/ram/ert/d.jpg")); 
      Toast.makeText(this, "Saved!", Toast.LENGTH_LONG).show(); 
     } catch (Exception e) { 
      Log.v("EXCEPTION", e.getMessage()); 
     } 

} 
Смежные вопросы