2012-07-25 4 views
0
07-25 14:27:41.218: E/AndroidRuntime(351): FATAL EXCEPTION: Thread-8 
07-25 14:27:41.218: E/AndroidRuntime(351): java.lang.NullPointerException: println needs a message 
07-25 14:27:41.218: E/AndroidRuntime(351): at android.util.Log.println_native(Native Method) 
07-25 14:27:41.218: E/AndroidRuntime(351): at android.util.Log.e(Log.java:215) 
07-25 14:27:41.218: E/AndroidRuntime(351): at commerce.app.lib.login.LoginScreen$1$1.run(LoginScreen.java:224) 
07-25 14:27:42.848: E/WindowManager(351): Activity commerce.app.lib.login.LoginScreen has leaked window [email protected] that was originally added here 
07-25 14:27:42.848: E/WindowManager(351): android.view.WindowLeaked: Activity commerce.app.lib.login.LoginScreen has leaked window [email protected] that was originally added here 
07-25 14:27:42.848: E/WindowManager(351): at android.view.ViewRoot.<init>(ViewRoot.java:247) 
07-25 14:27:42.848: E/WindowManager(351): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
07-25 14:27:42.848: E/WindowManager(351): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
07-25 14:27:42.848: E/WindowManager(351): at android.view.Window$LocalWindowManager.addView(Window.java:424) 
07-25 14:27:42.848: E/WindowManager(351): at android.app.Dialog.show(Dialog.java:241) 
07-25 14:27:42.848: E/WindowManager(351): at android.app.ProgressDialog.show(ProgressDialog.java:107) 
07-25 14:27:42.848: E/WindowManager(351): at android.app.ProgressDialog.show(ProgressDialog.java:90) 
07-25 14:27:42.848: E/WindowManager(351): at commerce.app.lib.login.LoginScreen$1.onClick(LoginScreen.java:214) 
07-25 14:27:42.848: E/WindowManager(351): at android.view.View.performClick(View.java:2408) 
07-25 14:27:42.848: E/WindowManager(351): at android.view.View$PerformClick.run(View.java:8816) 
07-25 14:27:42.848: E/WindowManager(351): at android.os.Handler.handleCallback(Handler.java:587) 
07-25 14:27:42.848: E/WindowManager(351): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-25 14:27:42.848: E/WindowManager(351): at android.os.Looper.loop(Looper.java:123) 
07-25 14:27:42.848: E/WindowManager(351): at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-25 14:27:42.848: E/WindowManager(351): at java.lang.reflect.Method.invokeNative(Native Method) 
07-25 14:27:42.848: E/WindowManager(351): at java.lang.reflect.Method.invoke(Method.java:521) 
07-25 14:27:42.848: E/WindowManager(351): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-25 14:27:42.848: E/WindowManager(351): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-25 14:27:42.848: E/WindowManager(351): at dalvik.system.NativeStart.main(Native Method) 
07-25 14:27:43.328: I/Process(351): Sending signal. PID: 351 SIG: 9 

private CapstrovDatabaseOperations dbOperation; private 컨텍스트 mContext;logcat에서 이러한 오류를 표시하는 응용 프로그램을 실행 한 후?

CheckBox remember; 
CheckBox loginAutomatic; 
EditText accountNumber; 
EditText emailAddress; 
EditText password; 
int flag = 0; 
ProgressDialog dialog; 

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    setContentView(R.layout.login_screen); 
    TextView txAreaName = (TextView) findViewById(R.id.areaName); 
    txAreaName.setText(""); 

    accountNumber = (EditText) findViewById(R.id.ed_AccountNumber); 
    emailAddress = (EditText) findViewById(R.id.ed_Email); 
    password = (EditText) findViewById(R.id.ed_password); 
    remember = (CheckBox) findViewById(R.id.chk_Remember); 
    loginAutomatic = (CheckBox) findViewById(R.id.chk_Automatically); 

    accountNumber 
      .setBackgroundResource(android.R.drawable.editbox_background); 
    emailAddress 
      .setBackgroundResource(android.R.drawable.editbox_background); 
    password.setBackgroundResource(android.R.drawable.editbox_background); 

    mContext = getApplicationContext(); 
    dbOperation = new CapstrovDatabaseOperations(mContext); 

    // Creating table in database 
    dbOperation.createTable(); 

    // Opening Database in write mode 
    dbOperation.openForWrite(); 

    // Showing All data from the database 
    Cursor cr = dbOperation.fetchData(); 
    startManagingCursor(cr); 

    if (cr == null || cr.getCount() <= 0) { 

     flag = 0; 
    } else { 
     flag = 1; 
     cr.moveToFirst(); 
     if (cr.getInt(cr.getColumnIndex("isRemember")) == 1) { 
      accountNumber.setText(cr.getString(cr 
        .getColumnIndex("capstrov_ac_no"))); 
      emailAddress.setText(cr.getString(cr.getColumnIndex("email"))); 
      password.setText(cr.getString(cr.getColumnIndex("password"))); 
      remember.setChecked(true); 
      if (cr.getInt(cr.getColumnIndex("isAutomatic")) == 1) { 
       loginAutomatic.setChecked(true); 
      } 
     } 
     if (cr.getInt(cr.getColumnIndex("isAutomatic")) == 1) { 

      dialog = ProgressDialog.show(LoginScreen.this, 
        "Loading...", "Please wait...", true); 
      new Thread() { 
       public void run() { 
        try { 
         performBackgroundProcess(); 

        } catch (Exception e) { 
         Log.e("tag", e.getMessage()); 
        } 
        // dismiss the progress dialog 
        dialog.dismiss(); 
       } 
      }.start(); 

     } 
    } 
    cr.deactivate(); 

    TextView tv_Register = (TextView) findViewById(R.id.link_Register); 
    tv_Register.setMovementMethod(LinkMovementMethod.getInstance()); 

    TextView tv_Forgot = (TextView) findViewById(R.id.link_Forgot); 
    tv_Forgot.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent in_Forgot = new Intent().setClass(
        getApplicationContext(), WebViewPage.class); 
      startActivity(in_Forgot); 
     } 
    }); 

Button btnLogin = (Button)findViewById(R.id.bt_Login); 
    btnLogin.setOnClickListener(loginlistener); 
} 

private boolean checkEmail(String email) { 
    return EMAIL_ADDRESS_PATTERN.matcher(email).matches(); 
} 

@Override 
public void onBackPressed() { 

    finish(); // finishes the current activity and doesn't save in stock 
    Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addCategory(Intent.CATEGORY_HOME); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
    System.exit(0); 
} 

private OnClickListener loginlistener = new OnClickListener() { 

    public void onClick(View v) { 

     if (accountNumber.getText().toString() == null 
       || emailAddress.getText().toString() == null 
       || password.getText().toString() == null 
       || accountNumber.getText().toString().equals("") 
       || emailAddress.getText().toString().equals("") 
       || password.getText().toString().equals("")) { 

      if (accountNumber.getText().toString() == null 
        || accountNumber.getText().toString().equals("")) { 
       accountNumber 
         .setBackgroundResource(R.drawable.login_edit_text_focussed); 
      } else { 
       accountNumber 
         .setBackgroundResource(android.R.drawable.editbox_background); 

      } 
      if (emailAddress.getText().toString() == null 
        || emailAddress.getText().toString().equals("")) { 
       emailAddress 
         .setBackgroundResource(R.drawable.login_edit_text_focussed); 
      } else { 
       emailAddress 
         .setBackgroundResource(android.R.drawable.editbox_background); 
      } 
      if (password.getText().toString() == null 
        || password.getText().toString().equals("")) { 
       password.setBackgroundResource(R.drawable.login_edit_text_focussed); 
      } else { 
       password.setBackgroundResource(android.R.drawable.editbox_background); 
      } 
      Toast.makeText(mContext, "All Fields Are Mendatory", 
        Toast.LENGTH_LONG).show(); 

     } else if (!checkEmail(emailAddress.getText().toString())) { 
      Toast.makeText(mContext, "Please enter valid Email Address", 
        Toast.LENGTH_LONG).show(); 
      emailAddress 
        .setBackgroundResource(R.drawable.login_edit_text_focussed); 
      emailAddress.requestFocus(); 
      accountNumber 
        .setBackgroundResource(android.R.drawable.editbox_background); 
      password.setBackgroundResource(android.R.drawable.editbox_background); 
     } else { 
      emailAddress 
        .setBackgroundResource(android.R.drawable.editbox_background); 
      dialog = ProgressDialog.show(LoginScreen.this, "Loading...", 
        "Please wait...", true); 
      Log.i(":::::::::::::::::::::", dialog.toString()); 
      new Thread() { 
       public void run() { 
        try { 
         performBackgroundProcess(); 

        } catch (Exception e) { 
        Log.i("###############", "Catch Block $$$$$$$$$$$$$$$$$$"); 
         Log.e("tag", e.getMessage()); 
        } 
        // dismiss the progress dialog 
        dialog.dismiss(); 
       } 
      }.start(); 
     } 
    } 
}; 

private void performBackgroundProcess() { 

    String authenticationLoginResponse = null; 
    String pst = null; 
    String accNumber = accountNumber.getText().toString(); 
    String emailAddrs = emailAddress.getText().toString(); 
    String pass = password.getText().toString(); 
    int isRem; 
    int isAuto; 
    if (remember.isChecked()) { 
     isRem = 1; 
    } else { 
     isRem = 0; 
    } 
    if (loginAutomatic.isChecked()) { 
     isAuto = 1; 
    } else { 
     isAuto = 0; 
    } 

    String envelope1 = "<req>" + "<channel>10</channel>" + "" 
      + "<system>CAPSTROV</system>" + "<persist>0</persist>" 
      + "<device>10B23T12SA</device>" + "<acno>" + accNumber 
      + "</acno>" + "<email>" + emailAddrs + "</email>" + "<pass>" 
      + pass + "</pass>" + "</req>"; 

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
    request.addProperty("requestXml", envelope1); 
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
      SoapEnvelope.VER11); 
    envelope.setOutputSoapObject(request); 
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
    Object response = null; 
    try { 
     androidHttpTransport.call(SOAP_ACTION, envelope); 
     response = envelope.getResponse(); 
     authenticationLoginResponse = response.toString(); 
     Log.i("&&&&&&&&&&&&&&&&&&&&&&", authenticationLoginResponse); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    try { 
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     Document doc = db.parse(new InputSource(new StringReader(
       authenticationLoginResponse))); 

     // normalize the document 
     doc.getDocumentElement().normalize(); 
     NodeList detnode = doc.getElementsByTagName("det"); 
     Node node1 = detnode.item(0); 
     Element fstelement1 = (Element) node1; 
     NodeList reglist1 = fstelement1.getElementsByTagName("pst").item(0) 
       .getChildNodes(); 
     Node nvalue1 = (Node) reglist1.item(0); 
     pst = nvalue1.getNodeValue(); 
     SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
     SharedPreferences.Editor prefsEditor = myPrefs.edit(); 
     prefsEditor.putString("pstValue",pst); 
     prefsEditor.commit(); 


     LoginScreenData loginScreenData = new LoginScreenData(); 
     loginScreenData.setPst(pst); 
     if (flag == 0) { 
      // Inserting values into login Table 
      dbOperation.insertData(accNumber, emailAddrs, pass, isRem, 
        isAuto, pst); 
     } else { 
      // Updating values into login Table 
      dbOperation.updateData(accNumber, emailAddrs, pass, isRem, 
        isAuto, pst); 
     } 
     dbOperation.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    if (pst.equals("")) { 
     dialog = ProgressDialog.show(LoginScreen.this, "Loading...", 
       "Please wait...", true); 
     dialog.show(); 
    } else { 
     Intent intent = new Intent(); 
     intent.setClass(getApplicationContext(), MainScreen.class); 
     intent.putExtra("pst", pst); 
     startActivity(intent); 
    } 

    Log.i("*************", dialog.toString()); 
} 

}

+0

null 포인터 예외가 발생하면서 null 인 것을 인쇄하려고합니다. – AkashG

+0

OP가 관련 세부 정보를 제공하지 않아서 어떤 이유로 든 코드를 포맷 할 수 없으므로이 코드를 닫거나 코드 및 세부 정보를 제공하십시오. – TheBlueCat

+0

귀하의 로그 중 하나에 null 값이 있다고 생각합니다. 확인하려면 다음과 같이하십시오. 각 로그 ""에 빈 문자열을 추가하십시오. 예 : Log.i ("*************", dialog.toString() + ""); 모든 로그에 대해이 작업을 반복하고 어떤 로그가 null을 인쇄하는지 확인하고 거기에서 캐치를 시도하십시오. –

답변

0
E/AndroidRuntime(351): java.lang.NullPointerException: println needs a message 07-25 14:27:41.218: 

당신은 당신의 활동을 마무리 한 후 의도에 이동? 왜? 의도를 완료 한 후 마침()

public void onBackPressed() { 

Intent i = new Intent(this, actio_main.class); 
i.setFlages(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
i.addCategory(Intent.CATEGORY_HOME); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 
finish(); 
+0

코드도 추가했습니다. 위. –

+0

@ NiteshKabra 업데이트 된 답변보기 – TheBlueCat

+0

아직 작동하지 않습니다. –

관련 문제