본문 바로가기

개발

[REST API] HttpStatus 일반적인 표준 WEB 개발을 기준으로 보통 CRUD라는 용어를 사용하는데 REST API 와 CRUD를 기준으로 설명해 봅시다. CRUD 작업은 Create, Read, Update, Delete의 약자로, 웹 개발에서 데이터를 관리하는 기본적인 작업입니다. 각 작업에 따라 사용하는 표준 HttpStatus는 다음과 같습니다. 1. Create (생성) 성공: 201 Created: 리소스가 성공적으로 생성되었음을 나타냅니다. 202 Accepted: 요청은 처리되었지만 아직 완료되지 않았음을 나타냅니다. (비동기 작업) 실패: 400 Bad Request: 요청에 오류가 있음을 나타냅니다. 401 Unauthorized: 사용자가 인증되지 않았음을 나타냅니다. 403 Forbidden: 사용자에게 권한이 없음을 나타.. 더보기
Android Too many open file 아는 선에서 결론부터 말하자면 루팅을 하지 않는 이상 그냥 껏다 켜시는게 빠르다는겁니다. 참고하실만한 링크http://hwiorn.tistory.com/188 Ubuntu에도 비슷한 에러가 있는가보네요.http://superuser.com/questions/471039/pipe-too-many-files-open-renders-entire-os-completely-useless android too many open file 에러 더보기
Theme.Dialog 인 Activity의 사이즈 조절 activity의 setContentView 이후에 Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();int width = (int) (display.getWidth() * 0.7); //Display 사이즈의 70%int height = (int) (display.getHeight() * 0.9); //Display 사이즈의 90%getWindow().getAttributes().width = width;getWindow().getAttributes().height = height; 요런 식으로 window의 layoutParam을 변경해 주면 됩니다.requestFeature와 .. 더보기
안드로이드 Thread와 Memory leaks에 대해 참고 URL : http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html 더보기
안드로이드 DB join 안드로이드 시스템이 모바일이다 라는 점 때문에 별로 그럴일은 없지만 로컬DB파일들을 Join해야할 경우ATTACH DATABASE '파일경로' AS "Aliases"를 사용하면 됩니다.예를 들어 String db1 = Environment.getExternalStorageDirectory().getPath() + "/db1.sqlite";String db2 = Environment.getExternalStorageDirectory().getPath() + "/db2.sqlite";String db3 = Environment.getExternalStorageDirectory().getPath() + "/db3.sqlite"; db = SQLiteDatabase.openDatabase(db1, null, S.. 더보기
어플리케이션에서 삭제 시 파일 삭제 어플리케이션이 삭제될 때 어플에서 사용하는 파일들이 같이 삭제되어야 할 경우가 있는데이는 어플리케이션의 삭제에 대한 리스너를 추가하거나 하는 것이 아닌 안드로이드의 시스템 구조를 이용하면 된다.예)어플리케이션 패키지 : com.example.test1 sdcard/android/data/com.example.test1 위 경로에서 해당파일들을 관리할 경우 어플리케이션이 삭제 될 경우 같이 삭제됩니다.단 2.2버전(Froyo) 이상에서만 작동한다고 하네요..ㄷㄷ;;관련문서Link : http://developer.android.com/guide/topics/data/data-storage.html#filesExternal 더보기
비정상적인 오류에 대한 대응(Thread.UncaughtExceptionHandler) 출처 : http://www.kmshack.kr/277 어플리케이션 실행 중 미리 캐치하지 못한, 또는 예상치 못한 버그로 인해 어플리케이션에서 오류가 발생할때 사용할 수 있습니다. 위 코드는 비정상 적인 에러(알수없는 에러)에 대한 예외처리를 적용한 것입니다.로그를 남기거나, 어플리케이션을 재실행(위 소스에서는 AlarmMaanger를 사용했습니다.)할 수 있겠네요. 더보기
Compass 예제 Android에서 Sensor를 사용한 다양한 어플 중 예전부터 수없이 많이 나온 Compass(나침반)과 관련된 예제 입니다.물론 직접 작성한 것은 아니고 링크만 공유 합니다.참고로 Compass의 경우 Sensor값 중 TYPE_MAGNETIC_FIELD와 TYPE_ACCELEROMETER를 가지고 계산을 하네요.Link : http://www.java2s.com/Code/Android/Hardware/CompassActivity.htm 더보기
디자이너분이 이렇게 해주면 좋아요. 개발하면서 디자이너가 이렇게 해주면 좋겠다 싶었던것들. 멋지고 화려한 디자인, 사용자의 경험이 잘 반영된 UX 등등등 도 정말 빠질 수 없이 중요한 사항이지만 개발자로서 디자이너 분들에게 몇가지 바라는점을 써봅니다. 1. css - style웹에 css가 있다면 안드로이드에는 style이 있습니다.물론 css가 할 수 있는 일이 더 많고 style이 별거 아닐 순 있겠지만. 그렇다고 그냥 디자인된 이미지파일만 던져주시면 일일히 글자 색 찍어보고 찾아보고 물어보고 여간 번거로운게 아닙니다. 2. view가운데도 아니고 임의의 위치에 버튼놓고 이러지 마세요.어떤말인가 하면 예를들어 지도이미지가 있고 알아서 각 지역위치에 버튼 배치해라....라는 이런식의 디자인은 하지 말아달라는 겁니다. 아이폰도 아니고 안드.. 더보기
AVD 에서 VirtualBox로 갈아타자. 나온지는 꽤 된것 같은데 소식을 좀 늦게 들어서 이제야 쓰게 되었습니다.AVD가 정말 느려서 단말기를 직접 연결해서 사용했는데 몇가지 제약이 있긴 하지만 VirtualBox로 대신할 수 있어서 관련정보를 공유하고자 합니다. 1. VMWare로도 할 수 있다고 하는데 일단 젼 VirtualBox를 사용하기로 했습니다.다운로드 : https://www.virtualbox.org/wiki/Downloads이곳에서 다운받으시고 기본으로 다 설치하세요.그리고 나서 실행하면위에 보이는 2개가 추가된 가상드라이브(?)입니다. 2. androVM 다운로드다운로드 : http://androvm.org/blog/download/위에 경로로 가시면 위와 같은 목록이 보이는데 gapps & houdini 가 무슨뜻인지 잘몰라.. 더보기