第一次在这个论坛上写文章,在深夜写点简单的东西,也好!
做android也快两年了!但还没有写过什么文章,主要是没那个习惯去写,现在想通了,还是要写点东西才觉得这两年来没有白过,不然以后想找点东西都是在网络上找,自己写点东西的话就可以在自己的博客中看看就可以了!比别人写的说不定还好!好了!扯淡就到此了!
今天写了一个TV高清播放器上的天气预报,虽然都是以前用过的东西,自己决定写博客了!就不要怕简单,希望自己一直简直下去;
简单的判断网络是否连接:
public static boolean isConnect(Context context) {
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
try {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null){
// 获取网络连接管理的对象
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null&& info.isConnected()) {
// 判断当前网络是否已经连接
if (info.getState() == NetworkInfo.State.CONNECTED){
return true;
}
}
}
} catch (Exception e) {
System.out.println(e.toString());
}
return false;
}
要想在一个应用的开始就判断网络是否可用就可以这样做:写一个Timer的定时器去检测:
TimerTask timerTask = new TimerTask()
{
@Override
public void run() {
//
if(isConnectedFlag){
Intent intent = new Intent(MainActivity.this,TargetActivity.class);
startActivity(intent);//跳转画面也可以进行其他的处理;
}else{
//如果没有网络连接,则弹出提示框;
new AlertDialog.Builder(MainActivity.this)
.setTitle(MainActivity.this.getResources().getString(R.string.internet_err))
.setMessage(MainActivity.this.getResources().getString(R.string.internet_failed))
.setPositiveButton(MainActivity.this.getResources().getString(R.string.internet_yes),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
progressDialog1.dismiss();
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
}).show();
}
};
在onResume()方法中添加启动定时器:
private Timer timer = null;
private boolean isConnectedFlag = true;
//两个变量
@Override
protected void onResume() {
super.onResume();
if(null == timer)
{
// 检测网络
this.isConnectedFlag = isConnect(this);
// 定时 1 秒,自动跳向主界面
timer = new Timer();
timer.schedule(timerTask, 1000);
}
}
当然网络的服务还是要加权限的:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
private String getXmlInfo(String weather_url){
String service_back_data = null;
HttpGet httpGet = new HttpGet(weather_url);
try {
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
service_back_data = EntityUtils.toString(httpResponse.getEntity());
return service_back_data;
}
} catch (Exception e) {
System.out.println("e-->>"+e.toString());
e.printStackTrace();
}
return null;
}
返回的数据为网页中所有的字符串数据;