2013-11-26 38 views
0

嗨我的應用程序顯示一個XML文件,如果沒有互聯網連接存在。但該應用程序總是破壞自己!Android Eclipse如果沒有互聯網連接,如何顯示XML文件

我在這裏使用這段代碼!

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_main); 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    String status = netInfo.getState().toString(); 
    if (status.equals("CONNECTED")) 
    { 
     Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show(); 
    } 
    else 
    { 
     setContentView(R.layout.no); 
     Toast.makeText(this, "No Network Available", Toast.LENGTH_LONG).show(); 

    } 
    } 

public void end (View view){ 
    finish(); 
    System.exit(0);} 

    @Override 
    protected void onResume() { 
     Toast.makeText(this, "No Network Available", Toast.LENGTH_LONG).show(); 
     super.onResume(); 
     return; 
    } 

清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="###" 
    android:versionCode="6" 
    android:versionName="1.0.0.006" 
    android:installLocation="auto"> 

    <uses-sdk 
     android:minSdkVersion="3" 
     android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
     <activity 
      android:name="###.MainActivity" 
      android:label="@string/app_name" android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      </activity> 
       <activity android:name=".NoConnectionActivity" android:label="@string/app_name" /> 
    </application> 

</manifest> 

我怎樣才能顯示XML?

我已經「setContentView(R.layout.no);」

+0

你得到什麼樣的異常,而試圖在上面的代碼?在此發佈崩潰日誌,以便我們可以更好地瞭解正在發生的事情。 – saiful103a

+0

我沒有碰撞日誌!如果我有它!如果我不得不我會寫它!你能告訴我怎樣才能做到這一點嗎? – elHomer

+0

我問了崩潰日誌,因爲沒有任何理由沒有任何理由殺它的應用程序本身。我回答你的問題評論我的答案,如果你需要進一步的幫助。 – saiful103a

回答

0

基本上,使用No connection模板創建一個新的活動。然後在您的主要活動中,添加以下代碼:

if (status.equals("CONNECTED")) 
{ 
    Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show(); 
} 
else 
{ 
    Intent intent = new Intent(this, NoConnectionActivity.class); 
    startActivity(intent); 
} 
+0

不起作用。立即再次銷燬! – elHomer

+0

你有任何日誌,以便我們可以嘗試幫助你嗎? – Manitoba

+0

只有它的chash。應用程序無法啓動.'import android.app.Activity; import android.os.Bundle; 公共類NoConnectionActivity延伸活動{ \t保護無效的onCreate(捆綁savedInstanceState){ \t \t super.onCreate(savedInstanceState); \t \t setContentView(R.layout.no); \t} }' – elHomer

0

試試這個:

try{ 
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    String status = null; 
    if(netInfo!=null){ 
     status = netInfo.getState().toString(); 
    }else{ 
     status = ""; 
    }   
    if (status.equals("CONNECTED")) 
    { 
     Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show(); 
    } 
    else 
    { 
     setContentView(R.layout.no); 
     Toast.makeText(this, "No Network Available", Toast.LENGTH_LONG).show(); 

    }}catch(Exception e){ setContentView(R.layout.no); 
     Toast.makeText(this, "No Network Available", Toast.LENGTH_LONG).show(); } 
+0

不工作:c – elHomer

+0

當有互聯網連接時它工作嗎? – saiful103a

+0

是的,我沒有互聯網連接,然後崩潰的應用程序,如果我有互聯網連接,然後工作的應用程序 – elHomer

相關問題