Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
R .java 가 사라졌어요 어떡하죠?   AQuery라이브러리와 깨알같은 Tips
발표자 소개•   2010년부터 안드로이드 개발.•   Offline Map, 대동여지도 개발.•   OpenGL을 이용한 3D-Cube 개발•   NFC를 이용한 Mobile IDcard개발.• 한국디지털미디어고등학교...
늅늅이 개발하기엔 너무나 힘든 안드로이드!setContentView(LayoutInflater.from(MyActivity.this).inflate(com.example.test.R.layout.main,null));f...
늅늅이 개발하기엔 너무나 힘든 안드로이드!         이 코드는 고작!!버튼을 클릭했을때 “Hello”를 출력하는 코드!!
늅늅이 개발하기엔 너무나 힘든 안드로이드!     그럼 우리가 개발하려 했던,        •        •      •          •            •      어떻게 구현하지…?
하핳핳ㅎ하핳핳하ㅏ하하하   하하ㅏ하ㅏ핳핳ㅎㅎ
그래서 소개해 드릴 라이브러리약장수 아님       Android query Library               줄여서 AQuery                      JQuery 아님
Google에서 Aquery치면      제일 위에 있는거.
다른거 볼거 없이 일단    다운로드 ㄱㄱ
Beta없는 최신버전      다운 ㄱㄱ
Copy & Paste
이제 라이브러리를 사용할 준비가 모두 끝났습니다.
일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(this);
일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(view);
일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(context);
일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(activity);
AQuery의 기능 1. 손쉬운 뷰관리.•Visible설정   • 텍스트, 이미지관리•Enable설정    • 프로그래스 관리•각종 리스너등록    • 다이얼로그 관리•태그관리•id관리
Textview의 내용을 바꿔볼까요?aq.id(R.id.textview)  .text("코딩을 해봅시다.");
Textview의 내용을 바꿔볼까요?aq.id(R.id.textview)  .text(R.String.hello);
사라지게 해볼까요?aq.id(R.id.textview)  .gone();
사라지게 해볼까요?aq.id(R.id.textview)  .invisible();
다시 나타나게 하려면?aq.id(R.id.textview)  .visible();
AQuery의 기능 2. 파워풀한 이미지관리. • 파일, 리소스는 물론, 인터넷까지. • 메모리, 파일로 캐싱!! • 로드되기전 이미지, 실패시 이미지 설정 • 이미지 비율변경 • 로드된 뒤에 애니매이션 효과
일단, 인터넷에서 사진을 하나 띄우기 위해서는..
AQuery로, 사진을 하나 띄워봅시다.aq.id(R.id.imageview)  .image(“http://goo.gl/MclXs”);
그리고 몇개의 파라미터를 더 추가하면aq.id(R.id.imageview)  .image(“http://goo.gl/MclXs”,   true, true,   width, R.drawable.fail,   presetB...
Now Loading…
• 인터넷에서 이미지를 다운로드및 표시      • 자동으로 다운로드 쓰레드 관리!        • 자동으로 메모리및 파일에 캐싱     • 가로를 기준으로 해서 이미지 리사이징   • 다운로드 실패 시 실패 이미지를 ...
AQuery의 기능 3. 손쉬운 비동기 파서•http는 물론, https까지 손쉽게•Get, Post, 심지어 Multiparts까지!•Json뿐만 아니라 XML String ByteArray Bitmap까지!
전수열 회장님 의 페이스북 프사를 불러와보자http://graph.facebook.com  /devxoul?fields=picture페이스북 api에 대해선 따로 설명하지 않겠습니다. 구글링 ㄱㄱ
일단 웹브러우저로 보면…{        "id": "100000888155228",        "picture":        {             "data":             {               ...
이것을 HttpClient로 구현하면        간단한 post메서드만으로            40줄 초과!
AQuery로 JSONObject형으로 한번에 받아오자!aq.ajax( http://graph.facebook.com/devxoul?fields=picture ,               ”                ...
AQuery로 JSONObject형으로 한번에 받아오자!AjaxCallback<JSONObject> callback = new AjaxCallback<JSONObject>() {     public void callba...
AQuery를 이용해 약 5줄로    • Http Get메서드를 수행하였고,• 쓰레드를 자동으로 관리하여 비동기로 처리     • JSONObject로 자동으로 파싱
그럼 우리의 전회장님의 담벼락에 사진을 올려봅시다.
그럼 준비물을 살펴보도록 합시다
올릴 사진과, 페이스북 API사용을 위한 엑세스 토큰                AccessToken
어떻게 준비하냐고요?
Google형과 함께라면
파라미터 객체를 생성합니다.Map<String,Object> params = new HashMap<String, Object>();
파라미터에 엑세스토큰과 파일, 메시지를 넣습니다.params.put(“access_token”,token);params.put(“source”,file);params.put(“message”,”수열찡헠헠”);
그리고 전과 동일한 방법에서 파라미터만 추가해주면aq.ajax(”https://graph.facebook.com/devxoul/photos”,         params,         JSONObject.class, ...
우리는 방금      • Https 보안통신을 하였습니다.     • Post Method를 이용하였습니다.• Multipart를 통하여 파일을 첨부하였습니다.
우리는 방금      • Https 보안통신을 하였습니다.     • Post Method를 이용하였습니다.• Multipart를 통하여 파일을 첨부하였습니다.
AQuery의 기능 그 외•구글 페북 트위터등 다양한 인증모듈•버전업데이트 알림 모듈•에러핸들링
그래서 우리는            • 쓰레드를 쓰지 않고.         • Http Client를 쓰지 않고.       • 각종 Parsor를 쓰지 않고도.     • 이미지 캐싱을 구현하지 않아도.   • 애니메이...
더 자세한 내용은…
+덤:10시간을 삽질해도 풀리지 않는 안드로이드 미스터리와 해결법.     와퍼세트먹고싶다.
R.java가 사라졌을때!                 • 우선 모든 xml파일 안에 오류가                   없는지 살핀다.                 • Res파일 이름이 잘못작성된것         ...
.jar가 없는 라이브러리 추가하기             • 안드로이드 소스코드만으로 제               공되는 라이브러리가 있다.             • 먼저 Eclipse에 해당 프로젝트를         ...
라이브러리 추가했는데 실행하니까 죽어요           • 분명 코딩할때 문제 없었는데 실             행해보니까 Not Found 라고 뜬             다.           • 보통은 빌드할때 라...
구글맵을 쓰는데, 마켓에 올리니 맵이 안나와요             • API Key때문.             • API Key 발급받을때 블로그에               보면 Debug.key를 이용하여 발    ...
drawable 안에있는 이미지를 바꿨는데,xml에서는 잘보였는데 실행시켜보면 옛날꺼.             • 가끔 이미지를 변경시켜줬음에               도 불구하고, 실행시켜보면 반영            ...
Keystore를 실수로 지워버렸는데 어떡하죠? Keystore 분실시더이상 업데이트가     불가합니다.각별히 주의하세요
끝
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
Upcoming SlideShare
Loading in …5
×

R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁

7,482 views

Published on

안드로이드 개발에 필수요소 AQuery라이브러리와 간단한 사용법, 그 예제.
안드로이드 에서 10시간을 삽질하도 풀리지 않는 미스터리와 팁.

Published in: Technology
  • Login to see the comments

R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁

  1. 1. R .java 가 사라졌어요 어떡하죠? AQuery라이브러리와 깨알같은 Tips
  2. 2. 발표자 소개• 2010년부터 안드로이드 개발.• Offline Map, 대동여지도 개발.• OpenGL을 이용한 3D-Cube 개발• NFC를 이용한 Mobile IDcard개발.• 한국디지털미디어고등학교 졸업• SK Planet Internship Program 수료• 현. NHN NEXT 학생• 현. likeholic팀 기술이사
  3. 3. 늅늅이 개발하기엔 너무나 힘든 안드로이드!setContentView(LayoutInflater.from(MyActivity.this).inflate(com.example.test.R.layout.main,null));findViewById(com.example.test.R.id.Button_test).setOnClickListener(new View.OnClickListener(){public void onClick(View view){Toast.makeText(MyActivity.this,"Hello",Toast.LENGTH_LONG).show();}
  4. 4. 늅늅이 개발하기엔 너무나 힘든 안드로이드! 이 코드는 고작!!버튼을 클릭했을때 “Hello”를 출력하는 코드!!
  5. 5. 늅늅이 개발하기엔 너무나 힘든 안드로이드! 그럼 우리가 개발하려 했던, • • • • • 어떻게 구현하지…?
  6. 6. 하핳핳ㅎ하핳핳하ㅏ하하하 하하ㅏ하ㅏ핳핳ㅎㅎ
  7. 7. 그래서 소개해 드릴 라이브러리약장수 아님 Android query Library 줄여서 AQuery JQuery 아님
  8. 8. Google에서 Aquery치면 제일 위에 있는거.
  9. 9. 다른거 볼거 없이 일단 다운로드 ㄱㄱ
  10. 10. Beta없는 최신버전 다운 ㄱㄱ
  11. 11. Copy & Paste
  12. 12. 이제 라이브러리를 사용할 준비가 모두 끝났습니다.
  13. 13. 일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(this);
  14. 14. 일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(view);
  15. 15. 일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(context);
  16. 16. 일단은 AQuery 객체를 생성해봅시다.Aquery aq = new AQuery(activity);
  17. 17. AQuery의 기능 1. 손쉬운 뷰관리.•Visible설정 • 텍스트, 이미지관리•Enable설정 • 프로그래스 관리•각종 리스너등록 • 다이얼로그 관리•태그관리•id관리
  18. 18. Textview의 내용을 바꿔볼까요?aq.id(R.id.textview) .text("코딩을 해봅시다.");
  19. 19. Textview의 내용을 바꿔볼까요?aq.id(R.id.textview) .text(R.String.hello);
  20. 20. 사라지게 해볼까요?aq.id(R.id.textview) .gone();
  21. 21. 사라지게 해볼까요?aq.id(R.id.textview) .invisible();
  22. 22. 다시 나타나게 하려면?aq.id(R.id.textview) .visible();
  23. 23. AQuery의 기능 2. 파워풀한 이미지관리. • 파일, 리소스는 물론, 인터넷까지. • 메모리, 파일로 캐싱!! • 로드되기전 이미지, 실패시 이미지 설정 • 이미지 비율변경 • 로드된 뒤에 애니매이션 효과
  24. 24. 일단, 인터넷에서 사진을 하나 띄우기 위해서는..
  25. 25. AQuery로, 사진을 하나 띄워봅시다.aq.id(R.id.imageview) .image(“http://goo.gl/MclXs”);
  26. 26. 그리고 몇개의 파라미터를 더 추가하면aq.id(R.id.imageview) .image(“http://goo.gl/MclXs”, true, true, width, R.drawable.fail, presetBitmap,AQuery.FADEIN);
  27. 27. Now Loading…
  28. 28. • 인터넷에서 이미지를 다운로드및 표시 • 자동으로 다운로드 쓰레드 관리! • 자동으로 메모리및 파일에 캐싱 • 가로를 기준으로 해서 이미지 리사이징 • 다운로드 실패 시 실패 이미지를 띄워주고• 다운로드 되기 전에 프리셋 이미지를 설정해주고 • 다운로드 완료시 Fade-In 되게하였습니다.
  29. 29. AQuery의 기능 3. 손쉬운 비동기 파서•http는 물론, https까지 손쉽게•Get, Post, 심지어 Multiparts까지!•Json뿐만 아니라 XML String ByteArray Bitmap까지!
  30. 30. 전수열 회장님 의 페이스북 프사를 불러와보자http://graph.facebook.com /devxoul?fields=picture페이스북 api에 대해선 따로 설명하지 않겠습니다. 구글링 ㄱㄱ
  31. 31. 일단 웹브러우저로 보면…{ "id": "100000888155228", "picture": { "data": { "url": "http://~.jpg", "is_silhouette": false } } }
  32. 32. 이것을 HttpClient로 구현하면 간단한 post메서드만으로 40줄 초과!
  33. 33. AQuery로 JSONObject형으로 한번에 받아오자!aq.ajax( http://graph.facebook.com/devxoul?fields=picture , ” ” JSONObject.class, callback);
  34. 34. AQuery로 JSONObject형으로 한번에 받아오자!AjaxCallback<JSONObject> callback = new AjaxCallback<JSONObject>() { public void callback(String url, JSONObject json, AjaxStatus status) { url = json.getJSONObject("picture") .getJSONObject("data") .getString("url"); }};
  35. 35. AQuery를 이용해 약 5줄로 • Http Get메서드를 수행하였고,• 쓰레드를 자동으로 관리하여 비동기로 처리 • JSONObject로 자동으로 파싱
  36. 36. 그럼 우리의 전회장님의 담벼락에 사진을 올려봅시다.
  37. 37. 그럼 준비물을 살펴보도록 합시다
  38. 38. 올릴 사진과, 페이스북 API사용을 위한 엑세스 토큰 AccessToken
  39. 39. 어떻게 준비하냐고요?
  40. 40. Google형과 함께라면
  41. 41. 파라미터 객체를 생성합니다.Map<String,Object> params = new HashMap<String, Object>();
  42. 42. 파라미터에 엑세스토큰과 파일, 메시지를 넣습니다.params.put(“access_token”,token);params.put(“source”,file);params.put(“message”,”수열찡헠헠”);
  43. 43. 그리고 전과 동일한 방법에서 파라미터만 추가해주면aq.ajax(”https://graph.facebook.com/devxoul/photos”, params, JSONObject.class, callback);
  44. 44. 우리는 방금 • Https 보안통신을 하였습니다. • Post Method를 이용하였습니다.• Multipart를 통하여 파일을 첨부하였습니다.
  45. 45. 우리는 방금 • Https 보안통신을 하였습니다. • Post Method를 이용하였습니다.• Multipart를 통하여 파일을 첨부하였습니다.
  46. 46. AQuery의 기능 그 외•구글 페북 트위터등 다양한 인증모듈•버전업데이트 알림 모듈•에러핸들링
  47. 47. 그래서 우리는 • 쓰레드를 쓰지 않고. • Http Client를 쓰지 않고. • 각종 Parsor를 쓰지 않고도. • 이미지 캐싱을 구현하지 않아도. • 애니메이션을 직접 작성하지 않아도.훌륭한 비동기 안드로이드 어플리케이션을 만들수 있습니다.!!
  48. 48. 더 자세한 내용은…
  49. 49. +덤:10시간을 삽질해도 풀리지 않는 안드로이드 미스터리와 해결법. 와퍼세트먹고싶다.
  50. 50. R.java가 사라졌을때! • 우선 모든 xml파일 안에 오류가 없는지 살핀다. • Res파일 이름이 잘못작성된것 이 있나 살핀다.(예:대문자) • Console창을 유심히 보라 원인 이 나와있는 경우가 많다. • 정 안되면 프로젝트 새로 만들어 서 소스코드만 복&붙해라.
  51. 51. .jar가 없는 라이브러리 추가하기 • 안드로이드 소스코드만으로 제 공되는 라이브러리가 있다. • 먼저 Eclipse에 해당 프로젝트를 impor한다. • 그리고 프로젝트 우클릭 > Properties>Android>ADD로 해당 프로젝트를 추가할수 있다.
  52. 52. 라이브러리 추가했는데 실행하니까 죽어요 • 분명 코딩할때 문제 없었는데 실 행해보니까 Not Found 라고 뜬 다. • 보통은 빌드할때 라이브러리가 포함되지 않은것! • Properties>Java Build Path> Order and Export • 모든 체크박스를 체크해준다.
  53. 53. 구글맵을 쓰는데, 마켓에 올리니 맵이 안나와요 • API Key때문. • API Key 발급받을때 블로그에 보면 Debug.key를 이용하여 발 급을 받는다. • 실제 Signed APK를 뽑을땐 Sign한 keystore로 API Key를 발급받아야 한다.
  54. 54. drawable 안에있는 이미지를 바꿨는데,xml에서는 잘보였는데 실행시켜보면 옛날꺼. • 가끔 이미지를 변경시켜줬음에 도 불구하고, 실행시켜보면 반영 되지 않은 경우가 있다. • Eclipse가 이미지 변경을 알 아차리지 못한것. • 쿨하게 Bin폴더를 지우면 다시 생성되면서 해결된다.
  55. 55. Keystore를 실수로 지워버렸는데 어떡하죠? Keystore 분실시더이상 업데이트가 불가합니다.각별히 주의하세요
  56. 56.

×