모바일 해커톤
사전 교육 4일차
- ZeroPage 24기 김한성 -
4일차 내용
• Content Provider
• 다음, 카카오톡 API 사용법
• Gradle
• RestTemplate
• Thread
• Handler
• AsyncTask
• 오늘 역시 라이브 코딩….(복붙할 수 있게 준비함)
컨텐트 프로바이더(Content Provider)
• 데이터 저장소에 접근하는 방법을 제공
• 저장된 데이터에 기반하여 서비스를 제공하는 앱의 일부
스마트폰에 들어있는 이미지를 가져오자
• Content Provider는 기본적으로 URI를 통해서 접근함
필요한 경우, URI를 실제 경로로 바꾸어 사용
(파일 복사, 삭제 등)
URI나 실제 경로를 미리 알 수 있다면…..?
• 굳이 파일관리자를 열지 않아도 이미지를 가져올 수 있다!
Environment
.getExternalStorage
Directory().getPath()
== 실제 경로
TEXT를 다른 SNS App에 공유하기
• 가장 쉬운 Intent 방식
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, “noyeah");
intent.putExtra(Intent.EXTRA_TEXT, “공유하자!”);
Intent chooserIntent = Intent.createChooser(intent, "SNS에
공유하기");
startActivity(chooserIntent);
카카오톡 - 나에게 공유하기
페이스북 - 공유
역시 쉬운 건 없다…..
• 공유를 원하는 플랫폼(카카오톡, 페이스북, 트위터 등)마다
별도로 공유하는 코드를 작성해야 한다!
• 다른 데이터 형식(이미지, 영상)을 공유하고 싶다면
intent.setType("text/plain");를 바꿔주면 된다!
Ex – image/*, */* 등등
SNS App별 특징?
• FaceBook : image나 link만(text에 url을 넣으면 된다)
• KaKaoTalk : image나 text+link(text와 link를 묶어서 사용)
• Twitter : image + text + link(link는 올리면 자동으로 변환됨)
타입을 image로 바꾸면….
그렇다면 api통신은 어떻게??
• API(Application Programming interface)
응용 프로그램이나 운영 체제, 프로그래밍 언어를
사용할 수 있도록 제공된 인터페이스
• SDK(Software Development Kit)
개발 도구의 집합
사실…
• 카카오톡 API도 있습니다.
https://developers.kakao.com/
• 페이스북도요
https://developers.facebook.com/
• 이걸로 ‘공유하기’하면 한 일주일은 필요할거 같아서 생략…
그래도 뭔가 하나 써봅시다!
• 다음 지도 API를 써봅시다.
• +build.gradle에 Http 통신 라이브러리를 추가해봅시다.(복붙)
http://projects.spring.io/spring-android/
• 꼭 Gradle Sync 해주세요!(우측 상단에 나옴)
현재 위치(GPS값으로 주변 정보를 검색)
• LocationManager를 사용
• Geocoder와 다음 지도 api 결과를 비교
내일 해커톤은….
• 밤샐 준비하시고
• 식사는 제공하니 멘탈만 챙기시고
• 늦어도 됩니다 일단 오시면 됩니다.
• 잘 몰라도 괜찮습니다.
• 어차피 평가는 여러분 서로가 합니다.
• 시간은 다음과 같습니다.
• 그럼 내일 저녁 6시에 봅시다~!

모바일 해커톤 사전교육 4일차

  • 1.
    모바일 해커톤 사전 교육4일차 - ZeroPage 24기 김한성 -
  • 2.
    4일차 내용 • ContentProvider • 다음, 카카오톡 API 사용법 • Gradle • RestTemplate • Thread • Handler • AsyncTask • 오늘 역시 라이브 코딩….(복붙할 수 있게 준비함)
  • 3.
    컨텐트 프로바이더(Content Provider) •데이터 저장소에 접근하는 방법을 제공 • 저장된 데이터에 기반하여 서비스를 제공하는 앱의 일부
  • 4.
    스마트폰에 들어있는 이미지를가져오자 • Content Provider는 기본적으로 URI를 통해서 접근함 필요한 경우, URI를 실제 경로로 바꾸어 사용 (파일 복사, 삭제 등)
  • 5.
    URI나 실제 경로를미리 알 수 있다면…..? • 굳이 파일관리자를 열지 않아도 이미지를 가져올 수 있다! Environment .getExternalStorage Directory().getPath() == 실제 경로
  • 6.
    TEXT를 다른 SNSApp에 공유하기 • 가장 쉬운 Intent 방식 Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, “noyeah"); intent.putExtra(Intent.EXTRA_TEXT, “공유하자!”); Intent chooserIntent = Intent.createChooser(intent, "SNS에 공유하기"); startActivity(chooserIntent);
  • 7.
  • 8.
  • 9.
    역시 쉬운 건없다….. • 공유를 원하는 플랫폼(카카오톡, 페이스북, 트위터 등)마다 별도로 공유하는 코드를 작성해야 한다! • 다른 데이터 형식(이미지, 영상)을 공유하고 싶다면 intent.setType("text/plain");를 바꿔주면 된다! Ex – image/*, */* 등등
  • 10.
    SNS App별 특징? •FaceBook : image나 link만(text에 url을 넣으면 된다) • KaKaoTalk : image나 text+link(text와 link를 묶어서 사용) • Twitter : image + text + link(link는 올리면 자동으로 변환됨)
  • 11.
  • 12.
    그렇다면 api통신은 어떻게?? •API(Application Programming interface) 응용 프로그램이나 운영 체제, 프로그래밍 언어를 사용할 수 있도록 제공된 인터페이스 • SDK(Software Development Kit) 개발 도구의 집합
  • 13.
    사실… • 카카오톡 API도있습니다. https://developers.kakao.com/ • 페이스북도요 https://developers.facebook.com/ • 이걸로 ‘공유하기’하면 한 일주일은 필요할거 같아서 생략…
  • 14.
    그래도 뭔가 하나써봅시다! • 다음 지도 API를 써봅시다. • +build.gradle에 Http 통신 라이브러리를 추가해봅시다.(복붙) http://projects.spring.io/spring-android/ • 꼭 Gradle Sync 해주세요!(우측 상단에 나옴)
  • 15.
    현재 위치(GPS값으로 주변정보를 검색) • LocationManager를 사용 • Geocoder와 다음 지도 api 결과를 비교
  • 16.
    내일 해커톤은…. • 밤샐준비하시고 • 식사는 제공하니 멘탈만 챙기시고 • 늦어도 됩니다 일단 오시면 됩니다. • 잘 몰라도 괜찮습니다. • 어차피 평가는 여러분 서로가 합니다. • 시간은 다음과 같습니다. • 그럼 내일 저녁 6시에 봅시다~!