BandwidthMeasurer.java 837 Bytes
package com.upc.pbe.upcnews;

import android.net.TrafficStats;
import android.util.Log;

//Mesura la velocitat (Bandwidth) d'Internet
public class BandwidthMeasurer {
	private final static String TAG = "Mesurador de bandwith";

	public double Measure(long rxBytes, long time) {
		long AfterTime = System.currentTimeMillis();
		double bps;
		long TotalRxAfterTest = TrafficStats.getTotalRxBytes();
		double TimeDifference = AfterTime - time;
		double rxDiff = TotalRxAfterTest - rxBytes;
		Log.d(TAG, "Diferencia de temps = " + TimeDifference / 1000);
		Log.d(TAG, "Diferencia de bytes = " + rxDiff);
		if (rxDiff != 0) {
			bps = ((rxDiff * 8) / (TimeDifference / 1000)); // total de rx en bits per segon.
			Log.d(TAG, "Velocitat actual (KB/s): " + (bps / 8e3));
		} else {
			bps = -1; // No s'han trasmès dades
		}
		return bps;
	}
}