총 게시물 922건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

제 로그인 액티비티 소스인데요.. 어디가 잘못되서 if문이 안돌아가는건지 좀 확인해주세요 ㅠㅠ

글쓴이 : 시험모드 날짜 : 2011-06-13 (월) 16:03 조회 : 19326
글주소 : http://www.androidside.com/B49_best/8330
 
  Intellij 자바개발환경
소프트웨어 개발자의 생산성을 위한 코드분석과 개발환경 - Intellij IDEA
www.jetbrains.com
  KGITBANK학원 김종수
상담예약접수처, 중고등학생수시대비, 대학전공, 국비지원취업, 정보보안전문가학원.
www.hrditbank.co.kr
  KG아이티뱅크 박성민 선생님
코딩 전문학원, JAVA, 초/중/고 IT진학상담 및 IT 취업 상담
javastudy.or.kr
신청하기


package kr.pe.theeye.qrcode;
import java.io.*;
//import 구문
 
 
public class MainActivity extends Activity  {

 private Button button;
 private Button button1;
 private String myResult;
 private String user_id, pwd1;
 
  @Override
 protected void onCreate(Bundle savedInstanceState)
 {  
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
        Button button = (Button) findViewById(R.id.loginb);
  button.setOnClickListener(new OnClickListener()
  {
@overrid
   public void onClick(View v)
   {
    boolean initem = false;
    String ItemName = "";
    String suc = "true";
    String fal = "false";
        
    user_id = ((EditText)(findViewById(R.id.user_id))).getText().toString(); 
          pwd1 = ((EditText)(findViewById(R.id.pwd1))).getText().toString(); 
    HttpPostData();
    
    try{
     
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        XmlPullParser parser = factory.newPullParser();
        URL text = new URL("http://119.77.111.162/logresult.xml");

        parser.setInput(text.openStream(), null);
     
        int eventType = parser.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT){
           switch(eventType){
           case XmlPullParser.START_DOCUMENT:
           case XmlPullParser.END_DOCUMENT:
           case XmlPullParser.END_TAG:
              break;
           case XmlPullParser.START_TAG:
              if (parser.getName().equals("item")){
                 initem = true;
              }
              break;
           case XmlPullParser.TEXT:
              if (initem){
                 ItemName = parser.getText();
                 initem = false;
              }
              break;
           }
           eventType = parser.next();
        }
     }
     catch (Exception e) { ;
     
     }
    
    ((TextView)(findViewById(R.id.text_result))).setText(ItemName);
    Log.d("reusert vaule is >>> ",myResult);
    Log.d("reusert vaule is >>> ",suc);
    Log.d("reusert vaule is >>> ",fal);
    if(myResult.equals(suc))
    {
         Intent intent = new Intent(MainActivity.this, first.class); // 두번째 액티비티를 실행하기 위한 인텐트
         startActivity(intent);// 두번째 액티비티를 실행합니다.
         Toast.makeText(MainActivity.this, "로긴 성공", 0).show();
             }
    else if(myResult.equals(fal))
     Toast.makeText(MainActivity.this, "로긴 실패", 0).show();
    else if(myResult.equals(""))
     Toast.makeText(MainActivity.this, "ItemName값없음", 0).show();
    else
     Toast.makeText(MainActivity.this, "if문안걸침", 0).show();

    }
  });

  /*button1 = (Button) findViewById(R.id.memberjoin);
  button1.setOnClickListener(new OnClickListener()
  {
@override
  public void onClick(View view)
   {      
              startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://119.77.111.162/join.html")));
        }
   
 });*/
  }
 
 
   //------------------------------
     //   Http Post로 주고 받기
     //------------------------------
   public String HttpPostData() {
          try {
               //--------------------------
               //   URL 설정하고 접속하기
               //--------------------------
               URL url = new URL("http://119.77.111.162/lesson1.php");       // URL 설정
               HttpURLConnection http = (HttpURLConnection) url.openConnection();   // 접속
               //--------------------------
               //   전송 모드 설정 - 기본적인 설정이다
               //--------------------------
               http.setDefaultUseCaches(false);                                           
               http.setDoInput(true);                         // 서버에서 읽기 모드 지정
               http.setDoOutput(true);                       // 서버로 쓰기 모드 지정 
               http.setRequestMethod("POST");         // 전송 방식은 POST
               // 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라는 걸 알려준다
               http.setRequestProperty("content-type", "application/x-www-form-urlencoded");
               //--------------------------
               //   서버로 값 전송
               //--------------------------
               StringBuffer buffer = new StringBuffer();
               buffer.append("user_id").append("=").append(user_id).append("&");                 // php 변수에 값 대 
               buffer.append("pwd1").append("=").append(pwd1);
             
               OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(), "EUC-KR");
               PrintWriter writer = new PrintWriter(outStream);
               writer.write(buffer.toString());
               writer.flush();
               //--------------------------
               //   서버에서 전송받기
               //--------------------------
               InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR"); 
               BufferedReader reader = new BufferedReader(tmp);
               StringBuilder builder = new StringBuilder();
               String str;
               while ((str = reader.readLine()) != null) {       // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
                    builder.append(str + "\n");                     // View에 표시하기 위해 라인 구분자 추가
               }
               myResult = builder.toString();                       // 전송결과를 전역 변수에 저장
             
          } catch (MalformedURLException e) {
                 //
          } catch (IOException e) {
                 // 
          } // try
   return myResult;
     } // HttpPostData
  
  
} // Activity
 
 
 
 
빨간if문이 문제의 부분인데요분석좀 부탁드리겠습니다. ㅠㅠ
 
왜 항상 else인지 정말 모르겠어요;;
아 그리고 중간에
myResult 와 ItemName은 같은 값이에요.
myResult로 하다가 안되서 ItemName(xml파싱값) 으로 바꿧거든요.
그래도 안되서 ㅠㅠ



시험모드 님의 개발 Q&A FAQ 최신글 [더보기]


질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

하솜 2011-06-13 (월) 16:11
while ((str = reader.readLine()) != null) {       // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
                    builder.append(str + "\n");                     // View에 표시하기 위해 라인 구분자 추가
               }
               myResult = builder.toString();                       // 전송결과를 전역 변수에 저장 
myResult에 전송된 값을 넣는데 이 부분이 true 도 false 도 아닌가 본데요?
위에 Log찍을 때 myResult가 어떻게 나오는지 말씀해주세요
댓글주소 추천 0 반대 0
시험모드 2011-06-13 (월) 16:13
//////아이디와 비번이 틀릴때
06-13 07:07:14.842: DEBUG/reusert vaule is >>>(549): false    //myResult
06-13 07:07:14.842: DEBUG/reusert vaule is >>>(549): true      // suc
06-13 07:07:14.853: DEBUG/reusert vaule is >>>(549): false    //  fal
 

///////아이디와 비번이맞을때
06-13 07:07:22.094: DEBUG/reusert vaule is >>>(549): true     //myResult
06-13 07:07:22.094: DEBUG/reusert vaule is >>>(549): true     // suc
06-13 07:07:22.094: DEBUG/reusert vaule is >>>(549): false    // fal
 
입니다..
댓글주소 추천 0 반대 0
하솜 2011-06-13 (월) 16:16
로그가 전부 같은 값으로 찍히니까 -_-;;;
 
myresult.trim() 해보세요...  혹시 빈공간의 영향이 ^^;
댓글주소 추천 0 반대 0
아낙 2011-06-13 (월) 16:25
흐음 맞는거 같은데 "]"+logresult+"[" 이런식으로 함 넣어서 테스트 해보세요. 
댓글주소 추천 0 반대 0
시험모드 2011-06-13 (월) 16:25
myResult.trim()을 if문 바로 위에 쓰는거죠??
 
해도 바로 else로 넘어가네요 ㅠㅠ
 
위쪽 if문 무시하고;;
댓글주소 추천 0 반대 0
시험모드 2011-06-13 (월) 16:27
윗분 말씀대로 했더니
Log.d("reusert vaule is >>> ","]"+myResult+"[");
 
Log가
06-13 07:27:43.865: DEBUG/reusert vaule is >>>(352): ]false
06-13 07:27:43.865: DEBUG/reusert vaule is >>>(352): [
06-13 07:27:43.874: DEBUG/reusert vaule is >>>(352): true
06-13 07:27:43.874: DEBUG/reusert vaule is >>>(352): false
요렇게 나왔네용;
그럼 개행문자가 잇는건가요?
댓글주소 추천 0 반대 0
하솜 2011-06-13 (월) 16:30
개행문자가 있네요.. str에 "\n" 빼보세요
 
그리고 myResult.trim();을 그냥 하면 안되고
myResult = myResult.trim();을 하거나
myResult.trim().equals(xxx); 이런식으로 해야됩니다..
댓글주소 추천 0 반대 0
아낙 2011-06-13 (월) 16:31
개행이 있습니다~~ ㅋㅋ
댓글주소 추천 0 반대 0
시험모드 2011-06-13 (월) 16:32
오!! str 입력에 \n 빼니 되는군요 흑흑 .. 감동입니다.정말 감사합니다.. 3일동안 고생했는데 드디어 풀었네요 ㅠㅠ 감사합니다!!!
댓글주소 추천 0 반대 0
시험모드 2011-06-13 (월) 16:33
아낙님 하솜님 정말 감사드립니다. ㅠㅠ
아낙님 말도 맞았는데 제가 수정을 못한거였군요 ... 정말 감사합니다. !!
댓글주소 추천 0 반대 0
아낙 2011-06-13 (월) 16:34
^^ 다행이네요 ㅎㅎ 이제 편히 주무세용 ㅎㅎ
댓글주소 추천 0 반대 0
하솜 2011-06-13 (월) 16:35
ㅎㅎㅎ 이럴때의 짜릿한 느낌!
이맛에 개발자를 하는거겠죠?
댓글주소 추천 0 반대 0
광호1 2011-06-26 (일) 01:26
이 느낌 알죠 ㅎㅎ
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기