2016-12-08 2 views
1

graphViewを画像として保存しようとしています。 期待されていない2つのことが起こっています。 最初に、ファイルがSDカードに作成されていないということです。代わりに、電話機の内部ストレージにファイルが作成されています。 2つ目は、作成されたファイルが0Bのメモリを占有していることです。つまり、空のファイルです。開封時に「サムネイルを生成できません」と表示されますGraphViewを画像として保存する際に問題が発生しました。

私は以下のコードを与えています。それはこのウェブサイト自体の例から取られました。

public class MainActivity extends AppCompatActivity { 
LinearLayout ll; 
Bitmap bitmap; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mainn); 
    final GraphView graphView = (GraphView) findViewById(R.id.graph); 
    LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[]{ 
      new DataPoint(0, 1), 
      new DataPoint(1, 5), 
      new DataPoint(2, 3), 
      new DataPoint(3, 2), 
      new DataPoint(4, 6) 
    }); 
    graphView.addSeries(series); 


    RelativeLayout rl = (RelativeLayout) findViewById(R.id.myLayout); 
    rl.setDrawingCacheEnabled(true); 
    bitmap = rl.getDrawingCache(); 
    rl.setDrawingCacheEnabled(false); 

    File file,f; 
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
    { 
     file =new File(android.os.Environment.getExternalStorageDirectory(),"GRAPHS_PLOTTED"); 
     if(!file.exists()) 
     { 
      file.mkdirs(); 

     } 
     try{ 
      f = new File(file.getAbsolutePath()+file.separator+ "name"+".jpg"); 
      FileOutputStream ostream = new FileOutputStream(f); 
      bitmap.compress(Bitmap.CompressFormat.PNG, 10, ostream); 
      ostream.close(); 

     } 
     catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 

} 
} 

誰もが解決策を提案できますか?

答えて

0

この行をコードの最後に配置してください。 rl.setDrawingCacheEnabled(false);

圧縮タイプPNGを使用した場合。品質、すなわち10は無視されている。

+0

私は、グラフがプロットされる前であっても問題があると信じています。 @ Nitin Jain ... PNGの代わりにJPEGを使ってみました.... "rl.setDrawingCacheEnabled(false);"あなたが言ったように最後に..運がない。 – sp9

+0

これは大丈夫ですか? 新しいHandler()を試してみてください。postDelayed(new Runnable(){ callMethodToSaveImage(); }、 5000); –

+0

@ Nitin Jain ...まだ運がない – sp9

関連する問題