Eclipse에서 앱 개발을 하다 최근 Android Studio로 넘어오려고 준비중인데 이런 저런 에러들을 만나고 있습니다. 작은 회사에서 혼자 앱개발을하다보니 사수도 없고 물어볼곳도 마땅치 않아 언제나 맨땅에 헤딩하면서 하나씩 정리해가네요.
기존 Eclipse 프로젝트를 Android Studio에서 불려들여서 사용하는 부분에는 계속 문제가 발생하고 있어서 Android Studio에서 새로운 프로젝트를 생성해서 카카오톡 SDK를 사용하는 것에 대해 간단하게 설명하려고 합니다.
이 내용은 카카오톡 SDK중 카카오링크를 이용한것으로 아래 내용을 연습해보시면 카카오톡 Dev 가이드를 참고해 카카오톡의 다른 SDK 사용에도 무리가 없을거라 생각합니다. 아래 내용만 수정하여 예제 앱이 실행되면 바로 카카오톡이 열리면서 친구 선택 화면이 나오고 친구를 선택하면 그 친구에게 소스에서 지정한 제목,이미지,앱바로열기 링크가 전송됩니다.
-
새로운 프로젝트 생성
-
/build.gradle 에 추가
allprojects {
repositories {
jcenter()
mavenCentral()
maven { url ‘http://devrepo.kakao.com:8088/nexus/content/groups/public/’ }
}
} -
/gradle.properties 에 추가
KAKAO_SDK_GROUP=com.kakao.sdk
KAKAO_SDK_VERSION=1.0.40 -
/app/build.gradle 에 추가(개발하시는 앱이름에 따라 /app 경로가 다를수있습니다.)
dependencies {
compile fileTree(dir: ‘libs’, include: [’*.jar’])
compile group: project.KAKAO_SDK_GROUP, name: ‘kakaolink’, version: project.KAKAO_SDK_VERSION
} -
/app/AndroidManifest.xml 에 추가 ( application 선언부 안쪽 끝에 추가)
meta-data android:name=“com.kakao.sdk.AppKey” android:value=“xxxxxxxxxxxxxxxxxxxxxxxxx(부여받은 앱키)”
meta-data 앞에 <와 (부여받은 앱키)" 뒤에 />가 붙어야 합니다. 편집기에서 제대로 보여지지가 않네요.
6 . /app/src/…/myapplication/MyActivity.java (실제 앱의 메인 액티비티 소스 파일)
package com.example.chan.myapplication;
import android.app.Activity;
import android.os.Bundle;
import com.kakao.AppActionBuilder;
import com.kakao.AppActionInfoBuilder;
import com.kakao.KakaoLink;
import com.kakao.KakaoParameterException;
import com.kakao.KakaoTalkLinkMessageBuilder;
public class MyActivity extends Activity {
private KakaoLink kakaoLink;
private KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
try {
kakaoLink = KakaoLink.getKakaoLink(getApplicationContext());
kakaoTalkLinkMessageBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder();
} catch (Exception e) {
e.printStackTrace();
}
try {
kakaoTalkLinkMessageBuilder.addText("카톡 링크 제목");
kakaoTalkLinkMessageBuilder.addImage("http://dn.api1.kage.kakao.co.kr/14/dn/btqaWmFftyx/tBbQPH764Maw2R6IBhXd6K/o.jpg", 300, 200);
kakaoTalkLinkMessageBuilder.addAppLink("앱으로 바로가기",
new AppActionBuilder()
.addActionInfo(AppActionInfoBuilder.createAndroidActionInfoBuilder().setExecuteParam("bo_table=test&wr_id=11").setMarketParam("referrer=kakaotalklink").build())
.addActionInfo(AppActionInfoBuilder.createiOSActionInfoBuilder(AppActionBuilder.DEVICE_TYPE.PHONE).setExecuteParam("execparamkey1=1111").build()).build()
);
kakaoLink.sendMessage(kakaoTalkLinkMessageBuilder.build(), this);
} catch (KakaoParameterException e) {
e.printStackTrace();
}
}
}