2014-02-22 25 views
0

它的工作完全在模擬器中,我甚至在bluestack上檢查它,但是當我在移動時使用它時崩潰,當我按下button1時它應該加載一個新的佈局以及當它檢查互聯網連接正常工作將Button4 ..Android的應用程序崩潰button1點擊手機,但它在仿真器中成功運行

這裏是我的MainActivity.java

package com.example.firstapp; 

import java.net.URL; 
import java.net.URLConnection; 


import android.net.ConnectivityManager; 
import android.os.*; 
import android.app.*; 
import android.view.*; 
import android.widget.*; 


public class MainActivity extends Activity { 

private Button button1, button2,button4,check_button1,canda, candb; 
private EditText vid,pin; 





@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    loadmain(); 

} 

//Load Main Layout 
public void loadmain() 
{ 
    setContentView(R.layout.activity_main); 
    addListenerOnbutton1(); 
    addListenerOnbutton4(); 
    addListenerOnbutton2(); 

} 

//Load check_voter layout 
public void loadcheck_voters() 
{ 
    setContentView(R.layout.check_voters); 
    vid = (EditText)findViewById(R.id.editText1); 
    pin = (EditText)findViewById(R.id.editText2); 
    addListenerOncheck_button1(); 
} 

public void loadclist() 
{ 
    setContentView(R.layout.clist); 
    addListenerOncanda(); 
    addListenerOncandb(); 
} 

public void validate() 
{ 
    String vid1 = vid.getText().toString(); 
     String pin1 = pin.getText().toString(); 
     new ValidateVoter(this).execute(vid1,pin1); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 


public void addListenerOnbutton1() 
{ 

    button1 = (Button) findViewById(R.id.button1); 
    button1.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      loadcheck_voters(); 
     } 
    }); 

} 

public void addListenerOnbutton4() 
{ 

    button4 = (Button) findViewById(R.id.button4); 
    button4.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      isInternetOn(); 
     } 
    }); 

} 

public void addListenerOnbutton2() 
{ 

    button2 = (Button) findViewById(R.id.button2); 
    button2.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      // 
     } 
    }); 

} 

public void addListenerOncheck_button1() 
{ 

    check_button1 = (Button) findViewById(R.id.check_button1); 
    check_button1.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      validate(); 
      loadclist(); 
     } 
    }); 

} 

public boolean isConnectedToServer(String url, int timeout) { 
    try{ 
     URL myUrl = new URL(url); 
     URLConnection connection = myUrl.openConnection(); 
     connection.setConnectTimeout(timeout); 
     connection.connect(); 
     return true; 
    } catch (Exception e) { 

     return false; 
    } 
} 

public void addListenerOncanda() 
{ 
    canda = (Button) findViewById(R.id.canda); 
    canda.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      voteA(); 
     } 
    }); 
} 

public void addListenerOncandb() 
{ 
    candb = (Button) findViewById(R.id.candb); 
    candb.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      voteB(); 
     } 
    }); 
} 

public void voteA() 
{ 
    String cand="Candidate A"; 
    new IncVoteA().execute(cand); 
    loadmain(); 
    Toast.makeText(this, "You Voted for Candidate A", Toast.LENGTH_LONG).show(); 

} 

public void voteB() 
{ 
    String cand="Candidate B"; 
    new IncVoteB().execute(cand); 
    loadmain(); 
    Toast.makeText(this, "You Voted for Candidate B", Toast.LENGTH_LONG).show(); 

} 



public final boolean isInternetOn() { 


    ConnectivityManager connec = (ConnectivityManager)getSystemService(getBaseContext().CONNECTIVITY_SERVICE); 
    String disp=new String(); 

     if (connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED || 
      connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING || 
      connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING || 
      connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED) 
     { 


      new CheckConn(this).execute(); 
      return true; 

     } 
     else if (connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED || connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED ) 
     { 

      Toast.makeText(this,"Not Connected", Toast.LENGTH_LONG).show(); 
      return false; 
     } 
     return false; 
} 

} 

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.firstapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="18" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.firstapp.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

logcat的

02-22 20:20:54.580: E/AndroidRuntime(5387): FATAL EXCEPTION: main 
02-22 20:20:54.580: E/AndroidRuntime(5387): android.content.res.Resources$NotFoundException: Resource ID #0x7f030001 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.content.res.Resources.getValue(Resources.java:1884) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2990) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.content.res.Resources.getLayout(Resources.java:1723) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.view.LayoutInflater.inflate(LayoutInflater.java:395) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:318) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.app.Activity.setContentView(Activity.java:1924) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at com.example.firstapp.MainActivity.loadcheck_voters(MainActivity.java:43) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at com.example.firstapp.MainActivity$1.onClick(MainActivity.java:79) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.view.View.performClick(View.java:4261) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.view.View$PerformClick.run(View.java:17420) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.os.Handler.handleCallback(Handler.java:615) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.os.Handler.dispatchMessage(Handler.java:92) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.os.Looper.loop(Looper.java:177) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at android.app.ActivityThread.main(ActivityThread.java:4944) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at java.lang.reflect.Method.invoke(Method.java:511) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 
02-22 20:20:54.580: E/AndroidRuntime(5387):  at dalvik.system.NativeStart.main(Native Method) 
+2

堆棧跟蹤?這些總是有助於弄清楚發生了什麼。 – PearsonArtPhoto

+3

另外,雖然我很欣賞包含很多代碼,但如果'button1'是錯誤,您應該發佈單擊'button1'時調用的函數,以及足夠的代碼來獲取上下文,但不是完整的文件。 ..清單很少需要... – PearsonArtPhoto

+0

而不是猜測原因,我們應該等待堆棧跟蹤。這是什麼stacktrace是好的 – donfuxx

回答

0

反正感謝名單傢伙...連接我的手機用eclipse得到堆棧跟蹤。檢查ResourceNotFoundEceptionR.java文件中的資源,在該按鈕上加載的佈局在layout文件夾中,當我正在查找它時,它在某個layout-qwerty文件夾中。更正了這個問題,並且全部運行在移動設備上。

相關問題