Best way to evaluate connection speed Best way to evaluate connection speed android android

Best way to evaluate connection speed


why not try to change your view of things.Try to flow with your users. say your user wishes to download 128 kbit quality song. you start the download , WHILE downloading you make an average download time, take a few seconds for this average to stabilize, and if it's below certain value make a pop up to tell the user that his connection is too slow for the current bandwidth and ask him if to lessen the quality or to keep downloading slowly.

This will:

  1. let the users the option to always assume they can get the best quality media.
  2. let u do your check in runtime and change the quality accordingly while downloading without the need to pre check.
  3. keeps your app simple to users.

I know i'm not answering your specific requirement, i'm just offering a different view.


protected String doInBackground(String... urls) {    String response = "";    startTime = System.currentTimeMillis();    for (String url : urls) {        DefaultHttpClient client = new DefaultHttpClient();        HttpGet httpGet = new HttpGet(url);        try {            HttpResponse execute = client.execute(httpGet);            InputStream content = execute.getEntity().getContent();            BufferedReader buffer = new BufferedReader(                    new InputStreamReader(content));            String s = "";            while ((s = buffer.readLine()) != null) {                response += s;            }            endTime = System.currentTimeMillis();        } catch (Exception e) {            e.printStackTrace();        }    }    return response;}@Overrideprotected void onPostExecute(String result) {    // TODO Auto-generated method stub    long dataSize = result.length() / 1024;    takenTime = endTime - startTime;    long s = takenTime / 1000;    double speed = dataSize / s;    Toast.makeText(context, "" + s + "kbps", Toast.LENGTH_SHORT).show();}