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

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

글쓴이 : 시험모드 날짜 : 2011-06-13 (월) 16:03 조회 : 20926
글주소 : http://www.androidside.com/B49_best/8330
 
  서울게임아카데미
추천JAVA, 2018년 한국 소비자만족지수 1위, 고용노동부국비지원, 수강료조회
www.seoulgame.co.kr
  데브렉 자바마스터
JAVA, JSP, 스트럿츠, 스프링, MVC, 온라인 자바 동영상 교육과정.
www.devlec.com
  아마존 AWS 1년 무료체험
AWS 클라우드로 개발하는 JAVA, 유동적인 리소스 관리, 편리한 배포, 디버깅
aws.amazon.com/ko/
신청하기


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 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기