마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

로그인 아이디와 틀리면 안넘어 가게 하는방법좀 가르쳐주세요

0 추천
메인소스부분 입니다.
package org.logintest;

public class LoginTestActivity extends Activity {
	/** Called when the activity is first created. */

	EditText et_id;
	EditText et_pw;
	TextView tv_msg;

	private static String id = "";
	private static String pw = "";
	private static String msgString = null;
	private static boolean isConnected = false;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		StrictMode.enableDefaults();

		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		et_id = (EditText) findViewById(R.id.edit_id);
		et_pw = (EditText) findViewById(R.id.edit_pw);

		tv_msg = (TextView) findViewById(R.id.text_msg);

		// Button btn_web = (Button) findViewById(R.id.btn_web);
		// btn_web.setOnClickListener(new View.OnClickListener() {

		// public void onClick(View v) {
		// Intent intent = new Intent(LoginTestActivity.this,
		// WebViewTest.class);
		// startActivity(intent);
		// }edit
		// });

		final Button btn_login = (Button) findViewById(R.id.btn_login);
		//btn_login.setOnClickListener(new View.OnClickListener() {
		//	@Override
		//	public void onClick(View v) {
		//		// TODO Auto-generated method stub
		//		Intent intent = (new Intent(LoginTestActivity.this, page1.class));
		//	}
		//});
		btn_login.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				// String url = "http://192.168.0.9:8080/0525/login.jsp";
				id = et_id.getText().toString();
				pw = et_pw.getText().toString();
				new Handler().post(new Runnable() {
					public void run() {
						String url = "http://211.227.253.157:8080/ApacheTomca/login.jsp";
						// String url =
						// "http://125.179.204.2:8080/AndroidServer/login.jsp?id=mygirl2&pwd=1111";
						new LoginTestActivity().connect(url);
						while (true) {
							if (isConnected) {
								Toast.makeText(LoginTestActivity.this, msgString, Toast.LENGTH_LONG).show();
								break;
							}
						}
					}
				});
			}
		});
	}

	private void setText(String s) {
		tv_msg.setText(s);
	}

	private void connect(String url) {
		new WebConnection().execute(url);
	}

	private class WebConnection extends AsyncTask<String, Void, HttpResponse> {

		@Override
		protected HttpResponse doInBackground(String... urls) {
			HttpClient client = new DefaultHttpClient();
			HttpConnectionParams
					.setConnectionTimeout(client.getParams(), 10000);
			List<NameValuePair> params = new ArrayList<NameValuePair>();
			params.add(new BasicNameValuePair("id", id));
			params.add(new BasicNameValuePair("pwd", pw));

			Log.i("id", id);
			Log.i("pwd", pw);

			String url = urls[0] + "?"
					+ URLEncodedUtils.format(params, "UTF-8");
			// String url =
			// "http://125.179.204.2:8080/AndroidServer/login.jsp?id=mygirl2&pwd=1111";

			HttpGet httpGet = new HttpGet(url);

			HttpResponse response = null;
			String s = "";
			StringBuffer sb = null;
			try {
				response = client.execute(httpGet);
				HttpEntity entity = response.getEntity();
				InputStream is;
				BufferedReader br = null;
				if (entity != null) {
					is = entity.getContent();
					br = new BufferedReader(new InputStreamReader(is));
					s = "";
					sb = new StringBuffer();
				}
				while ((s = br.readLine()) != null) {
					sb.append(s);
				}
				Log.i("sb : ", sb.toString());
				msgString = sb.toString().trim().toString();
				Log.i("msgString : ", msgString);
				isConnected = true;
			} catch (ClientProtocolException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}

			return response;
		}
	}
}

Intent intent = (new Intent(LoginTestActivity.this, page1.class)); 이거써서 할료고 하니깐. 버튼 클릭시 그냥 넘어 감니다.

로그인이 안될경우 화면 안넘어가게 하는 방법 좀 알려주세요

 

 

<%@ page import="java.sql.*" language="java"
	contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="java.io.*"%>

<%!boolean isIdExist = false;%>

<%
	// 요청시 한글 처리

	request.setCharacterEncoding("UTF-8");

	// 요청시 한글처리

	response.setContentType("text/html;charset=UTF-8");

	// 요청한 곳으로부터 파라미터 받기

	String u_id = request.getParameter("id");
	String u_pwd = request.getParameter("pwd");
	Connection con = null;
	Statement st = null;
	ResultSet rs = null;
	try {

		Class.forName("oracle.jdbc.driver.OracleDriver");
		String url = "jdbc:oracle:thin:@211.227.253.163:1521:orcl";
		String db_id = "scott";
		String db_pw = "qwe123";
		con = DriverManager.getConnection(url, db_id, db_pw);
		st = con.createStatement();
		String sql = "select*from member1";
		rs = st.executeQuery(sql);
		while (rs.next()) {
			String id = rs.getString("id");
			String pwd = rs.getString("pwd");
			String name = rs.getString("name");
			String phone = rs.getString("reg_date");
			String msg = "";

			if (id.equals(u_id)) {
				isIdExist = true;

				if (pwd.equals(u_pwd)) {
					out.println(name + "님 로그인되었습니다. 환영합니다.");
					/* msg = name+ "님 로그인되었습니다. 환영합니다.";
					session.setAttribute("id", id);
					session.setAttribute("pwd", pwd);
					session.setAttribute("name", name);
					session.setAttribute("phone", phone);
					session.setAttribute("msg", msg);
					response.sendRedirect("editUser.jsp"); */
				}

				else {
					out.println("비밀번호가 틀렸습니다.");
				}
			}
		}

		if (!isIdExist) {
			out.println("아이디가 틀렸습니다.");
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	try {
		if (rs != null)
			rs.close();
		if (st != null)
			st.close();
		if (con != null)
			con.close();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
%>

 

익명사용자 님이 2013년 7월 24일 질문

1개의 답변

0 추천
AsynTask 사용시....

 

doinBackground 에서 인터넷 통신 로직을 처리하시고

 

doPostExecute() 메소드에서 UI 스레드 조작을 하셔야합니다.

오버라이드 하셔서 doPostExecute() 에서 startActivity(new Intent) 하세요.

 

AsynTask 클래스로 검색 하셔서 공부좀 하시면 아실거에요
AND chobo (4,690 포인트) 님이 2013년 7월 24일 답변
안녕하세요
잘안되어서 그런데 좀 더 자세히좀 알려주실수 없나여??
...