목록Android (24)
Dev.
private JSONArray mJsonArray = null; . . . try { JSONObject mJsonObj = new JSONObject(str); //Json형식의 데이터가 담겨있는 스트링 mJsonArray = mJsonObj.getJSONArray("result"); for(int i=0;i
class mAsync extends AsyncTask{ @Override protected String doInBackground(String... params) { MLog.d("Entered, DoInBackground"); String strUri = params[0]; BufferedReader mBufferedReader = null; try { String strJson; URL mUrl = new URL(strUri); HttpURLConnection mHttpURLConnection = (HttpURLConnection) mUrl.openConnection(); StringBuilder mStringBuilder = new StringBuilder(); mBufferedReader = n..
/** pppdw * doInBackground 호출 불가의 경우**/ if(Build.VERSION.SDK_INT >= 11){ mAsync = new mAsync().executeOnExecutor(); }else{ mAsync = new mAsync().execute(); }
1. 이클립스 File -> Export 2. Export 창에서 Android 탭 -> Gernerate Gradle build files 선택 3. Next.. 4. 포팅하고자 하는 (안드로이드 스튜디오에서 빌드하고자 하는) 프로젝트 선택후 Next 5. finish 6. 안드로이드 스튜디오 최초 프로젝트 선택 팝업에서 Import Project (Eclipse ADT , Gradle , etc.) 를 선택 후 위에서 엑스포트한 패키지 선택 7. 완료 -OSX 기준이라 윈도우와 다를수도 있지만, 이클립스가 맥이라고 해서 윈도우에 없는 기능이 있는것도 아니니, 얼추 비슷할거라 생각합니다.
작업을 하다보면 메인 쓰레드에서의 작업을 피해야 할 경우가 생긴다. 예를 들면 다수의 비트맵파일을 로드해야하는 경우나, 사이즈가 상당히 큰 파일을 로드해야 할 때. 안드로이드는 기본적으로 5초 이상 앱의 응답이 없는 대기상태가 될 경우, ANR (Application Not Responding) 상태로 빠지게 된다. 흔히 보게되는 '어플리케이션이 응답하지 않습니다, 대기/종료(?)' 뭐 이런 팝업이 뜨는 경우를 말한다. 아래의 예제에 활용되는 AsyncTask는 큰 작업을 할 때 메인쓰레드가 아닌 외부쓰레드로 빼서 따로돌려 위에서 말한 ANR을 피해갈 수 있는 가장 간단한 방법 중 하나이다. 예는 빈번히 ANR을 호출하는 비트맵 로딩 관련 AsyncTask 구현 법이다. /** @Author pppdw ..