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

mssql에 직접연결해서 로그인을 구현하려고 하는데 도와주세요 ㅠㅠ

글쓴이 : 안뱅 날짜 : 2017-05-16 (화) 15:49 조회 : 1231
글주소 : http://www.androidside.com/B49/167254
 
  MS SQL할인 KS클라우드
정품가격 맞습니다. MS SQL 2016 75% 할인 이벤트, DB무상이전까지
www.ksidc.net
  네이버 클라우드 플랫폼
검증된 첨단 클라우드, 국가별 제공상품, 30만원 크레딧+무료 서버 받기
www.ncloud.com
  코리아정보보안IT학원 박수민
MSSQL겨울방학이벤트, 방학50%할인, 방학특강, 방학조기할인, 100%무료
koreaitcampus.com
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

public class MainActivity extends Activity {
ArrayAdapter<String> adapter;
MyAsyncTask mTask;
static String query ;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText idText = (EditText)findViewById(R.id.idText);
final EditText passwordText = (EditText)findViewById(R.id.passwordText);
final Button loginButton = (Button)findViewById(R.id.loginButton);


//adapter = new ArrayAdapter<String>(this, android.R.layout.);
//list1.setAdapter(adapter);

loginButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
final String userID = idText.getText().toString();
final String userPassword = passwordText.getText().toString();
query = "SELECT id, Password FROM user WHERE id = '"+userID+"'";


Intent intent = new Intent(MainActivity.this, MenuActivity.class);
intent.putExtra("userID", userID);
intent.putExtra("userPassword", userPassword);
MainActivity.this.startActivity(intent);
}
});

}

@Override
protected void onStart() {
super.onStart();

handler.sendEmptyMessage(0);
}


class MyAsyncTask extends AsyncTask<String, Void, ArrayList<String>>
{

@Override
protected void onPreExecute(){
super.onPreExecute();
}


@Override
protected ArrayList<String> doInBackground( String... params){


ArrayList<String> list = new ArrayList<String>();



ResultSet reset = null;
Connection conn = null;



try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://;databaseName=","","");
Statement stmt = conn.createStatement();

reset = stmt.executeQuery(query);



while(reset.next()){

if ( isCancelled() ) break;

final String str = reset.getString(1)+" "+reset.getString(2);
list.add(str);


}
conn.close();
}

catch (Exception e)
{
Log.w("111Error connection", "" + e.getMessage());
}

return list;
}

@Override
protected void onPostExecute(ArrayList<String> list){

adapter.clear();
adapter.addAll(list);


adapter.notifyDataSetChanged();

}

@Override
protected void onCancelled(){
super.onCancelled();
}
}

public Handler handler = new Handler(){
public void handleMessage( Message msg){
super.handleMessage(msg);

mTask = new MyAsyncTask();

mTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "");
}
};
}

위에가 저의 로그인창이 있는 메인엑티비티인데 디비 id pw와 유저가 타이핑한 id pw가 일치해야
로그인이 되게끔 해야 하잖아요?
문제는 doInBackground( String... params) 여기서 디비 id 와 pw 정보를 list란 이름의 리스트에 담고 리턴해주는데
여기서 list의 값들을 어떻게 가져와서 비교를 해야 하는지 잘 모르겠습니다.. 어떻게 가져와야하나요?



질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

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

뉴키 2017-05-17 (수) 08:09 추천추천 1 반대 0
MyAsyncTask는 실행되는 부분이 안보이네요.

내용을 보니 다른데서 쓰던 거 그대로 가져오신 거 같고..

로그인버튼 클릭 후 onPostExecute에서 list 비번값과 입력된 비번값을 비교하면 됩니다.

String str = reset.getString(1)+" "+reset.getString(2); 이 방법은 좋지 않으니 바꾸시는 게 좋겠네요.
뉴키 2017-05-17 (수) 08:09
베플로 선택된 게시물입니다.
MyAsyncTask는 실행되는 부분이 안보이네요.

내용을 보니 다른데서 쓰던 거 그대로 가져오신 거 같고..

로그인버튼 클릭 후 onPostExecute에서 list 비번값과 입력된 비번값을 비교하면 됩니다.

String str = reset.getString(1)+" "+reset.getString(2); 이 방법은 좋지 않으니 바꾸시는 게 좋겠네요.
댓글주소 추천 1 반대 0
     
     
안뱅 2017-05-17 (수) 09:58
[@뉴키]
네 감사합니다 참고하겠습니다!
댓글주소 추천 0 반대 0
     
     
안뱅 2017-05-17 (수) 14:31
[@뉴키]
근데 하나 여쭤볼게 있는데 로그인 버튼을 눌렀을때 아디비번을 비교해야 하는데 onClick에서 비교한다음 인텐트로 화면넘어가게 해야하지 않나요?? onPostExecute 여기서 어떻게 비교하는지 .. 막막하네요 ㅠㅠ 안드로이드는 한번도 안해봤는데 갑자기 시켜서
댓글주소 추천 0 반대 0
          
          
뉴키 2017-05-17 (수) 16:35
[@안뱅]
passwordText.getText().toString() 이걸 가져가서 쓰시던지 전역변수에 넣어놓고 쓰시던지 해서 비교하시면 되고요.

Intent를 onPostExecute에서 비교 후에 하세요.
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


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