Android APP內選擇切換開發環境、測試環境、阿里測試環境、生產環境記錄一下

根據產品及測試需求,每次測試後需要來回切換環境測試,每次都需要重新設置請求域名環境然後進行打包,很麻煩!!!就想設計一鍵切換APP環境地址:

首先在應用中找一個觸發事件(本人選擇了設置長按監聽事件,彈框選擇需要切換的環境地址),並且設置一下只在debug運行模式下執行 (防止打生產環境上線包後,忘記關閉)

////        長按設置事件  切換環境彈框
llSetting.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View view) {
        if (BuildConfig.DEBUG)//debug才能切換
            new ChooseIPDialog(getActivity()).show();//選擇環境dialog彈框
        return true;
    }
});

彈框中點擊事件

tvTest.setOnClickListener(new View.OnClickListener() {
            @SingleClick
            @Override
            public void onClick(View v) {           
                SPUtils.putStringValue(Constants.IpUrl, "http://180.167.199.230:7083");//保存切換測試環境後地址
                reStartApp();//重啓
                dismiss();//關閉彈框
            }
        });

其它開發測試環境事件一樣 地址修改一下就可以了

public void reStartApp() {//重啓應用
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent LaunchIntent=mContext.getPackageManager().getLaunchIntentForPackage(mContext.getPackageName());
                LaunchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                mContext.startActivity(LaunchIntent);
                ConfigUtil.setIsLogin(false);//切換環境後 登陸會失效  我在這裏處理標記(未登錄)
                MyApp.getCustomApp().exitApp();
                System.exit(0);
            }
        }, 100);
    }

在這之前會設置一個默認的請求路徑:

public static final String baseUrl = "http://180.167.199.230:7083";

然後再公共請求類中獲取當前的環境地址

String ipUrl= ConfigUtil.getIpUrl();//獲取當前請求環境路徑地址IP

替換公共請求頭部 拼接請求路徑這裏就省了

public static String getIpUrl(){//獲取請求路徑IP
    String url = SPUtils.getStringValue(Constants.IpUrl,"");
    if (StringUtil.isEmpty(url)){//判斷不爲空
        url=HttpConfig.baseUrl;//爲空設置默認請求路徑
    }
    return url;
}

ok,是不是很簡單!如果覺得簡單 還不錯就給個贊 謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章