2014-04-02 2 views
0

를 MySQL로, 나는이 같은 일 MySQL의에 안드로이드 응용 프로그램을 연결하는연결 안드로이드 응용 프로그램은 내가 안드로이드에 새로 온 사람

import java.sql.*; 
public class MainActivity extends Activity { 

    private EditText username=null; 
    private EditText password=null; 
    private TextView attempts; 
    private Button login; 
    int counter = 3; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     username = (EditText)findViewById(R.id.editText1); 
     password = (EditText)findViewById(R.id.editText2); 
     attempts = (TextView)findViewById(R.id.textView3); 
     attempts.setText(Integer.toString(counter)); 
     login = (Button)findViewById(R.id.button1); 
    } 

    public void login(View view) throws ClassNotFoundException{ 
     Connection conn=null; 
     ResultSet rs=null; 
     PreparedStatement stmt=null; 
     String username1 = String.valueOf(username.getText()); 
     String password1 = String.valueOf(password.getText()); 
     String Query="SELECT * from users where mail=? and password=?"; 
     try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/wst","xxxxxxxx","xxxxxx"); 

      stmt=conn.prepareStatement(Query); 
      stmt.setString(1, username1); 
      stmt.setString(2, password1); 
      rs=stmt.executeQuery(); 
      boolean more=rs.next(); 

      if(more){ 
       Toast.makeText(getApplicationContext(), "Redirecting...", 
         Toast.LENGTH_SHORT).show(); 
      } 
      else{ 
       Toast.makeText(getApplicationContext(), "Wrong Credentials", 
         Toast.LENGTH_SHORT).show(); 
       attempts.setBackgroundColor(Color.RED); 
       counter--; 
       attempts.setText(Integer.toString(counter)); 
       if(counter==0){ 
        login.setEnabled(false); 
       } 

      } 

     } 

     catch(SQLException e){ 

     } 



    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

MySQL 데이터베이스에 연결하는 것이 맞습니까?

+0

안드로이드 장치 ('localhost')에서 mysql 데이터베이스를 실행합니까? – Fortega

답변

2

Android 프레임 워크 용 내장형 MySQL 커넥터가 없으며 외부 용 jar을 사용하는 것이 좋습니다. 이것을 달성 할 수있는 가장 좋은 방법은 원격 서버의 웹 서비스를 통해 이루어 지므로 데이터베이스에 직접 MySQL 쿼리를 보내는 대신 원격 웹 서버에 HTTP POST을 보냅니다 (예 : PHP, Python 등 원하는 방식으로 작성).) 이것은 로컬 데이터베이스에 연결하여 쿼리를 작성합니다.

나는 this example가 도움이 될 것이라고 생각합니다.

관련 문제