每次尝试运行构建任务时,除了api.splashStartup(this)
fun startupRequest(): Boolean {
var INSTALLATION_ID: String? = getSharedPreferences(getString(R.string.SharedPrefs),
Context.MODE_PRIVATE)?.getString(getString(R.string.INSTALLATION_ID), null)
if(INSTALLATION_ID == null){
createInstallationID()
INSTALLATION_ID = getSharedPreferences(getString(R.string.SharedPrefs),
Context.MODE_PRIVATE)?.getString(getString(R.string.INSTALLATION_ID), null)
}
api.postStartup(INSTALLATION_ID!!, object: IStartupCallback {
override fun onError(errorJSON: JSONObject) {
createLog("SplashScreen", "Startup API Error -> " + errorJSON.toString())
createToast(errorJSON.toString())
}
override fun onSuccess(startupJSON: JSONObject?) {
createLog("SplashScreen", "Startup API Success -> " + startupJSON.toString())
val X_SESSION: String? = startupJSON?.getString("session")
val userID: Int = startupJSON.getInt("user_id")
loadData1(X_SESSION, userID)
}
}
return true
}
private fun loadData1(X_SESSION: String, userID: Int){
api.getData1(X_SESSION, userID, object: IData1Callback{
override fun onError(errorJSON: JSONObject) {
createLog("SplashScreenLoadData1", "Data1 API Error -> " + errorJSON.toString())
}
override fun onSuccess(data1: JSONObject?) {
//do some stuff with data
addDataToSingleton(data1)
loadData2(data1.getString("object_Hash"))
}
})
}
private fun loadData2(objectHash: String){
api.getData2(objectHash, object: IData2Callback{
override fun onError(errorJSON: JSONObject) {
createLog("SplashScreenLoadData2", "Data2 API Error -> " + errorJSON.toString())
}
override fun onSuccess(data1: JSONObject?) {
//do some stuff with data
addDataToSingleton(data2)
loadData3(data2)
}
})
}
////
API CLASS
fun splashStartup(splashActivity: Splash){
class GetSplashAsync: AsyncTask<Void, Void, Boolean>() {
override fun onPreExecute() {
createLog("SplashScreen: ", "Starting onPreExecute() --> anim on UIThread")
splashActivity.splashAnimation()
}
override fun doInBackground(vararg params: Void?): Boolean {
return splashActivity.startupRequest()
}
override fun onPostExecute(result: Boolean?) {
createLog("StartupAsync ", "startup async ended")
}
}
GetSplashAsync().execute()
}
fun postStartup(INSTALLATION_ID: String, callback: IStartupCallback){
class PostStartupAsync(private val startupCallback: IStartupCallback): AsyncTask<Void, Void, JSONObject>() {
override fun doInBackground(vararg p0: Void?): JSONObject {
val server = Server.getInstance(context!!)
val jsonObject = JSONObject()
jsonObject.put("installation", installation)
return server.doPost(context.getString(R.string.startup_resource_link), jsonObject)
}
override fun onPostExecute(result: JSONObject?) {
super.onPostExecute(result)
if(result!!.has("ErrorCode") && result.getInt("ErrorCode") == errServerOffline
|| result.has("ErrorCode") && result.getInt("ErrorCode") == errServerNotResponding){
startupCallback.onError(result)
} else if (result.has("error")){
startupCallback.onError(result)
} else {
startupCallback.onSuccess(result)
}
}
}
PostStartupAsync(callback).execute()
}
之外,我什么都看不到,如何配置VSCode以便看到编译器的输出?
下面是我的任务文件,以及我从运行构建任务得到的结果:
public static bool TemporaryTableExists(string TempTableNameWithHash, DataConnection mDataConnection)
{
return Convert.ToInt32(mDataConnection.GetValueFromSelect(string.Format("SELECT COALESCE(OBJECT_ID('tempdb.dbo.{0}'),0)", TempTableNameWithHash))) > 0;
}