2013-01-02 4 views
1

텍스트와 이미지를 모두 포함 할 수있는 파일을 만들고 편집하려면 어떻게해야합니까?editext와 이미지를 어떻게 하나의 파일에 저장할 수 있습니까?

텍스트 만있는 파일을 저장하고 다시 편집 할 수있었습니다. 필자는 다중 행 편집 텍스트에서 텍스트를 가져와이 작업을 수행했습니다. 나는 imageview를 추가하고 그것에 이미지를 설정했다. 그러나 나는 그것을 저장하고 편집을 위해 검색하는 방법을 모른다.

 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();는 백그라운드 이미지의 String 표현이 아니다. – 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()); 
     } 

} 
관련 문제