이미지를 sdcard에 저장하는 부분인데요 !
/songggg/a.jpg 를 열어서 sdcard에 test3.jpg로 저장하고 싶은데요 ㅠㅠ
sdcard에 test3.jpg은 생기는데 파일이 비어있네요 ㅠㅠ
어디 부분이 잘못된건가요!?!?!??
bitmap부분에 warning도 나구있구요 ㅠㅠ
왜그런건가요!?!?!?!?
package hello.main;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
public class coordi_save extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bitmap myBitmap = BitmapFactory.decodeFile("/songggg/a.jpg");
FileOutputStream out = null;
try {
out = new FileOutputStream("/sdcard/test3.png");
out.close();
} catch(IOException e) {
Log.i("Error reading image", e.getMessage());
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<manifest package="lowmans.MySdcardWriteTest"
android:versionCode="1" android:versionName="1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MySdcardWriteTest" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
</manifest>
// 먼저 하위 폴더가 없으면 생성함
File dir = new File("/sdcard/yuhanggil/img");
if(!dir.exists())
dir.mkdirs();
// 이미지의 절대경로를 구함
image_path = "/sdcard/yuhanggil/img/aaa.jpg"
// 파일을 실제로 만듬
File file = new File(image_path);
try{ // 실제로 createNewfile은 똑같은 파일이 이미존재하면
// false를 리턴하고 만들지 않음 때문에 대안으로 전파일을 지우고 만듬
if(file.exists())
file.delete();
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
}catch(IOException e){
// exception 처리부분
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
퍼미션은 manifast 파일에 넣었는지 확인하세요~
out.close();