这篇文档将指导您使用Android Camera360编辑SDK创建一个简单的Demo工程
Camera360 SDK for ANDROID V1.2.0 下载 (Gradle)
在您开始接入之前,请确定下面的条件已经满足:
使用Android Camera360编辑SDK需满足下面的系统要求:
1、在App工程中,在Android Studio菜单栏选择File->New Module:
使用Android Camera360编辑SDK需满足下面的系统要求:
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完成工程导入:
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目录下
在
android:name="EDIT_SDK_KEY" android:value="您的API Key"/> 将android:value中的内容替换为您的API Key 接下来在 android:name="BD_APP_ID" android:value="ea8d04692735bc1f"/> android:name="BD_APP_SECRET" android:value="vCGG9QZ94tcGxTjangCc_b_VuXwmfGd2"/> Camera360编辑SDK需要添加部分系统权限,请您在 android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> android:name="android.permission.ACCESS_WIFI_STATE" /> android:name="android.permission.ACCESS_NETWORK_STATE" /> android:name="android.permission.INTERNET" /> android:name="android.permission.READ_LOGS" /> android:name="android.permission.READ_PHONE_STATE" /> android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 在 android:name="us.pinguo.edit.sdk.PGEditActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> android:name="us.pinguo.bigdata.BDUpService" android:process=":bdupload"> 在您的Application onCreate方法中执行下列代码: PGEditImageLoader.initImageLoader(this); PGEditSDK.instance().initSDK(this); 您只需要在您的Activity中执行下面的代码即可: PGEditSDK.instance().startEdit(this, PGEditActivity.class, inputPath, outputPath); 其中inputPath为输入图片文件的绝对路径,outputPath为输出图片文件的绝对路径 当用户在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中会返回编辑结果,其中: -optimizationpasses 5 -keepclasseswithmembernames class * { native } -keepclasseswithmembers class * { public } -keepclasseswithmembers class * { public } -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 *; } 文档官方网址 sdk官网
5.2 添加权限
5.3 添加组件
6. 调用Camera360编辑SDK
6.1 初始化SDK
6.2 开始编辑
6.3 获取编辑结果
7. Proguard混淆
-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,
-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.*{*;}