我想使用這個Android GIF編碼器 https://github.com/nbadal/android-gif-encoder/blob/master/GifEncoder.java如何在我的應用中實現android gif編碼器?
我有錯誤,想在我的Android應用程序來實現這一點。
以下錯誤是:
outStream.write(generateGIF()); 描述資源路徑位置類型 方法generateGIF()是未定義的類型新View.OnClickListener(){} Main.java/F/SRC /淨/ S/F線197的Java問題
公共布爾光潔度(){ 描述資源路徑位置類型 返回類型是與Activity.finish()AnimatedGifEncoder.java/F/SRC /淨/ S/F線164的Java問題
公共字節[]的onClick(查看不相容v){ 描述資源路徑位置類型 返回類型與View.OnClickListener.onClick不兼容(View)Main.java/f/src/net/s/f第1行80的Java問題
我的代碼如下:
save.setOnClickListener(new OnClickListener() {
@Override
public byte[] onClick(View v) {
// TODO Auto-generated method stub
ArrayList<Bitmap> bitmaps = adapter.getBitmapArray();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
AnimatedGifEncoder encoder = new AnimatedGifEncoder();
encoder.start(bos);
for (Bitmap bitmap : bitmaps) {
encoder.addFrame(bitmap);
}
encoder.finish();
return bos.toByteArray();
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
outStream.write(generateGIF());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}
Toast.makeText(Main.this, "Saved.", Toast.LENGTH_SHORT).show();
}
});
//////////////////////////// ///////////////
要使用這個類,下面是一個示例幫助方法生成GIF字節數組。請注意,getBitmapArray()函數是一種立即返回圖像適配器中的所有位圖文件的方法。所以輸入是一個適配器中的所有位圖文件,輸出是一個可以寫入文件的字節數組。
public byte[] generateGIF() {
ArrayList<Bitmap> bitmaps = adapter.getBitmapArray();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
AnimatedGifEncoder encoder = new AnimatedGifEncoder();
encoder.start(bos);
for (Bitmap bitmap : bitmaps) {
encoder.addFrame(bitmap);
}
encoder.finish();
return bos.toByteArray();
}
要使用此功能,請執行以下操作,然後將文件保存到SDcard中。
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
outStream.write(generateGIF());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}
編譯器已經給了你一個答案。毫無意義的問題。 –