当前位置:首页 » 拨号测速 » android获取当前上传网速

android获取当前上传网速

发布时间: 2021-03-06 00:09:16

① Android开发中,如何测当前网速

原理: 到网上找个可以下载的apk 的URL,记住apk不要过大一般1M足够了.然后通过记录下载这个apk的时间和大小,算出当前网速.当然一个URL并不是很准确,要求精确的可以多下载几个
URL求平均值</span>.

package com.panodic.settings.net;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import com.panodic.settings.util.LogUtil;
import com.panodic.settings.util.NetUtil;
import com.panodic.settings.util.Util;
import com.panodic.settings.view.PatchItem;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.panodic.settings.R;

public class MesureSpeed extends Activity implements OnClickListener {

private static final int LOADING = 0x111;
private static final int STOP = 0x112;
private ProgressBar mBar;
private int mProgressState;
private TextView mSpeed;
private Button mMeasureSpeed;
private PatchItem mBack;
private float mSpeedContent;
private String mAddr = "http://cdn.market.hiapk.com/data/upload/2012/12_09/22/cn.lgx.phoneexpert_221804.apk";
private String mAddr2 = "http://gdown..com/data/wisegame/6f9153d4a8d1f7d8/QQ.apk";
private String mAddr3 = "http://gdown..com/data/wisegame/search_Android_10189_1399k.apk";
private Handler mHandler = new Handler(Util.sTaskRunner.getLooper());
private int testCount = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_mesure_speed);
mSpeed = (TextView) findViewById(R.id.speed_content);
mMeasureSpeed = (Button) findViewById(R.id.mesure_speed);
mBack = (PatchItem) findViewById(R.id.patch_settings_net_speed);
mBar = (ProgressBar) findViewById(R.id.bar);
mMeasureSpeed.setOnClickListener(this);
mBack.setOnClickListener(this);
testCount = 0;
}

@Override
public void onClick(View v) {
if (mBack.isMyChild(v)) {
Util.finish(this);
} else if (v == mMeasureSpeed) {
mMeasureSpeed.setEnabled(false);
mBar.setVisibility(View.VISIBLE);
mProgressState = 0;
testCount = 0;
mBar.setProgress(mProgressState);
mHandler.removeCallbacks(null);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
measureSpeed(mAddr);
}
}, 0);
}
}

private Handler mProgressHandler = new Handler() {

@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case LOADING:
mBar.setProgress(mProgressState);
break;
case STOP:
mBar.setVisibility(View.GONE);
setSpeed();
mMeasureSpeed.setEnabled(true);
break;
default:
break;
}
}

};

private void setSpeed() {
if (mSpeedContent >= 1024) {
mSpeedContent = (float) ((mSpeedContent) / (1024 + 0.0));
mSpeedContent = (float) (((int) (mSpeedContent * 10) % 10 + 0.0) / 10 + (int) mSpeedContent);
mSpeed.setText(mSpeedContent + getString(R.string.m));
} else {
mSpeed.setText((int) mSpeedContent + getString(R.string.kb));
}
}

private void measureSpeed(String httpUrl) {
if (!NetUtil.isWifiConnected(this) && !NetUtil.isWireConnected(this)) {
Toast.makeText(this, getString(R.string.no_net), Toast.LENGTH_SHORT)
.show();
mProgressHandler.sendEmptyMessage(STOP);
return;
}
int fileLen = 0;
long startTime = 0;
long endTime = 0;
final String fileName = "tmp.apk";
HttpURLConnection conn = null;
InputStream is = null;
FileOutputStream fos = null;
File tmpFile = new File("/sdcard/temp");
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
final File file = new File("/sdcard/temp/" + fileName);
try {
URL url = new URL(httpUrl);
try {
conn = (HttpURLConnection) url.openConnection();
LogUtil.d("lening");
fileLen = conn.getContentLength();
LogUtil.d("len=" + fileLen);
if (fileLen <= 0) {
mSpeedContent = 0;
mProgressHandler.sendEmptyMessage(STOP);
Toast.makeText(this, getString(R.string.conn_fail),
Toast.LENGTH_SHORT).show();

return;
}
startTime = System.currentTimeMillis();
is = conn.getInputStream();
fos = new FileOutputStream(file);
byte[] buf = new byte[256];
conn.connect();
if (conn.getResponseCode() >= 400) {
Toast.makeText(this, getString(R.string.no_time),
Toast.LENGTH_SHORT).show();
mProgressHandler.sendEmptyMessage(STOP);
return;
} else {
while (true) {
if (is != null) {
int numRead = is.read(buf);
if (numRead <= 0) {
break;
} else {
fos.write(buf, 0, numRead);
}
mProgressState += (int) (((numRead + 0.0) / (fileLen + 0.0)) * 1000000);
mProgressHandler.sendEmptyMessage(LOADING);
// LogUtil.d("numRead=" + numRead + " fileLen="
// + fileLen);
} else {
break;
}
}
}
endTime = System.currentTimeMillis();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, getString(R.string.no_permission),
Toast.LENGTH_SHORT).show();
} finally {
if (conn != null) {
conn.disconnect();
}
try {
if (fos != null) {
fos.close();
}
if (is != null) {
is.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}

}
} catch (MalformedURLException e) {
e.printStackTrace();
}
mSpeedContent = fileLen / (endTime - startTime);
mProgressHandler.sendEmptyMessage(STOP);
}
}

② android怎样获取网络速度

大部分系统是支持在状态栏显示实时网速的,像小米之类的都可以直接设置显示实时网速。部分厂商的系统没有这个功能可以通过第三方插件的悬浮窗来显示。

③ android 文件上传时 怎么算文件上传速度

计算的下载速度,举例说明一下吧。
例如每隔N秒就改变当前下载速度数字的,N秒前的版下载进权度百分比m%,
N秒后的下载进度百分比n%,当前下载问题的总大小Size【换算成多少kb】
(m%-n%)*Size/N就是 这段时间的下载或上传速度了。
注意:记得增加判断一些边界问题。

④ android app上传文件速度太慢怎么处理

一、释放XP自带保留20%的带宽,让你的网速更快! 1、运行组策略编辑器程序(gpedit.msc)。在“‘本地计算机’策略”中,逐级“计算机配置”→“管理模板”→“网络(互联网)”→“QoS数据包调度程序”分支。在屏幕右边会出现“QoS数据包调度程序”策略。接着单击右边子项目的“限制可保留带宽”。这时,左边会显示“限制可保留带宽”的清楚描述。从这里我们可了解到“限制可保留带宽”的有些基本情形。了解之后我们就可以对“限制可保留带宽”进行设置了。单击“限制可保留带宽”下“显示”旁边的“属性”(或选取子项目“限制可保留带宽”,再点击右键→“属性”也可),出现“限制可保留带宽”对话框,先点击“说明”,再进一步了解“限制可保留带宽”确定系统(System)可保留的连接带宽的百分比情形。 之后我们就可以对另外20%带宽进设置了。点击“设置”。“设置”为我们提供了三个选取(未配置、已启用、已禁用),选取“已启用”,接着再将带宽限制旁边的%设置为0%即可,之后按确定退出。 2、单击“开始”→“连接到”→“显示全部连接”。 选中你所建立的连接,用鼠标右键单击属性,在出现的连接属性中单击网络(互联网),在显示的网络(互联网)对话框中,检查“此连接用下列项目”中“QoS数据包调度程序”是不是已打了勾,没问题就按确定退出。 3、最后重新开启系统(System)便完成对另外20%的频宽利用了 二、清理 ①清空Internet临时文件夹 他人查看“Internet临时文件夹”下的图、Flash等文件便能大体知道你曾到过的网站。要清理它们,可依次单击IE菜单栏中的“工具”→“Internet选项”,打开(OPEN)“Internet选项”对话框,在“常规”标签中点击“删掉文件”按钮,在弹出的“删掉文件”窗口中勾选“删掉全部脱机内容”,最后点击“确定”。 三、关掉上网设备猫和路由,十多分钟后再开机 四、还有网络(互联网)网站问题

⑤ IOS如何获取网速,下载和上传速度

  1. 启动腾讯手机管家Ios版,可看到“网络测试”功能

  2. 点击并进入“网络测试”,会看到类似汽车表盘测试界

  3. 此时点击“开始测速”,测速开始

  4. 测试结束,会显示当前测速的结果,网速峰值折线图、以及其他信息,如图:

⑥ android怎么计算每秒钟的上传和下载速度

计算的下载速度,举例说明一下吧。
例如每隔N秒就改变当前下载速度数字的,回N秒前的下载进答度百分比m%,
N秒后的下载进度百分比n%,当前下载问题的总大小Size【换算成多少kb】
(m%-n%)*Size/N就是 这段时间的下载或上传速度了。
注意:记得增加判断一些边界问题。

⑦ 安卓手机怎样可以检测出来我实际收到的网速是多少最大网速可以是多少

手机有自带分组数据计数器,可以查询使用流量,但是不直观。 很多杀毒软件都带流量统计功能,还可以设置流量拦截功能,翻一个网页用多少流量都可以知道,360杀毒软件、 AVG杀毒软件、 其他杀毒软件都有着功能。 不用去找手机软件流量统计软件,只能说浪费手机内存,软件安装多了影响手机速度。

⑧ 安卓7.0怎么显示实时网速

1、打开手机桌面找到【设置】图标进入手机设置。

⑨ android如何实现实时获取当前网络带宽

android如何实现实时获取当前网络带宽
/**
* 检查当前网络是否可用
*
* @param context
* @return
*/
public boolean isNetworkAvailable(Activity activity) {
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null) {
return false;
} else {
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0) {
for (int i = 0; i < networkInfo.length; i++) {
// System.out.println(i + "===状态==="
// + networkInfo[i].getState());
// System.out.println(i + "===类型==="
// + networkInfo[i].getTypeName());
// 判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}

热点内容
网卡了的原因 发布:2021-03-16 21:18:20 浏览:602
联通客服工作怎么样 发布:2021-03-16 21:17:49 浏览:218
路由器画图 发布:2021-03-16 21:17:21 浏览:403
大网卡收费 发布:2021-03-16 21:16:50 浏览:113
路由器免费送 发布:2021-03-16 21:16:19 浏览:985
孝昌营业厅 发布:2021-03-16 21:15:54 浏览:861
网速增速代码 发布:2021-03-16 21:15:29 浏览:194
怎么黑光纤 发布:2021-03-16 21:14:54 浏览:901
端口增大 发布:2021-03-16 21:14:20 浏览:709
开机没信号是什么原因 发布:2021-03-16 21:13:45 浏览:645