1차 PASS
1. volley
private void loadMovieInfo() {
JSONObject json = new JSONObject();
try {
json.put("id", id);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest request = NetworkHelper.requestGetString("/movie/readMovie?id=" + id, json, new ResponseListener() {
@Override
public void sucessedResponse(JSONObject params) {
Log.d("INFO", params.toString());
Gson gson = new Gson();
GetReadMovie movieList = gson.fromJson(params.toString(), GetReadMovie.class);
setMovieInfo(movieList.result.get(0));
}
@Override
public String failedResponse(String params) {
Log.d("INFO", "fail" + params);
return null;
}
});
NetworkHelper.getRequestQueue().add(request);
}
public static JsonObjectRequest requestGetString(String url, JSONObject jsonObject, final ResponseListener listener) {
return new JsonObjectRequest(
Request.Method.GET,
HOST_IP + url, jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
println("응답 -> " + response);
listener.sucessedResponse(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
println("에러 -> " + error.getMessage());
listener.failedResponse(error.getMessage());
}
}
) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
return params;
}
};
}
retrofit, okhttp만 사용하다 volley를 사용해본결과
사용법은 대체로 다비슷하지만
retrofit이 코드정리나 기능면에서 더 사용이 간단함
volley는 자료가 적고 request나 header세팅등이 복잡한 느낌
2. ViewModel
ds_chanin의 코드 리뷰결과
코드를 좀더 세분화하여 정리하고
observer, ViewModel등
안드로이드에서 주로사용하는 디자인패턴을 적용해야함을 느낌
3. 지적사항 및 개선사항 (2차 )
1. 접근제어자 잘붙이기
-귀찮아도 생각하고 붙이자2. string.xml 활용
- 네이밍이 너무 어렵다.3. 변수명에 언더바쓰지않기
- 전혀 몰랏던내용 앞으로 숙지하자
4. 액티비티간 데이터공유 방법 고민
- static으로 불러오는 방식이 맞는지 고민중
5. getInstance는 싱글톤 객체에만 사용
6, e.printstacktrace 지양 - 성능 및 보안에 취약함 관련내용 포스팅
7. 클래스를 좀더 세분화하여 코드분석시에 결과만 신경쓸 수 있도록 수정
8. getcontext or this 대신 applicationcontext를 전달하여 사용하는것이 좋음
9. gson의 typetoken메소드 방식 고려
'프로그래밍 > 부스트코스' 카테고리의 다른 글
부스트 코스 에이스 미션 6 (RecyclerView, 개선사항) (0) | 2019.09.06 |
---|---|
부스트 코스 에이스 미션 5 (SQLITE, DataBase, 개선사항) (0) | 2019.08.30 |
부스트 코스 에이스 미션 3 (ViewPager, Fragment, NavigationDrawer, 개선사항) (0) | 2019.08.07 |
부스트 코스 에이스 미션 2 (Activity 전환, 버튼이미지, 개선사항)출처: (0) | 2019.08.07 |
부스트 코스 에이스 미션 1 (ListView, 개선사항) (0) | 2019.08.04 |
댓글