I just started to learn how to create android application and I want to build speed test application. To do that I used this class: Speed Test library
I followed example on github website but problem is that I can't get results to be displayed on my UI. I tried to implement class interface but it resulted with many errors. Does someone knows can it be done? I just want to display results on GUI of my application...
This is code that I am using:
public class SpeedTestTask extends AsyncTask<Void, Void, String> {
@Override
protected void onPreExecute() {
mRunningBar.setVisibility(View.VISIBLE);
}
@Override
protected String doInBackground(Void... params) {
SpeedTestSocket speedTestSocket = new SpeedTestSocket();
speedTestSocket.addSpeedTestListener(new ISpeedTestListener() {
@Override
public void onDownloadPacketsReceived(int packetSize,
float transferRateBitPerSeconds,
float transferRateOctetPerSeconds) {
//Log.i(TAG, "download transfer rate : " + transferRateOctetPerSeconds * 1000 + "MBps");
download_result.setText("Download speed : " + transferRateOctetPerSeconds * 1000 + " MBps");
}
@Override
public void onDownloadError(int errorCode, String message) {
Log.i(TAG, "There was error " + errorCode + " Message: " + message);
}
@Override
public void onUploadPacketsReceived(int packetSize,
float transferRateBitPerSeconds,
float transferRateOctetPerSeconds) {
download_result.setText("Upload speed (upload) : " + transferRateOctetPerSeconds * 1000 + " MBps");
}
@Override
public void onUploadError(int errorCode, String message) {
// Log.i(TAG, "Upload error " + errorCode + " occured with message : " + message);
download_result.setText("Upload error (upload) " + errorCode + " Message: " + message);
}
@Override
public void onDownloadProgress(int percent) {
}
@Override
public void onUploadProgress(int percent) {
}
});
speedTestSocket.startDownload("ipv4.intuxication.testdebit.info", 80,"/fichiers/10Mo.dat");
speedTestSocket.startUpload("1.testdebit.info",
80, "/", 10000000);
return null;
}
@Override
protected void onPostExecute(String result) {
// download_result.setText(result);
mRunningBar.setVisibility(View.GONE);
}
}