4 시간 동안이 문제를 해결하기 위해 노력하고 있으며 완전히 희망이 없습니다.Android 스튜디오 JDBC MySQL
이 응용 프로그램을 코딩하기 위해 android studio를 사용하고 있습니다. 나는 사용자 이름과 암호에 대한 편집 필드를 보유하는 간단한 활동을 만들었으며 그 다음에이 두 편집 필드에서 데이터를 제출하기위한 버튼이 있습니다.
나는 MySQL의 커넥터/J를 이용하고 있고 자바 코드는 다음입니다 ". 데이터베이스에 연결 실패"
package allanko.quizzerappandroid;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.sql.*;
public class LoginActivity extends AppCompatActivity
{
private static CDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
db = new CDatabase();
}
/*
public static CDatabase getDB()
{
return db;
}*/
public class CDatabase
{
private String db_name;
private String db_user;
private String db_pass;
private Connection connection;
private boolean isConnected;
public CDatabase()
{
db_name = "jdbc:mysql://localhost:3306/quizzer?useSSL=false";
db_user = "quizzer";
db_pass = "pass";
connection = null;
if(connect() == true)
isConnected = true;
else
isConnected = false;
printResult();
}
private boolean connect()
{
try
{
connection = DriverManager.getConnection(db_name, db_user, db_pass);
return true;
}
catch(Exception exc)
{
exc . printStackTrace();
return false;
}
}
private void printResult()
{
TextView dbText = (TextView)findViewById(R.id.dbText);
if(! isConnected)
dbText . setText("Connection to database failed");
else
dbText . setText("Connected to database.");
}
public ResultSet query(String query) throws SQLException
{
Statement statement = connection . createStatement();
return statement . executeQuery(query);
}
public boolean isConnected()
{
return isConnected;
}
}
}
내가 에뮬레이터 또는 내 휴대 전화, 그것은 때마다 쓰기 여부에이 응용 프로그램을 시작할 때 나는 콘솔에서이 무엇입니까 : 나는 내 마음에 와서 아무 일없는 모든 것을 구글하려하기 때문에
W/art: Common causes for lock verification issues are non-optimized dex code
W/art: and incorrect proguard optimizations.
W/art: Class android.support.v4.util.LruCache failed lock verification and will run slower.
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
W/System.err: java.sql.SQLException: java.lang.VerifyError: Verifier rejected class com.mysql.jdbc.CharsetMapping: void com.mysql.jdbc.CharsetMapping.<clinit>() failed to verify: void com.mysql.jdbc.CharsetMapping.<clinit>(): [0x4287] Invalid reg type for array index (Precise Reference: com.mysql.jdbc.MysqlCharset[]) (declaration of 'com.mysql.jdbc.CharsetMapping' appears in /data/app/allanko.quizzerappandroid-1/base.apk)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:877)
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:873)
W/System.err: at com.mysql.jdbc.Util.handleNewInstance(Util.java:422)
W/System.err: at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
W/System.err: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:569)
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:219)
W/System.err: at allanko.quizzerappandroid.LoginActivity$CDatabase.connect(LoginActivity.java:55)
W/System.err: at allanko.quizzerappandroid.LoginActivity$CDatabase.<init>(LoginActivity.java:43)
W/System.err: at allanko.quizzerappandroid.LoginActivity.onCreate(LoginActivity.java:19)
W/System.err: at android.app.Activity.performCreate(Activity.java:6664)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
W/System.err: at android.app.ActivityThread.-wrap12(ActivityThread.java)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:154)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6077)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
W/System.err: Caused by: java.lang.VerifyError: Verifier rejected class com.mysql.jdbc.CharsetMapping: void com.mysql.jdbc.CharsetMapping.<clinit>() failed to verify: void com.mysql.jdbc.CharsetMapping.<clinit>(): [0x4287] Invalid reg type for array index (Precise Reference: com.mysql.jdbc.MysqlCharset[]) (declaration of 'com.mysql.jdbc.CharsetMapping' appears in /data/app/allanko.quizzerappandroid-1/base.apk)
W/System.err: at com.mysql.jdbc.CharsetMapping.getNumberOfCharsetsConfigured(CharsetMapping.java:687)
W/System.err: at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:464)
W/System.err: at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
W/System.err: at java.lang.reflect.Constructor.newInstance0(Native Method)
W/System.err: at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
W/System.err: at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
W/System.err: ... 19 more
W/gralloc_ranchu: Gralloc pipe failed
나는 완전히 절망적입니다.
미리 답변 해 주셔서 감사합니다.
귀하의 MySQL은 어디에서 실행되고 있습니까? –
내 로컬 호스트에 있습니다. – scarface
그건 그렇고 로컬 mysql 또는 원격 서버에 연결하려고하는지 여부는 동일합니다. – scarface