본문 바로가기

android tech.

(27)
Obb 파일 안에 있는 영상 재생 다음 처럼 Provider 하나 만든다. public class VideoProvider extends APEZProvider { private static final String AUTHORITY = "com.provider.authority"; public static Uri buildUri(String path) { StringBuilder result = new StringBuilder("content://"); result.append(AUTHORITY); result.append(File.separator); result.append(path); return Uri.parse(result.toString()); } @Override public String getAuthority() { ret..
view를 bitmap으로 캡쳐하는 방법 public Bitmap capture(View v) {Bitmap result = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(result); v.draw(c); return result;} view.draw() 매서드를 활용해서 각 view들의 모습을 bitmap으로 가져올 수 있다.
Json 다운로드하기 public String downloadUrl(String urlString) throws IOException {URL url = new URL(urlString);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setReadTimeout(10000);conn.setConnectTimeout(15000);conn.setRequestProperty("Connection", "keep-alive");conn.setRequestMethod("GET");conn.setDoInput(true);conn.connect();InputStream result = conn.getInputStream();Writer writer = new St..
bitmap이 있는지 체크 public boolean hasBitmap(String path) {boolean result = false;BitmapFactory.Options option = new BitmapFactory.Options();option.inSampleSize = 10;option.inPreferredConfig = Bitmap.Config.RGB_565;Bitmap temp = BitmapFactory.decodeFile(path, option);if(temp != null) {result = true;temp.recycle();temp = null;}return result;} 간혹 이미지들 중에 손상된 파일이 있을 수 있다. 이미지 로드 중에 통신장애등으로 인해서 중단될 경우, 완전하지 못한 bitmap으로..
파일 지우기 public void delete(String path) {File file = new File(path);if(file.exists()) {file.delete();}}
파일이 있는지 체크하기 public boolean hasFile(String path) {File file = new File(path);return file.exists();}
파일 복사해서 저장하기 public void copy(String originPath, String resultPath, String resultFileName) {File origin = new File(originPath);File resultDir = new File(resultPath);resultDir.mkdirs();File result = new File(resultPath + "/" + resultFileName);FileInputStream input;FileOutputStream output;FileChannel originChanel;FileChannel resultChanel;try {input = new FileInputStream(origin);output = new FileOutputStream(re..
bitmap을 png 또는 jpg 파일로 저장 public void save(String path, String fileName, Bitmap target) {File file = new File(path);file.mkdirs();String fileExtention = fileName.substring(fileName.lastIndexOf(".") + 1);try {String filePath = file.getPath() + "/" + fileName;FileOutputStream fileOutput = new FileOutputStream(filePath);BufferedOutputStream bufferOutput = new BufferedOutputStream(fileOutput);if(fileExtention.equalsIgnoreCas..