開發時經常出現內外網切換的情況,比如測試人員測試應用的時候,需要先在內網測試一遍,然後在外網再測試一遍,如果外網有bug的話,就需要應用切回內網進行除錯。這個時候一般的處理方式就是不斷的打包,其實我們可以在開發的時候給應用加上乙個修改介面伺服器位址的隱藏功能(一定要是隱藏功能),這樣就會方便很多了。
public
class
extends
private
private sharedpreferences sp;
private sqlitedatabase database;
public string base_url = ""; //本地介面
@override
public
void
oncreate()
private
void
initserverurl()
//-----------------伺服器資訊---------------
public string getbaseurl()
public
void
setbaseurl(string baseurl)
...}
user.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
..."baseurl">
.100
.152:8282/cablenetworkintf/
...
初始化介面位址儲存之後,我們要在聯網框架中使用
}//修改介面位址後重置baseurl
//----------請求方法------------
//登入
public
void
login(subscribersubscriber, mapoptions)
...}
在登入介面的logo處隱藏進入修改介面位址的入口,需要連點5下進入修改位址介面
/*** 去往介面伺服器設定
涉及到的工具類
/**
* 設定edittext是否可編輯
*@param edittext
*@param value
*/public
static
void
setedittexteditable(edittext edittext, boolean value)else
}...
public
class
centerhinttoast
extends
toast
}...
/*** 匹配url位址
*/public
static
boolean
isurl(string str)
/*** 正規表示式匹配
*@param text 待匹配的文字
*@param reg 正規表示式
*@return
*/private
static
boolean
match(string text, string reg)
注意上述**中的"/".equals(end)
判斷,如果你修改後的介面位址不是以 / 結尾的話,2、介面位址使用
中的networkservice
將無法建立,這也是我為什麼加上異常捕獲的原因。修改介面位址並儲存之後,回到登入介面即可使用新的介面位址進行登入了(即時生效)。
long millis = system.currenttimemillis();//時間戳,作為當前使用者登入的唯一標識
}注意登入的時候我加上的if (instance==null||instance.networkservice==null)
的判斷,因為修改位址之後instance和instance.networkservice都可能為null,必須加上這個判斷,不然應用有閃退的危險。
上傳本地新專案到SVN伺服器
經過摸索,找到了辦法。首先要確保安裝了svn外掛程式 tortoisesvn 在乙個有檢出的專案資料夾 如下的資料夾 1 就是我從svn檢出的專案 中 在空白處 右鍵 tortoisesvn repo browser,這樣就到了svn伺服器的目錄了,當前存在的svn專案的目錄 這裡要注意 不能直接在...
上傳本地新專案到SVN伺服器
在乙個有檢出的專案資料夾 如下的資料夾 1 就是我從svn檢出的專案 中 在空白處 右鍵 tortoisesvn repo browser,這樣就到了svn伺服器的目錄了,當前存在的svn專案的目錄 這裡要注意 不能直接在桌面或者隨便某個地方 右鍵 tortoisesvn,因為並沒有需要的選項,如下...
上傳本地新專案到SVN伺服器
經過摸索,找到了辦法。首先要確保安裝了svn外掛程式 tortoisesvn 在乙個有檢出的專案資料夾 如下的資料夾 1 就是我從svn檢出的專案 中 在空白處 右鍵 tortoisesvn repo browser,這樣就到了svn伺服器的目錄了,當前存在的svn專案的目錄 這裡要注意 不能直接在...