Camera360编辑SDK 接入指南(Android)

2 篇文章 0 订阅

1.
简介

简介

这篇文档将指导您使用Android Camera360编辑SDK创建一个简单的Demo工程

Camera360 SDK for ANDROID V1.2.0 下载 (Gradle)

2. 前置条件

在您开始接入之前,请确定下面的条件已经满足:

  • 您需要在官网上注册应用程序(http://sdk.camera360.com)
  • 您需要获取到您的应用程序对应的API Key
  • 确保Android SDK在您的系统中已经正确的完成安装和配置
  • 确保Android Build Tools 19.1.0或以上在您的系统中已经正确的安装

3. 系统要求

使用Android Camera360编辑SDK需满足下面的系统要求:

  • 支持Android 4.0+ (API Level 14, minSdkVersion=14)
  • 编译时需使用Android 4.4 (API Level 19, targetSdkVersion=19)

4. 工程环境配置

4.1 使用Android Studio

1、在App工程中,在Android Studio菜单栏选择File->New Module:

3. 系统要求

使用Android Camera360编辑SDK需满足下面的系统要求:

  • 支持Android 4.0+ (API Level 14, minSdkVersion=14)
  • 编译时需使用Android 4.4 (API Level 19, targetSdkVersion=19)

4. 工程环境配置

4.1 使用Android Studio

1、在App工程中,在Android Studio菜单栏选择File->New Module:

2、选择Importing Existing Project,并点击Next:

3、在界面中选择PG_Edit_SDK工程路径,点击Next:

4、在窗口中点击Finish:

5、此时模块已完成导入,接下来需要建立App工程与SDK工程之间的依赖,在App工程点击右键选择Open Module Settings:

6、在窗口中左侧列表选择App工程模块,右侧Tab选择Dependency标签栏,点击下方+号选择Module Dependency:

7、在弹出窗口中选择PG_Edit_SDK模块并点击OK:

8、这时在Dependencies窗口中应该能看见PG_Edit_SDK模块,点击OK完成工程导入:

4.2 使用Eclipse

1、在App工程中,在Package Explore中右键->选择Import

2、在弹出的Import窗口中选择:Existing Android Code Into Workspace,点击Next

3、在右侧点击Browse,选择下载的SDK代码路径,并点击确定,此时下方Projects列表会显示PG_Edit_SDK工程,接下来点击Finish

4、此时在左侧Package Explore中能看见刚导入的PG_Edit_SDK工程,下面需要建立App与SDK工程的依赖关系,在App工程点击右键选择Properties:

5、在窗口左边选择列表中选择Android,点击右侧Add按钮:

6、在窗口中选择PG_Edit_SDK工程,点击OK:

7、此时在窗口Library列表中能看见PG_Edit_SDK工程,点击OK,完成工程导入:

8、将assets目录中的内容拷贝到您的App工程的assets目录下

5. AndroidManifest.xml配置

5.1 添加API Key

在<application>标签内添加meta-data入口:


<meta-data

android:name="EDIT_SDK_KEY"

android:value="您的API Key"/>


将android:value中的内容替换为您的API Key


接下来在<application>标签内添加组件meta-data入口:

<meta-data

android:name="BD_APP_ID"

android:value="ea8d04692735bc1f"/>


<meta-data

android:name="BD_APP_SECRET"

android:value="vCGG9QZ94tcGxTjangCc_b_VuXwmfGd2"/>

5.2 添加权限

Camera360编辑SDK需要添加部分系统权限,请您在<manifest>标签内添加下列入口:

<uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission

android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission

android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission

android:name="android.permission.INTERNET" />

<uses-permission

android:name="android.permission.READ_LOGS" />

<uses-permission

android:name="android.permission.READ_PHONE_STATE" />

<uses-permission

android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

5.3 添加组件

在<application>标签内添加组件入口:


<activity

android:name="us.pinguo.edit.sdk.PGEditActivity"

android:screenOrientation="portrait"

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />


<service

android:name="us.pinguo.bigdata.BDUpService"

android:process=":bdupload">

</service>


<receiver android:name="us.pinguo.bigdata.BDAlarmReceiver">

<intent-filter>

<action android:name="bd_alarm"/>

</intent-filter>

</receiver>

6. 调用Camera360编辑SDK

6.1 初始化SDK

在您的Application onCreate方法中执行下列代码:


PGEditImageLoader.initImageLoader(this);

PGEditSDK.instance().initSDK(this);

6.2 开始编辑

您只需要在您的Activity中执行下面的代码即可:


PGEditSDK.instance().startEdit(this, PGEditActivity.class, inputPath, outputPath);


其中inputPath为输入图片文件的绝对路径,outputPath为输出图片文件的绝对路径

6.3 获取编辑结果

当用户在PGEditActivity中点击了”保存"按钮,您Activity中的onActivityResult方法将被触发,同时会返回resultCode和data,您可以按照下面的代码进行处理:


@Override

protected void onActivityResult(

int requestCode, int resultCode, Intent data) {


super.onActivityResult(requestCode, resultCode, data);


if (requestCode == PGEditSDK.PG_EDIT_SDK_REQUEST_CODE

&& resultCode == Activity.RESULT_OK) {


PGEditResult editResult = PGEditSDK.instance().handleEditResult(data);


// 获取编辑后的缩略图

Bitmap thumbNail = editResult.getThumbNail();


// 获取编辑后的大图路径

String resultPhotoPath = editResult.getReturnPhotoPath();

}


if (requestCode == PGEditSDK.PG_EDIT_SDK_REQUEST_CODE

&& resultCode == PGEditSDK.PG_EDIT_SDK_RESULT_CODE_CANCEL) {

//用户取消编辑

}


if (requestCode == PGEditSDK.PG_EDIT_SDK_REQUEST_CODE

&& resultCode == PGEditSDK.PG_EDIT_SDK_RESULT_CODE_NOT_CHANGED) {

// 照片没有修改

}

}


PGEditResult中会返回编辑结果,其中:

  • Bitmap getThumbNail()接口会返回编辑后的缩略图
  • String getResturnPhotoPath()接口会返回编辑后的大图路径

7. Proguard混淆

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose

-dontshrink
-dontwarn

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.view.View
-keep public class * extends android.os.Parcel
-keep public class * implements android.os.Parcelable,


-keepclasseswithmembernames class * {

native <methods>;

}


-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet);

}


-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet, int);

}


-keepclassmembers class * extends android.app.Activity {

public void *(android.view.View);

}


-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

}


-keep class * implements android.os.Parcelable {

public static final android.os.Parcelable$Creator *;

}


-keep class android.support.v4.**{*;}
-keep class com.pinguo.Camera360Lib.**{*;}
-keep class com.nostra13.universalimageloader.**{*;}

-keep class us.pinguo.androidsdk.*{*;}
-keep class us.pinguo.edit.sdk.core.effect.**{*;}
-keep class us.pinguo.edit.sdk.core.model.PGEftDispInfo{*;}
-keep class us.pinguo.edit.sdk.core.model.PGEftPkgDispInfo{*;}
-keep class us.pinguo.edit.sdk.core.PGEditCoreAPI{*;}
-keep class us.pinguo.edit.sdk.core.IPGEditCallback{*;}

-keep class us.pinguo.edit.sdk.base.PGEditResult{*;}
-keep class us.pinguo.edit.sdk.base.PGEditSDK{*;}

-keep class us.pinguo.edit.sdk.base.controller.PGEditController{*;}
-keep class us.pinguo.edit.sdk.base.utils.ApiHelper{*;}
-keep class us.pinguo.edit.sdk.base.view.IPGEditView{*;}
-keep class us.pinguo.edit.sdk.base.PGEditConstants{*;}
-keep class us.pinguo.edit.sdk.base.bean.PGEditMenuBean$*{*;}

-keep class us.pinguo.edit.sdk.base.view.**{*;}
-keep class us.pinguo.edit.sdk.base.widget.**{*;}

-keep class us.pinguo.edit.sdk.base.PGEditTools{*;}
-keep class us.pinguo.edit.sdk.base.bean.**{*;}

-keep class us.pinguo.common.log.*{*;}
-keep class us.pinguo.common.utils.*{*;}



文档官方网址

sdk官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值