hvb

# 百川電商SDK3.1.1.99接入文檔-Android## Android SDK 集成

#### Gradle接入方式(3.1+ 版本支持)1, 獲得安全圖片(圖片獲取方式見接入準備文檔),并放在/res/drawable目錄下,如果已經(jīng)有安全圖片,需要替換。2, 老用戶升級,請先刪除原來的所有jar & aar依賴,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。3, Gradle配置? ? `在整個項目的gradle基礎配置文件中加入倉庫地址`? ? ```? ? allprojects {? ? ? ? repositories {? ? ? ? ? ? jcenter()? ? ? ? ? ? maven {? ? ? ? ? ? ? ? url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"? ? ? ? ? ? }? ? ? ? }? ? } ```? `在項目module的gradle文件中加入相關(guān)依賴` ```? ? ? ? ? dependencies {? ? ? ? ? ? //fastjson? ? ? ? compile 'com.alibaba:fastjson:1.2.9'? ? ? ? //支付? ? ? ? compile 'com.alibaba.alipay:alipaySingle:20160825@jar'? ? ? ? //登陸? ? ? ? compile 'com.ali.auth.sdk:alibabauth_core:1.1.4@jar'? ? ? ? compile 'com.ali.auth.sdk:alibabauth_ui:1.1.4@aar'? ? ? ? compile 'com.ali.auth.sdk:alibabauth_ext:1.1.4@jar'? ? ? ? //【可選】僅供特殊合作伙伴使用? ? ? ? compile 'com.ali.auth.sdk:alibabauth_accountlink:1.1.4@jar'? ? ? ? //安全基礎? ? ? ? compile 'com.taobao.android:securityguardaar3:5.1.81@aar'? ? ? ? //【可選】安全高級,如使用了發(fā)放紅包、優(yōu)惠券高級功能,則必須引入? ? ? ? compile 'com.taobao.android:securitybodyaar3:5.1.25@aar'? ? ? ? //Mtop網(wǎng)關(guān)? ? ? ? compile 'com.taobao.android:mtopsdk_allinone_open:1.2.2.4@jar'? ? ? ? //applink? ? ? ? compile 'com.alibaba.sdk.android:alibc_link_partner:1.1.0.0'? ? ? ? //UT? ? ? ? compile 'com.taobao.android:utdid4all:1.1.5.3_proguard@jar'? ? ? ? compile 'com.alibaba.mtl:app-monitor-sdk:2.5.1.3_for_bc_proguard@jar'? ? ? ? //電商SDK? ? ? ? compile 'com.alibaba.sdk.android:alibc_trade_common:3.1.1.99'? ? ? ? compile 'com.alibaba.sdk.android:alibc_trade_biz:3.1.1.99'? ? ? ? compile 'com.alibaba.sdk.android:alibc_trade_sdk:3.1.1.99'? ? ? ? ? ? }? ? ? ```? #### Maven接入方式 (3.1+ 版本支持)1, 獲得安全圖片(圖片獲取方式見接入準備文檔),并放在/res/drawable目錄下,如果已經(jīng)有安全圖片,需要替換。2, 老用戶升級,請先刪除原來的所有jar & aar依賴,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。3, pom 配置```com.alibabafastjson1.2.9jarcom.alibaba.alipayalipaySingle20160825jarcom.ali.auth.sdkalibabauth_core1.1.4jarcom.ali.auth.sdkalibabauth_ui1.1.4aarcom.ali.auth.sdkalibabauth_ext1.1.4jar//【可選】僅供特殊合作伙伴使用com.ali.auth.sdkalibabauth_accountlink1.1.4jarcom.taobao.androidsecurityguardaar35.1.81aarcom.taobao.androidsecuritybodyaar35.1.25aarcom.taobao.androidmtopsdk_allinone_open1.2.2.4com.taobao.androidalibc_link_partnerjar1.1.0.0com.taobao.androidutdid4all1.1.5.3_proguardcom.alibaba.mtlapp-monitor-sdk2.5.1.3_for_bc_proguardaarcom.alibaba.sdk.androidalibc_trade_common3.1.1.99aarcom.alibaba.sdk.androidalibc_trade_biz3.1.1.99aarcom.alibaba.sdk.androidalibc_trade_sdk3.1.1.99aar```? #### aar 接入方式1, 獲得安全圖片(圖片獲取方式見接入準備文檔),并放在/res/drawable目錄下,如果已經(jīng)有安全圖片,需要替換。2, 老用戶升級,請先刪除原來的所有jar & aar依賴,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。3, 下載電商SDK Libs,解壓,將電商SDK的aar,jar,導入工程。4, Android Studio用戶,需要配置build.gradle? ? ```? ? repositories {? ? ? ? flatDir {? ? ? ? ? ? dirs 'libs'? ? ? ? }}? ? ? dependencies {? ? ? ? ? ? //fastjson? ? ? ? compile(name: 'fastjson-1.2.9', ext: 'jar')? ? ? ? ? ? //支付? ? ? ? compile(name: 'alipaySingle-20160825', ext: 'jar')? ? ? ? ? ? ? ? //登陸? ? ? ? compile(name: 'alibabauth_core-1.1.4', ext: 'jar')? ? ? ? compile(name: 'alibabauth_ui-1.1.4', ext: 'aar')? ? ? ? compile(name: 'alibabauth_ext-1.1.4', ext: 'jar')? ? ? ? //【可選】僅供特殊合作伙伴使用? ? ? ? compile(name: 'alibabauth_accountlink-1.1.0.5', ext: 'jar')? ? ? ? ? ? ? ? ? ? ? ? //安全基礎? ? ? ? compile(name: 'securityguardaar3-5.1.81', ext: 'aar')? ? ? ? //【可選】安全高級,如使用了發(fā)放紅包、優(yōu)惠券高級功能,則必須引入? ? ? ? compile(name: 'securitybodyaar3-5.1.25', ext: 'aar')? ? ? ? ? ? ? ? //Mtop網(wǎng)關(guān)? ? ? ? compile(name: 'mtopsdk_allinone_open-1.2.2.4', ext: 'jar')? ? ? ? ? ? ? ? //applink? ? ? ? compile(name: 'alibc_link_partner-1.1.0.0', ext: 'jar')? ? ? ? ? ? ? ? //UT? ? ? ? compile(name: 'utdid4all-1.1.5.3_proguard', ext: 'jar')? ? ? ? compile(name: 'app-monitor-sdk-2.5.1.3_for_bc_proguard', ext: 'aar')? ? ? ? ? ? ? ? //電商SDK? ? ? ? compile(name: 'alibc_trade_common-3.1.1.99', ext: 'aar')? ? ? ? compile(name: 'alibc_trade_biz-3.1.1.99', ext: 'aar')? ? ? ? compile(name: 'alibc_trade_sdk-3.1.1.99', ext: 'aar')? ? ? ? ? ? }? ? ? ```#### Proguard 規(guī)則? ```? ? -keepattributes Signature? ? -keep class sun.misc.Unsafe { *; }? ? -keep class com.taobao.** {*;}? ? -keep class com.alibaba.** {*;}? ? -keep class com.alipay.** {*;}? ? -dontwarn com.taobao.**? ? -dontwarn com.alibaba.**? ? -dontwarn com.alipay.**? ? -keep class com.ut.** {*;}? ? -dontwarn com.ut.**? ? -keep class com.ta.** {*;}? ? -dontwarn com.ta.**? ? -keep class org.json.** {*;}? ? -keep class com.ali.auth.**? {*;}? ```

## 快速入門

#### 初始化SDK導入后,即可在代碼中使用百川相關(guān)組件,在使用具體功能前需要在應用的入口方法(Application的onCreate)中初始化百川SDK```? ? public class DemoApplication extends Application {? ? ? ? @Override? ? ? ? public void onCreate() {? ? ? ? ? ? super.onCreate();? ? ? ? ? ? ? ? ? ? AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {? ? ? ? ? ? ? ? @Override? ? ? ? ? ? ? ? public void onSuccess() {? ? ? ? ? ? ? ? ? ? //初始化成功,設置相關(guān)的全局配置參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // ...? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? @Override? ? ? ? ? ? ? ? public void onFailure(int code, String msg) {? ? ? ? ? ? ? ? ? ? //初始化失敗,可以根據(jù)code和msg判斷失敗原因,詳情參見錯誤說明? ? ? ? ? ? ? ? }? ? ? ? ? ? });? ? ? ? }? ? }```

#### 資源銷毀在使用完成后,可以調(diào)用destroy方法,釋放百川相應的資源引用```? ? AlibcTradeSDK.destroy();? ? ```

#### 電商API使用初始化完成后,就可以使用百川提供的功能組件,通過調(diào)用AlibcTrade的show方法,傳入相應的page(page詳情,參考下面API詳細說明),來完成調(diào)用。```? ? //提供給三方傳遞配置參數(shù)? ? MapexParams = new HashMap<>();? ? exParams.put(AlibcConstants.ISV_CODE, "appisvcode");? ? ? ? //商品詳情page? ? AlibcBasePage detailPage = new AlibcDetailPage(itemId);? ? ? ? //實例化店鋪打開page? ? AlibcBasePage shopPage = new AlibcShopPage(shopId);? ? ? ? //實例化添加購物車打開page? ? AlibcBasePage addCardPage = new AlibcAddCartPage(itemId)? ? ? ? //實例化我的訂單打開page? ? AlibcBasePage ordersPage = new AlibcMyOrdersPage(status, allOrder);? ? ? ? //實例化我的購物車打開page? ? AlibcBasePage myCartsPage = new AlibcMyCartsPage();? ? ? ? ? ? //實例化URL打開page? ? AlibcBasePage page = new AlibcPage(taokeUrl);? ? //設置頁面打開方式? ? AlibcShowParams showParams = new AlibcShowParams(OpenType.Native, false);? ? ? ? //使用百川sdk提供默認的Activity打開detail? ? AlibcTrade.show(context, detailPage, showParams, null, exParams ,? ? new AlibcTradeCallback() {? ? ? ? @Override? ? ? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {? ? //打開電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購,支付;支付結(jié)果)? ? ? ? }? ? ? ? ? ? @Override? ? ? ? public void onFailure(int code, String msg) {? ? ? ? ? ? //打開電商組件,用戶操作中錯誤信息回調(diào)。code:錯誤碼;msg:錯誤信息? ? ? ? }? ? });? ? ? ? /使用自己的Activity & webview打開detail? ? AlibcTrade.show(context, webView, webViewClient, webChromeClien, tdetailPage, showParams, null, exParams ,? ? new AlibcTradeCallback() {? ? ? ? @Override? ? ? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {? ? //打開電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購,支付;支付結(jié)果)? ? ? ? }? ? ? ? ? ? @Override? ? ? ? public void onFailure(int code, String msg) {? ? ? ? ? ? //打開電商組件,用戶操作中錯誤信息回調(diào)。code:錯誤碼;msg:錯誤信息? ? ? ? }? ? });```

## API 說明

#### 初始化SDK初始化百川電商相關(guān)組件,該方法異步執(zhí)行,使用百川電商相關(guān)功能前,必須調(diào)用初始化。```? /**? ? * 百川電商SDK初始化【異步】? ? *? ? * @param context 建議設置Application(必填)? ? * @param initResultCallback? 初始化狀態(tài)信息回調(diào)(可以為null)? ? */? AlibcTradeSDK.asyncInit(Context context, AlibcTradeInitCallback initResultCallback)```

#### 調(diào)用電商組件**1. 外部傳入webview方式打開電商組件**[注意]:當傳入webviewClient,并重載shouldOverrideUrlLoading方法時,遇到淘系鏈接情況下(即訪問淘寶、天貓、登錄、購物車等頁面時),該方法返回值要為false,否則可能會出現(xiàn)業(yè)務流程錯誤問題。```? ? /**? ? * 打開電商組件,支持使用外部webview? ? *? ? * @param activity? ? ? ? ? ? 必填? ? * @param webView? ? ? ? ? ? ? 外部 webView? ? * @param webViewClient? ? ? ? webview的webViewClient? ? * @param webChromeClient? ? ? webChromeClient客戶端? ? * @param tradePage? ? ? ? ? ? 頁面類型,必填,不可為null,詳情見下面tradePage類型介紹? ? * @param showParams? ? ? ? ? show參數(shù)? ? * @param taokeParams? ? ? ? ? 淘客參數(shù)? ? * @param trackParam? ? ? ? ? yhhpass參數(shù)? ? * @param tradeProcessCallback 交易流程的回調(diào),必填,不允許為null;? ? * @return 0標識跳轉(zhuǎn)到手淘打開了,1標識用h5打開,-1標識出錯? ? */? ? ? AlibcTrade.show(activity, webView, webViewClient, webChromeClient, tradePage, showParams, taokeParams, trackParam, new AlibcTradeCallback() {? ? ? ? @Override? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {? ? //打開電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購,支付;支付結(jié)果)? ? }? ? @Override? ? public void onFailure(int code, String msg) {? ? ? ? //打開電商組件,用戶操作中錯誤信息回調(diào)。code:錯誤碼;msg:錯誤信息? ? }});```

**2. 提供默認的webview打開電商組件**```? /**? ? * 打開電商組件, 使用默認的webview打開? ? *? ? * @param activity? ? ? ? ? ? 必填? ? * @param tradePage? ? ? ? ? ? 頁面類型,必填,不可為null,詳情見下面tradePage類型介紹? ? * @param showParams? ? ? ? ? show參數(shù)? ? * @param taokeParams? ? ? ? ? 淘客參數(shù)? ? * @param trackParam? ? ? ? ? yhhpass參數(shù)? ? * @param tradeProcessCallback 交易流程的回調(diào),必填,不允許為null;? ? * @return 0標識跳轉(zhuǎn)到手淘打開了,1標識用h5打開,-1標識出錯? ? */? ? AlibcTrade.show(activity, tradePage, showParams, taokeParams, trackParam, new AlibcTradeCallback() {? ? ? ? @Override? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {? ? //打開電商組件,用戶操作中成功信息回調(diào)。tradeResult:成功信息(結(jié)果類型:加購,支付;支付結(jié)果)? ? }? ? @Override? ? public void onFailure(int code, String msg) {? ? ? ? //打開電商組件,用戶操作中錯誤信息回調(diào)。code:錯誤碼;msg:錯誤信息? ? }});```

#### Page類型

**詳情**```? ? /**? ? * 功能說明:商品詳情頁面? ? */? ? public class AlibcDetailPage {? ? ? ? ? ? ? /**? ? ? ? * 商品詳情頁? ? ? ? * @param itemId 支持itemId和openItemId的商品,必填,不允許為null;? ? ? ? *? ? ? ? ? ? ? eg.37196464781L;AAHd5d-HAAeGwJedwSnHktBI;? ? ? ? */? ? ? public AlibcDetailPage(String itemId)? ? }```

**店鋪**```? ? /**? ? * 功能說明:店鋪頁面? ? */? ? public class AlibcShopPage {? ? ? /**? ? ? ? * 店鋪頁面? ? ? ? * @param shopId 店鋪id,支持明文id? ? ? ? */? ? ? public AlibcShopPage(String shopId)? ? }```

**加購物車**```? ? /**? ? * 功能說明:加購頁面? ? */? ? public class AlibcAddCartPage {? ? ? /**? ? ? ? * 加入購物車頁面? ? ? ? * @param itemId 支持itemId和openItemId的商品,必填,不允許為null;? ? ? ? *? ? ? ? ? ? ? eg.37196464781L;AAHd5d-HAAeGwJedwSnHktBI;? ? ? ? */? ? ? public AlibcAddCartPage(String itemId)? ? }```

**我的訂單**```? ? /**? ? * 功能說明:我的訂單頁面? ? */? ? public class AlibcMyOrdersPage {? ? ? /**? ? ? ? * 我的訂單頁面? ? ? ? *? ? ? ? * @param status? 默認跳轉(zhuǎn)頁面;填寫:0:全部;1:待付款;2:待發(fā)貨;3:待收貨;4:待評價? ? ? ? * @param allOrder false 進行訂單分域(只展示通過當前app下單的訂單),true 顯示所有訂單? ? ? ? */? ? ? public AlibcMyOrdersPage(int status, boolean allOrder)? ? }```

**我的購物車**```? ? /**? ? * 功能說明:我的購物車頁面? ? */? ? public class AlibcMyCartsPage {? ? ? /**? ? ? ? * 購物車頁? ? ? ? */? ? ? public AlibcMyCartsPage()? ? }```

**url打開頁面**```? ? /**? ? * 功能說明:url展示頁面? ? */? ? public class AlibcPage {? ? ? /**? ? ? ? * url展示頁面? ? ? ? * @param url 要展示的url? ? ? ? */? ? ? public AlibcPage(String url)? ? }```

#### 釋放電商SDK相關(guān)資源```? /**? ? * 銷毀電商SDK相關(guān)資源引用,防止內(nèi)存泄露? ? */? AlibcTradeSDK.destory()```

#### 設置SDK API調(diào)用默認方式```? /**? ? * 是否走強制H5的邏輯。false:按照默認規(guī)則策略打開頁面;true:全部頁面均為H5打開;? ? * 注意:初始化完成后調(diào)用才能生效? ? *? ? * @param isforceH5 (默認為false)? ? * @return 返回打開策略是否設置成功? ? */? AlibcTradeSDK.setForceH5(boolean isforceH5)```

#### 設置SDK 淘客打點策略 ```? /**? ? * 設置是否使用同步淘客打點。true:使用淘客同步打點;false:關(guān)閉同步打點,使用異步打點;? ? * 注意:初始化完成后調(diào)用才能生效;在加購場景下,只有異步淘客打點? ? *? ? * @param isSyncForTaoke(默認為true)? ? * @return 返回同步淘客打點策略是否設置成功? ? */? AlibcTradeSDK.setSyncForTaoke(boolean isSyncForTaoke)```

#### 設置淘客全局參數(shù)```? /**? ? * 設置全局淘客參數(shù),方便開發(fā)者用同一個淘客參數(shù),不需要在show接口重復傳入? ? * 注意:初始化完成后調(diào)用才能生效? ? *? ? * @param taokeParams 淘客參數(shù)? ? */? AlibcTradeSDK.setTaokeParams(AlibcTaokeParams taokeParams) ```

#### 設置渠道信息```? /**? ? * 設置渠道信息(如果有渠道專享價,需要設置)? ? * 注意:初始化完成后調(diào)用才能生效? ? *? ? * @param typeName? ? : 渠道類型(默認為:0)? ? * @param channelName : 渠道名稱(默認為:null)? ? */? AlibcTradeSDK.setChannel(String typeName, String channelName)```

#### 設置ISV code```? /**? ? * 設置isvCode? ? * 注意:初始化完成后調(diào)用才能生效? ? *? ? * @param isvCode? ? * @return 返回isv code是否設置成功? ? */? AlibcTradeSDK.setISVCode(String isvCode)```

#### 設置ISV 版本```? /**? ? * 設置isv的版本 ,通常為三方app版本,可以不進行設置;默認1.0.0? ? * 注意:初始化完成后調(diào)用才能生效? ? *? ? * @param isvVersion? ? * @return 返回isv version是否設置成功? ? */? AlibcTradeSDK.setISVVersion(String isvVersion)```

## 3.1版本主要變化

#### 主要接口變化`1. 初始化用戶不用再傳入app key``2. 使用電商SDK,打開detail,shop等功能,接口調(diào)用方式升級````//3.0方式IAliTradeService aliTradeService = AliTradeSDK.getService(IAliTradeService.class);aliTradeService.show(this,tradeBasePage, showParams,null, exParams, new AliTradeProcessCallback() {? ? @Override? ? ? ? public void onTradeSuccess(AliTradeResult tradeResult) {}? ? @Override? ? public void onFailure(int code, String msg) {}}); //3.1方式AlibcTrade.show(this,tradeBasePage, showParams,null, exParams, new AlibcTradeCallback() {? ? @Overridesult? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {}? ? @Override? ? public void onFailure(int code, String msg) {}});```#### 主要類改名一覽| SDK 3.0 | SDK 3.1 | |:-----------|:------------|| AliTradeSDK | AlibcTradeSDK |? ? ? ? ? | AliTradeService | AlibcTrade |? ? ? ? | AliTradeShowParams | AlibcShowParams |? ? ? ? ? | AliTradeTaokeParams | AlibcTaokeParams |? ? ? ? ? ? | AliTradePage | AlibcPage | | AliTradeDetailPage | AlibcDetailPage || AliTradeShopPage | AlibcShopPage || AliTradeMyOrdersPage | AlibcMyOrdersPage || AliTradeAddCartPage | AlibcAddCartPage || AliTradeMyCartsPage | AlibcMyCartsPage || SDK 3.1 | SDK 3.1.1.99 | |:-----------|:------------|| TradeResult | AlibcTradeResult |? ? ? ? ? | ResultType | AlibcResultType |? ? ? ? | AlibcConfig | AlibcConfigService |? ? ? ? ? | TBAppLinkUtil | ALPLinkKeyType(TMALL_SCHEME 變更為 TMALL ,TAOBAO_SCHEME 變更為 TAOBAO) |? ? ? ? ? ? | AlibcContext.Environment | 包名變更 com.alibaba.baichuan.trade.common.Environment | | AlibcTaokeParams | 包名變更 com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams || AlibcLogin | 包名變更 com.alibaba.baichuan.trade.biz.login.AlibcLogin || AlibcLoginCallback | 包名變更 com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback || AlibcLoginCallback | 包名變更 com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback |#### 3.1升級到3.1.1.99版本主要變更AlibcTradeSDK拆分為三部分,AlibcTradeCommon,AlibcTradeBiz,AlibcTradeSDK;AlibcApplink升級為AlibcLinkPartner;優(yōu)化淘客流程;優(yōu)化WebView代理方式;優(yōu)化百川模塊耦合;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,618評論 19 139
  • (絕對原創(chuàng),轉(zhuǎn)載請大家注明下出處) 最近集成了阿里百川的sdk 版本號“電商SDK-3.1.1.206,百川后臺更...
    alphet閱讀 4,109評論 0 3
  • 框架:提供一定能力的小段程序 http://www.cnblogs.com/jincheng-yangchaofa...
    姑娘請別為難小僧閱讀 7,964評論 0 132
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,153評論 25 708
  • 通覽全部UI,先統(tǒng)一對基礎控件進行自定義,不要一出來UI就悶頭開干,這樣可能寫出來多個功能重復的自定義控件. 文件...
    蕭旭閱讀 287評論 0 0

友情鏈接更多精彩內(nèi)容