Я работаю над приложением для Android, которое должно подключаться к базе данных Oracle с помощью драйвера Ojdbc7. Все это работает без проблем, когда я делаю это на основе консоли и без графического интерфейса.
Но когда я использую графический интерфейс, я получаю одно исключение за другим
//Activity main:
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> adapter;
private LinkedList<String> list;
private ListView lview;
private DBAccess access;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new LinkedList<>();
lview = findViewById(R.id.ListView);
try{
access = new DBAccess();
list = access.getTables();
}catch(Exception ex)
{
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT);
}
//list.add("TestItem1");
//list.add("TestItem2");
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, list);
//adapter.add("TestItem3");
try {
lview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}catch(Exception ex)
{
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT);
}
}
}
//DBAccess:
public class DBAccess
{
private String db_driver = "oracle.jdbc.driver.OracleDriver";
private String db_url = "PRIVATE STRING FROM WORK";
public DBAccess()
{
}
public LinkedList<String> getTables()
{
LinkedList<String> list = new LinkedList();
try{
Class.forName(db_driver);
}
catch (ClassNotFoundException ex)
{
System.out.println(ex.getMessage());
}
try {
Connection con = DriverManager.getConnection(db_url, "username", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT table_name FROM tabs");
while(rs.next())
{
list.add(rs.getString("table_name"));
}
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return list;
}
}
Мои ошибки:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.michael.jungheinrichv2, PID: 6431
java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/management/NotificationListener;
E/AndroidRuntime:
Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.example.michael.jungheinrichv2-o_84jhFcchIwDcB7u86aIA==/split_lib_resources_apk.apk
Ошибка возникает при вызове DriverManager.getConnection
Я надеюсь, что любой может мне помочь!
Дайте мне знать, если вам нужна дополнительная информация