Android ShareSDK 빠 른 공유 기능 구현

STEP 1:ShareSDK 가 져 오기
ShareSDK 를 통합 하기 위해 서 는 먼저 ShareSDK 공식 사이트 에 등록 하고 응용 프로그램 을 만들어 ShareSDK 의 Appkey 를 얻 은 다음 SDK 다운로드 페이지 에 SDK 압축 패 키 지 를 다운로드 해 야 합 니 다.압축 을 풀 면 다음 그림 과 같은 디 렉 터 리 구 조 를 얻 을 수 있 습 니 다.
ShareSDK 는'ShareSDK for Android'디 렉 터 리 아래,이 디 렉 터 리 의'Libs'에는'MainLibs'와'OnekeyShare'가 각각 ShareSDK 의 핵심 라 이브 러 리 와'단축 공유'의 소스 라 이브 러 리 로 포 함 돼 있 으 며,설명 문서 도'ShareSDK for Android'디 렉 터 리 아래 에 있어 ShareSDK 를 통합 하기 전에 반드시 자세히 읽 어 주 십시오."ShareSDK for Android ApiDoc'은 개발 자가 개발 할 때 찾 아 볼 수 있 도록 Mainlibs 와 OnekeyShare 를 포함 하 는 JavaDoc 입 니 다.'ShareSDK for Android Sample'은 ShareSDK 의 기능 데모 코드 와 apk 파일 을 포함 하고 있 으 며,Sample 소스 코드 의 자바 독 이 있 습 니 다.'ShareSDK for Android Services 는 ShareSDK 가 발표 한'플러그 인 서비스'를 포함 하고 있 습 니 다.잠시 저 희 는'댓 글 과 좋아요'서비스 만 제 공 했 습 니 다.압축 패키지 에는 이 플러그 인 서비스의 의존 라 이브 러 리,예제 코드,자바 Doc 과 apk 파일 이 제공 되 었 습 니 다.
두 번 째 단계:ShareSDK 가 져 오기
ShareSDK 통합 방식:
1.jar 패 키 지 를 대상 항목 libs 디 렉 터 리 에 직접 복사 합 니 다.
jar 와 자원 을 직접 복사 하 는 방식 으로 ShareSDK 의 Sample 항목 을 참고 할 수 있 습 니 다.jar 를 복사 하 는 방법 을 사용 하려 면 MainLibs/libs 의 jar 를 복사 하 는 것 외 에 MainLibs/res 의 그림 과 strings 를 복사 해 야 합 니 다.그렇지 않 으 면 권한 을 수 여 받 을 때 자원 을 찾 을 수 없 는 문제 가 발생 할 수 있 습 니 다.또한 프로젝트 에 도 빠 른 공유 가 통합 되 어 있다 면 OneKeyShare/src 의 소스 코드,OneKeyShare/res 의 자원 을 복사 해 야 합 니 다.프로젝트 에 android-support-v4 의 jar 가 없다 면 OneKeyShare/libs 의 android-support-v4 의 jar 를 프로젝트 에 넣 어야 합 니 다.
2.빠 른 프로젝트 생 성

jar 패키지 와 자원 을 직접 복사 하 는 통합 방식 이 번 거 롭 기 때문에 ShareSDK 는 빠 른 통합 프로그램 을 제공 합 니 다.Windows 에서 직접 두 번 눌 러 서 실행 할 수 있 습 니 다.완료 되면 대상 디 렉 터 리 에 있 는 파일 을 복사 해서 프로젝트 에 덮어 쓰 면 됩 니 다.'jar 와 자원 직접 복제'라 는 통합 방식 의 조작 절 차 를 크게 간소화 했다.당신 의 프로젝트 가 방금 개발 되 었 거나 데모 테스트 ShareSDK 기능 을 쓰 려 고 하 는 것 에 대해 서 는 이러한 방법 으로 빠르게 통합 할 수 있 습 니 다.
STEP 3:응용 정보 추가
세 가지 방법 이 있어 요.
첫 번 째:ShareSdk 의 응용 관리 배경 에서 설정 합 니 다.이 방법 을 사용 하려 면 ShareSdk.initSDK(context,sharesdk 등록 시 되 돌아 오 는 AppKey)방법 을 초기 화해 야 합 니 다.나중에 등록 정 보 를 변경 하면 새 버 전 을 다시 발표 하지 않 고 인터넷 에서 직접 변경 할 수 있 습 니 다.(우선 순위 가 가장 높다.
두 번 째:코드 설정 을 통 해"setPlatformDevInfo(String,HashMap)"방법 을 설정 합 니 다.이 방법 을 사용 하려 면 ShareSDK.init(context,sharesdk 등록 시 되 돌아 오 는 AppKey)방법 을 사용 하여 초기 화 해 야 합 니 다.(우선 순위 중).
세 번 째:"assets/ShareSDK.xml"파일 을 통 해 설정 합 니 다.다음 방식 은 명문 으로 존재 하지만 이런 방식 이 가장 간단 합 니 다.(우선 순위 가 낮다.
이 세 가지 방식 은 개발 자가 스스로 선택 할 수 있 지만 이 세 가지 설정 방식 은 각각 차이 가 있다.첫 번 째 방식 은'동적 설정 응용 정보'의 기능 을 실현 할 수 있 지만 네트워크 에서 벗 어 나 면 ShareSDK 가 작 동 하지 않 을 수 있다.세 번 째 방식 은 우선 순위 가 가장 낮은 방식 이지 만 가장 편리 하고 집중 적 이다.마지막 으로 코드 설정 방식 을 사용 하 는 것 이 가장 유연 한 방식 이다.두 번 째 방식 은 개발 자가 코드 에 죽은 응용 정 보 를 쓸 수도 있 고 개인 프로 토 콜 을 통 해 자신의 서버 에서 동적 으로 응용 등록 정 보 를 얻 을 수도 있다.그 우선 순 위 는 첫 번 째 와 두 번 째 사이 에 있다.ShareSDK.xml 를 사용 하여 등록 정 보 를 설정 합 니 다.

<ShareSDK AppKey="    ShareSDK     AppKey" />
<SinaWeibo 
SortId="             ,  ,       " 
AppKey="             AppKey" 
AppSecret="             AppSecret" 
Id="     ,  ,              " 
RedirectUrl="            RedirectUrl" 
ShareByAppClient="           " 
Enable="   ,         " /> 
ShareSDK.xml 는 XML 형식 으로 데 이 터 를 저장 합 니 다.모든 플랫폼 에 하나의 블록 이 있 습 니 다.소 셜 플랫폼 을 제외 하고 개발 자가 ShareSDK 에서 응용 프로그램 을 등록 할 때 얻 은 Appkey 는 블록'ShareSDK'에 작성 해 야 합 니 다.이 Appkey 가 개발 자의 Appkey 가 아니라면 앞으로 ShareSDK 응용 배경 에서 의 통계 데 이 터 는 정확 하지 않 을 것 입 니 다.ShareSDK 의 모든 플랫폼 은 SortId,Id,Enable 네 개의 필드 를 갖 추고 있 습 니 다.이 를 제외 한 필드(예 를 들 어 시 나 웨 이 보 의 AppKey,AppSecret,RedirectUrl,ShareByAppClient 등 필드)는 대상 플랫폼 에 응용 프로그램 을 등록 한 후에 받 아야 합 니 다.이 필드 의 데 이 터 를 정확하게 작성 하 십시오.그렇지 않 으 면 ShareSDK 가 권한 수 여 를 완성 하지 못 하면 후속 적 인 다른 작업 도 수행 할 수 없습니다.
코드 설정 등록 정보 예제(시 나 웨 이 보 설정 정보 초기 화 시연)각 공유 플랫폼 이 설정 할 수 있 는 설정 정보 가 다 르 기 때문에 구체 적 인 공유 플랫폼 에서 어떤 설정 정 보 를 설정 해 야 하 는 지 샘플 의 ShareSDK.xml 설정 파일 을 참고 하 십시오.

ShareSDK.initSDK(Context,"     Sharesdk      AppKey"); 
HashMap<String,Object> hashMap = new HashMap<String, Object>(); 
hashMap.put("Id","1"); 
hashMap.put("SortId","1"); 
hashMap.put("AppKey","568898243"); 
hashMap.put("AppSecret","38a4f8204cc784f81f9f0daaf31e02e3"); 
hashMap.put("RedirectUrl","http://www.sharesdk.cn"); 
hashMap.put("ShareByAppClient","true"); 
hashMap.put("Enable","true"); 
ShareSDK.setPlatformDevInfo(SinaWeibo.NAME,hashMap); 
방법 은 Sharesdk.initSDK()방법 후 호출 되 어야 하 며,ShareSDK.stopsdk()를 호출 하면 ShareSDK.initSDK 후 ShareSDK.setPlatformDevInfo()방법 을 다시 호출 해 야 합 니 다.응용 정보의 서로 다른 필드 에 대한 상세 한 설명 은 ShareSDK.xml 파일 의 머리 부분 에 대한 설명 을 참고 할 수 있 습 니 다.
4 단계:Android Manifest.xml 설정
서로 다른 집성 도 는 AndroidManifest.xml 에 추가 해 야 하 는 내용 이 다 릅 니 다.하지만 우선 아래 권한 목록 을 추가 해 야 합 니 다:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.INTERNET"/> 
이 권한 들 은 프로젝트 와 ShareSDK 가 현재 응용 프로그램의'사전 설정'여 부 를 판단 하고 네트워크 에 연결 할 수 있 는 권한 을 가 져 오 며 장치 네트워크 상태의 권한 을 가 져 오 며 https 보안 연결 권한 을 실현 하고 핸드폰 장치 상 태 를 읽 을 수 있 는 권한 과 필요 한 설정 을 저장 할 수 있 는 권한 을 제공 합 니 다.일반적으로 ShareSDK 를 통합 하지 않 아 도 대부분의 프로젝트 가 이러한 권한 을 등록 해 신청 합 니 다.
그 다음으로 권한 수여 작업 이 순조롭게 완 료 될 수 있 도록 application 에서 아래 의 Activity 를 등록 해 야 합 니 다.

<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" /> 
프로젝트 집합 위 챗 이나 위 챗 친구 권 이 있다 면 AndroidManifest.xml 프로필 에 있 는 package 경 로 를 보십시오.package 디 렉 터 리 에 wxapi 디 렉 터 리 를 만 들 고 WXEntry Activity 를 설치 해 야 합 니 다.이 activity 가 없 으 면 위 챗 공유 후 리 셋 하면 이 activity 가 있 는 지 확인 하고 오류 가 발생 하지 않 습 니 다.

<activity 
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" 
android:configChanges="keyboardHidden|orientation|screenSize" 
android:exported="true" 
android:screenOrientation="portrait" /> 
프로젝트 집합 이 신뢰 할 수 있 는 두 플랫폼 이 있다 면 AndroidManifest.xml 설정 파일 의 package 경 로 를 보 려 면 package 디 렉 터 리 에 yxapi 디 렉 터 리 를 만들어 서 리 셋 Activity 를 설치 해 야 합 니 다.

<activity 
android:name=".yxapi.YXEntryActivity" 
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize" 
android:exported="true" 
android:screenOrientation="portrait" /> 
클 라 이언 트 의 조작 리 셋 때문에 ShareSDK 에서 도 리 셋 을 할 수 없습니다.오 류 를 피하 기 위해 서 는 상대 적 인 경 로 를 사용 하여 위의 코드 를 AndroidManifest.xml 에 직접 복사 하면 됩 니 다.
STEP 5:코드 추가
프로젝트 의 입구 Activity 를 열 고 onCreate 에 다음 코드 를 삽입 합 니 다.ShareSDK.xml 방식 으로 호출 을 설정 하면
ShareSDK.initSDK(this);
코드 설정 을 사용 하여 등록 정 보 를 사용 하거나 배경 설정 을 사용 하여 등록 정 보 를 호출 합 니 다.
ShareSDK.initSDK(this,”androidv1101″);
androidv 1101:ShareSDK 에서 응용 프로그램 정 보 를 등록 할 때 되 돌아 오 는 AppKey 입 니 다.코드 는 ShareSDK 를 초기 화하 고 이후 ShareSDK 에 대한 조작 은 모두 이 를 바탕 으로 한다.모든 ShareSDK 가 작 동 하기 전에 이 코드 를 호출 하지 않 으 면 빈 포인터 가 이상 하 게 표 시 됩 니 다.
효과 그림:

좋은 웹페이지 즐겨찾기