第一次在这个论坛上写文章,在深夜写点简单的东西,也好!
做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;
}
返回的数据为网页中所有的字符串数据;