2014-03-03 3 views
0

나는 대학을위한 응용 프로그램을 코딩하고 있으며, 활동 중 하나는 백그라운드에서 SMS 및 전자 메일을 통해 환경 설정에 저장된 뱅킹 정보를 보냅니다. 현재 전자 메일은 보내지 만, 기본 설정은 널 (null) 값 도착 :Android 도움말! null 포인터 및 코드 문제

전자 메일 보내기 방법 :

public synchronized void sendMail(String loc, String sender, String recipients) throws Exception { 
    try{ 
    MimeMessage message = new MimeMessage(session); 
    //loc = loc.replace(" ", ""); 
    String mes = "Help!! I've completely run out of money and need you to send some via bank transfer please. " 
      + "my account info is: " 
      + BankNameAddress 
      + " " 
      + " account number: " 
      + BankAccount 
      + " Sort Code is: " 
      + SortCode 
      + " " 
      + "Thank you so much!!"; 
    DataHandler handler = new DataHandler(new ByteArrayDataSource(mes.getBytes(), "text/plain")); 
    message.setSender(new InternetAddress(sender)); 
    message.setSubject("Help Money Emergency!"); 
    message.setDataHandler(handler); 
    addAttachment(mes); 
    message.setContent(_multipart); 
    if (recipients.indexOf(',') > 0) 
     message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients)); 
    else 
     message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); 
    Transport.send(message); 
    }catch(Exception e){ 

    } 
} 

환경 설정 자바 :

package com.attack.android; 

import android.os.Bundle; 
import android.preference.PreferenceActivity; 

public class Prefs extends PreferenceActivity{ 

    @SuppressWarnings("deprecation") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.prefs); 
    } 

} 

환경 설정 XML :

+4

logcat 출력을 게시하십시오. – SilentKiller

+0

먼저, 중요한 정보를 String 형식으로 보내지 말고 char []를 사용하십시오. 더 안전합니다. – Dejan

+0

환경 설정에서 데이터를 어떻게 가져 오나요? – PearsonArtPhoto

답변

0

난 당신이 올바르게 기본 설정 값을 채우기되지 않습니다 생각합니다. 당신이 그것을 어떻게 해야하는지 여기 있습니다.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
String bankAccount=prefs.getString("BankAccount",""); 
... 

첫 번째 값은 환경 설정의 키이고 두 번째 값은 이전에 아무 것도 입력하지 않은 경우의 기본값입니다.

또한 스타일의 문제로 클래스 만 대문자로 시작해야하며 변수는 소문자로 시작해야합니다. 단지 상황을 쉽게 파악할 수 있습니다. BankAccount은 그러한 예 중 하나입니다.