Speed Test App - Native - No JS, PHP, etc



I made a Speed Test App and want to test with others.

So I’m giving you out the APK so you can test and give feedback on how to improve.

Download APK
SpeedTest.apk (2.7 MB)

Corrected Algorithm with 10 MB file
SpeedTest.apk (2.7 MB)

Download Source AIA
SpeedTest.aia (576.8 KB)

Please share your aia file if you have done any modifications to improve the source file for everyone to use.

Concept & Workarounds

This app tests your download speed using 1 MB .db test file (which I got after searching) (see #Credits). There are many other sizes available ranging from 1 MB to 10 GB. But I choose 1 MB just to get immediate results for testing as it would take much speed considering my download speeds.

So, when the user clicks on the “Begin Test” button, web component downloads the file & timer is started. After file gets loaded, the speed is then calculated and displayed.

The things that is needed to be fixed are the timer and speed algorithm.

I also used canvas to display speed in dial/meter/gauge & needle but it seems to be much complex.

Components Used: (excludes UI components)

  • Web
  • Clock


All of the above are the sites from where I collected image assets for the app.

After some time, when it is about to be uploaded to Google Play, I’ll create custom images for the app.

Checking internet speed of device
Sharing Images From Cloudinary
How To Detect İnternet Download/Upload Speed?

Looks good @pavi2410 and worked straight away, but there’s a bit of a discrepancy between your results and the app from speedtest.net (I did 3 tests with each). I wish my speeds were that good! :grinning: Have you done any benchmarking?




Yeah, as @Domhnall sais, results are not accurate
This is caused because you are sending a small package. To fix it, you must send a bigger package so results could be more accurate


Will it be good to get “average speed from 2-3 tests by that 1 MB file” or “downloading a big file”?


Go with @barreeeiroo’s suggestion, a bigger file will give a more accurate result.


Source is now available.


The main problem is I am unable to get time in seconds. I use clock component but after converting from milliseconds to seconds, I do not get accurate results.

i did this calculation:
Size of file = x MB = 8x Mb
Duration of download = t ms = t/1000 s

∴ Speed = size/duration = 8x/(t/1000) = 8000x/t Mb/s or Mbps


Yeah, use a bigger package

’ I choose 1 MB just to get immediate results’
In speed tests you don’t want to get instant results, you want to get accurate results, so I would use a package from 5Mb to 20Mb so you can let the user choose between speed or accuration
A package of 1Mb is insufficient for speed tests


My test result under 10 MB file

Don’t believe the time shown. It took me more than 5 min to finish the test.

Does anyone have suggestions to this?


I used 10 mb file and got almost accurate result… great work @pavi2410


Was the reading of the time accurate?


yeah, it was accurate


Then I think this is app is ready to go to market. :slight_smile:


How did you do these blocks I can not find them?