일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 언어의 온도
- 캘리그라피
- MST
- 영어회화 100일의 기적
- 인간이 그리는 무늬
- 외판원 순회
- yolo
- 다음 지도 api
- upper_bound
- 안드로이드 스튜디오
- boj
- lower_bound
- 성화봉송주자
- 그리디 알고리즘
- 비트마스크
- Segment Tree
- BOJ 2098
- 위상정렬
- 생활코딩
- 삼성 코딩테스트
- multiset
- 다이나믹 프로그래밍
- 평창동계올림픽
- 이분탐색
- BFS
- 창훈쓰다
- 성화봉송
- 백트레킹
- 다음 API
- DP
- Today
- Total
Hoon222y
Android App For Mac 제작 (10) - 안드로이드에서 카카오톡 공유하기 본문
원하는 결과를 얻게되면 그 결과를 여러 사람에게 알려야 할 필요가 있다. 따라서 가장 대중적으로 사용되는 카카오톡 공유기능을 통하여 결과를 알리는 기능을 구현해 보도록 하겠다. 하기전에 가장 기본적으로 필요한것은 https://developers.kakao.com 에서 앱을 만들고 키를 가지고 있어야 한다는 것이다. 혹시 그 과정을 모른다면 http://hoon222y.tistory.com/270 를 참고하면 잘 설명이 되어있다.
일단 네이티브 키, 혹은 Rest Key를 알고있다는 가정하에 진행하도록 하겠다.
첫번째는 Project의 build.gradle 에서 해당 코드를 추가하는 것이다.
1 2 3 4 5 6 7 8 | allprojects { repositories { jcenter() //카카오톡 공유를 위한 2줄 mavenCentral() maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' } } } | cs |
원래는 5,6번째 줄을 제외하고는 코드가 존재하는데 5,6번째 코드만 추가로 작성을 해주면 1단계는 완성. 해당 코드를 작성한 후에 Sysc를 해주자. 두번째는 gradle.properties에 해당 코드를 작성한다.
1 | KAKAO_SDK_VERSION = 1.1.7 | cs |
세번째는 Module의 build.gradle 의 dependency에 해당 코드를 작성한다.
1 2 3 4 5 6 7 8 9 10 11 | dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:23.1.1' compile files('libs/libDaumMapAndroid.jar') compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:design:23.4.0' //바로 이코드! 카카오톡 연동용 compile group: 'com.kakao.sdk', name: 'kakaolink', version: project.KAKAO_SDK_VERSION } | cs |
바로 10번째 줄의 코드를 작성하면 된다. 네번째는 value 폴더에 kakao_schema.xml dmf 을 만들고 해당 코드를 작성한다. ㅁ자리에는 자신의 key를 넣으면 된다.
1 2 3 4 5 6 | <?xml version="1.0" encoding="utf-8"?> <resources> <string name="kakao_app_key">ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ</string> <string name="kakao_scheme">kakaoㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ</string> <string name="kakaolink_host">kakaolink</string> </resources> | cs |
다섯번째는 manifest 에 등록을 한다. 이때 주의할 점은 아래 적도록 하겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <activity android:name=".demos.MapViewDemoActivity" android:label="@string/map_view_demo_title"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="@string/kakao_scheme" android:host="@string/kakaolink_host"/> </intent-filter> </activity> <activity android:name=".demos.KakaoLinkActivity" android:theme="@style/Theme.AppCompat"/> | cs |
주의할 점은 바로 이것이다. intent-filter 의 위치를 정확한 위치에 작성해야 한다.
이것으로 마무리를 하고 xml 과 class 를 만들면 사용이 가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="kakao_test" android:onClick="shareKakao"/> </RelativeLayout> | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class KakaoLinkActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedINstanceState){ super.onCreate(savedINstanceState); setContentView(R.layout.kakao_activity); } public void shareKakao(View v){ try{ final KakaoLink kakaoLink = KakaoLink.getKakaoLink(this); final KakaoTalkLinkMessageBuilder kakaoBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder(); kakaoBuilder.addText("kakao link test"); String url = "http://ㅁㅁㅁㅁㅁㅁㅁㅁㅁ 원하는 이미지 url"; kakaoBuilder.addImage(url,1080,1920); kakaoBuilder.addAppButton("앱 실행"); kakaoLink.sendMessage(kakaoBuilder,this); }catch (KakaoParameterException e){ e.printStackTrace(); } } } | cs |
해당 포스팅은 http://blog.naver.com/PostView.nhn?blogId=kittoboy&logNo=220561012996&categoryNo=30&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search 를 참고하여 작성되었습니다.
'개발 > 우리 지금 만나' 카테고리의 다른 글
Android App For Mac 제작 (11) - 우리 지금 만나 (2) | 2017.12.05 |
---|---|
[문제해결] - You need to use a Theme.AppCompat theme (or descendant) with this activity. (0) | 2017.12.05 |
Android App For Mac 제작 (9) - 현재 진행 상황 (0) | 2017.12.02 |
Android App For Mac 제작 (8) - 인트로 화면 만들기 (0) | 2017.12.01 |
Android App For Mac 제작 (7) - Class 간 구조체 리스트 공유 (0) | 2017.12.01 |