Я написал код на Java, для подключения к базе данных и дальнейшей работы с ней, но когда я внедрил код в андроид приложение он перестало работать. Я использовал библиотеки java.sql.* встроенные в Android Studio, но при загрузке приложения ничего не работает(Когда я запускал код в eclipse всё работало) думаю, что ошибка не в коде, а с сетевыми настройками Android, но всё же прошу взглянуть.
Вот код:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//По нажатию кнопки
public void onAuthoR(View v) {
loginUser("Danon", "12345");
}
private void loginUser(String loginTxt, String passTxt) {
TextView textView1 = (TextView)findViewById(R.id.textview);
DatabaseHandler dbHandler = new DatabaseHandler();
User user = new User();
user.setUserName(loginTxt);
user.setPassword(passTxt);
ResultSet result = dbHandler.getUser(user);
int counter = 0;
try {
while(result.next()) {
counter++;
}
} catch (SQLException e) {
e.printStackTrace();
}
if (counter == 1) {
textView1.setText("Success");
System.out.println("Success!");
}else {
System.out.println("ERORE: not find user with this login and password");
textView1.setText("ERORE: not find user with this login and password");
}
}
}
public class DatabaseHandler extends Configs {
Connection dbConnection;
public Connection getDbConnection()
throws ClassNotFoundException, SQLException {
String connectionString = "jdbc:mysql://" + dbHost + ":"
+ dbPort + "/" + dbName + "?" +
"useUnicode=true&useSSL=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
Class.forName("com.mysql.jdbc.Driver");
dbConnection = DriverManager.getConnection(connectionString, dbUser, dbPass);
return dbConnection;
}
public ResultSet getUser(User user) {
ResultSet resSet = null;
String select = "SELECT * FROM " + Const.USER_TABLE +
" WHERE " + Const.USER_USERNAME + "=? AND " + Const.USER_PASSWORD + "=?";
try {
PreparedStatement prSt = getDbConnection().prepareStatement(select);
prSt.setString(1, user.getUserName());
prSt.setString(2, user.getPassword());
resSet = prSt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return resSet;
}
}
public class Const {
public static final String USER_TABLE = "users";
public static final String USER_ID = "idusers";
public static final String USER_FIRSTNAME = "firstName";
public static final String USER_LASTNAME = "lastName";
public static final String USER_USERNAME = "userName";
public static final String USER_PASSWORD = "password";
public static final String USER_LOCATION = "location";
public static final String USER_GENDER = "gender";
}
public class Configs {
protected String dbHost = "localhost";
protected String dbPort = "3306";
protected String dbUser = "root";
protected String dbPass = "";
protected String dbName = "RegularBase";
protected String dada = null;
}
public class User {
private String firstName;
private String lastName;
private String userName;
private String password;
private String location;
private String gender;
public User(String firstName, String lastName, String userName,
String password, String location, String gender) {
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.password = password;
this.location = location;
this.gender = gender;
}
public User() {}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
Я хочу реализовать в конечном итоге авторизацию и регистрацию людей в приложении. Посоветуйте, пожалуйста, что еще нужно кроме подключения. Я думал сделать всё это с помощью php скриптов, но Java приятнее.