1. 程式人生 > >Android多渠道整合多個功能邏輯實現的方法

Android多渠道整合多個功能邏輯實現的方法

以自動更新功能為例,360、百度都要求整合各自的更新sdk,如何用同一套程式碼去解決。

1、建立兩個module,分佈將百度、360的sdk放進去。

2、在兩個module下建立一個相同包名、類名的類

圖片描述

3、在同名類下實現同名方法,方法內實現各自邏輯。

第一個實現百度的邏輯 
圖片描述 
另一個同名類實現360的邏輯 
圖片描述

現在兩個module都封裝好了相同的類跟方法,下一步就是根據渠道去打包呼叫不同的module了

4、在.gradle里根據不同渠道整合不同的module

import java.util.regex.Matcher
import java.util.regex.Pattern

def 
String getCurrentFlavor() { Gradle gradle = getGradle() String tskReqStr = gradle.getStartParameter().getTaskRequests().toString() Pattern pattern; if (tskReqStr.contains("assemble")) pattern = Pattern.compile("assemble(\\w+)(Release|Debug)") else pattern = Pattern.compile
("generate(\\w+)(Release|Debug)") Matcher matcher = pattern.matcher(tskReqStr) if (matcher.find()) return matcher.group(1).toLowerCase() else { return ""; } } dependencies { def currentFlavor = getCurrentFlavor() //baidu、360都耍流氓,只能整合他們自家的自動更新sdk,不然稽核不通過;360必須單獨打包
if (currentFlavor.equals("_360")) { compile project(':antoupdate_360') } else { compile project(':autoupdate') } }

最後注意整合不同module的渠道要分開打包

相關推薦

Android多渠道整合功能邏輯實現方法

以自動更新功能為例,360、百度都要求整合各自的更新sdk,如何用同一套程式碼去解決。 1、建立兩個module,分佈將百度、360的sdk放進去。 2、在兩個module下建立一個相同包名、類名的類 3、在同名類下實現同名方法,方法內實現各自邏輯。 第一個實

一個類extends 繼承介面的實現方法

在java中 一個類中不能繼承多個介面,但是可以通過一個介面繼承多個介面來實現。具體程式碼如下 public interface LanguageBeharvior { public void language(); } public interface SpeakBeharvior {

在mybatis同一個方法中執行SQL語句實現方法

  一、oracle資料      <delete id="delete" parameterType="upc.cbs.HtxxlrEntity"> begin    delete from PC_CBS_CONTRA

Android開發中點觸控的實現方法

// import略   public class ImageViewerActivity extends Activity implements OnTouchListener {      private ImageView mImageView;      private Matrix matr

開啟jsp頁面自動載入Action的實現方法

      平時我們載入Action的時候都是提交表單,或者點選按鈕以後才能發起Action請求。         現在我要實現一個功能:開啟一個網站的首頁從資料庫中立刻讀取多條不同表中的資料顯示在頁面上。這個時候要發起多個Action請求,而且還是要自動發起請求。    

Springboot 如何使用AOP同時織入切面?實現使用者 操作日誌記錄功能

首先匯入AOP的pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta

android-Webview】設定cookie,實現webview中儲存登入資訊

方法:通過重複呼叫 cookieManager.setCookie(url,cookie1); 來儲存多個cookie。 程式碼: /** * Sync Cookie */ private void syncCookie(Context

Android實測】apk類似-多渠道共存打包

要被老闆整魔怔了,一樣的APP他要改七八種不同的介面賣給十幾個不同的客戶去分別運營,介面除了資源不一樣其他都一樣,連包名都統一,打apk能把我無奈死。。 隆重推薦我師父 樊亞風 教的方法,大愛。eclipse轉了Android Studio,分分鐘解決這個苦逼問題。 【多

實現一個controller上整合controller

這是我在做專案時遇到的一個問題,想到了以下兩個方法。 一、自定製UITabBar 1.自定製UITabBar必須建立一個UITabBarController的子類,如 @interface MainTabBarViewController :UITabBarContro

Android一個APK入口(桌面圖示)的實現

前言         Android應用一般都是一個APK一個桌面圖示,但有時候我們需要實現一個APK在桌面上有多個圖示(比如BAT的某些應用,有桌面快捷方式),對於這種一個APK需要在桌面上顯示多個圖示的,通常有兩種方法來實現: 1. 進入程式後生成桌面快捷方式,這個適合

如何實現一個Servlet中的功能

如何實現一個Servlet中的多個功能 前言:唉,打臉了,前腳剛說過要跟Servlet正式告別,後腳這不又來了,哈哈,總結出一點東西,糾結了一下還是做個分享吧,學習知識比面子重要,對吧,下回再也不約Servlet了。     需求分析 看下面程式碼,現在有一個UserSer

Http02App 整合工具類實現下載文件

圖片保存 完成 created reat ace sound trac per out Http02App.java1.使用兩個工具類 實現下載音樂和圖片到本地硬盤中package main;import Http.FileUtils;import Http.HttpUti

android開發源代碼分析--activity調用jni庫的方法

red 設有 path 我們 trac sha ndk bin p s android開發源代碼分析--多個activity調用多個jni庫的方法 有時候,我們在開發android項目時會遇到須要調用多個native c/jni庫文件,下面是本人以前實現過的方

線程實現順序打印數據,(可自定義線程一次打印數量和總數量)

技術分享 str logs ges his .get shm import pre   最近看到一道面試題:讓3個線程順序打印數字,如線程1打印1-5,線程2打印6-10,線程3打印11-15,然後是線程1打印16-20...一直打印到75結束。   這到題主要問題有兩點

rsync排除文件實現同步

rom ORC list clas txt roo arp localhost AS 首先創建exclude目錄放入xx.list排除文件。 [root@localhost tmp]# cat /exclude/a_exclude.list a.txt lai —————

用Jenkins集成ios項目設置scheme,同一代碼自動輸出環境包 實現便捷切換API環境

ios項目 bug 編譯打包 不同配置 online space 測試 jenkin spa Jenkins 安裝使用參考我的博客http://www.cnblogs.com/zhujin/p/9064820.html Xcode 配置:說明 一個schema 對應一套環境

Vue.js中用webpack合併打包元件並實現按需載入

對於現在前端外掛的頻繁更新,所以多多少少要對元件化有點了解,下面這篇文章主要給大家介紹了在Vue.js中用webpack合併打包多個元件並實現按需載入的相關資料,需要的朋友可以參考下。   前言 隨著移動裝置的升級、網路速度的提高,使用者對於web應用的要求越來越高,web

Spring環境下MyBatis支援Datasource參考實現

需求背景 最近接到一個專案,需要改造一個老的系統。該老系統以Oracle為儲存,巨量的PL/SQL程式碼實現業務程式碼,C實現Socket Server,作為Client和PL/SQL的橋樑。不出所料,該老系統最大的問題是PL/SQL程式碼量巨大(上萬的Procedure好幾個),且毫無

Android Studio 配置程式碼倉庫(maven)

收集了一些。方便copy使用。 repositories { mavenCentral() maven { url "https://jitpack.io" } maven { url "http://maven.aliyun.com/nexus/content/grou

combobox和combotree,搜尋和功能實現

在專案中遇到一個需求,在一個form表單中有兩個下拉框,一個是樹形的,另一個就是簡單的下拉框; 分別使用EasyUI的combotree 和 combobox來實現 模糊查詢的效果如下: 第一步 根據《easyUI Combobox自定義調整支援中文模糊查詢》一文提供的