android jdbc mysql problem

Odpowiedz Nowy wątek
2017-12-06 19:04
0

Czesc,
mam problem z polczeniem sie z mysql poprzez jdbc w androidzie. Bylbym wdzieczny gdyby ktos mogl podpowiedziec jak ten temat ogarnac. Chce zrobic aplikacje ktora koniecznie musi sie laczyc z baza na zewnetrznym serwerze dlatego nie moge uzyc sqlite'a. Najwiekszy problem niestety mam z polaczeniem sie z baza.

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class MainActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        testDB();
    }

    public void testDB() {
        TextView tv = (TextView)this.findViewById(R.id.napis);
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1 ", "root", "");
            /* System.out.println("Databaseection success"); */

            String result = "Database connection success\n";
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery("select * from PROGRAMISTA");
            ResultSetMetaData rsmd = rs.getMetaData();

            while(rs.next()) {
                result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
                result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
                result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
            }
            tv.setText(result);
        }
        catch(Exception e) {
            e.printStackTrace();
            tv.setText(e.toString());
        }

    }
}

logcat

12-06 18:55:31.112 30138-30138/? E/Zygote: v2
12-06 18:55:31.132 30138-30138/? E/SELinux: [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL

eventlog

18:56   Emulator: audio: Failed to create voice `goldfish_audio_in'

18:56   Emulator: qemu-system-i386.exe: warning: opening audio input failed

18:56   Emulator: audio: Failed to create voice `adc'

title

Sterownik do karty graficznej mam najnowszy, tylko karta graficzna juz nie dokonca najnowsza...

edytowany 2x, ostatnio: isetto, 2017-12-06 19:07

Pozostało 580 znaków

2017-12-06 20:26
Astro
0

ogolnie to baza sql nie ma nic do rzeczy. Twoj problem dotyczy sie emulatora. Twoj kod bedzie dzialal na telefonie. Sprawdz czy na pewno masz zaktualizowany emulator do najnowszej wersji. Zawsze uzywaj najbardziej akutalnych narzedzi.

Problem jest opisany tutaj

jezeli akutalizacja emulatora do najnowszego nie zadziala to odpal emulator z terminala przy uzyciu:

emulator -avd avd_name -gpu mode

osobiscie uwazam ze development jest wygodniejszy na fizycznych urzadzeniach, np dlatego ze sa szybsze

Pozostało 580 znaków

2017-12-06 21:24
0

Dzieki za odp, niestety na telefonie tez pokazuje blad podczas laczenia sie bazy ten sam tekst co na emulatorze. Emulator jest zaktualizowany. Probowalem rowniez wpisac w terminalu to co podales, ale wyskakuje:

'emulator' is not recognized as an internal or external command,
operable program or batch file.

niedawno zepsul mi sie, a moze nigdy nie dzialal na tym nowo postawiono systemie, terminal i polecenia ping wp.pl, ipconfig daja ten sam rezultat. Czy to ma zwiazek ze zmienna srodowiskowa path w ktorej zmienilem wartosci gdy bawilem sie w eclipsie?

Pozostało 580 znaków

2017-12-07 09:30
0

postaw se najprostszy serwer REST-owy i odpytuj go zamiast się łączyć bezpośrednio z bazą danych

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0