Android kann die MySQL-Datenbank verwenden. Es gibt zwei Möglichkeiten für Android, eine Verbindung zur Datenbank herzustellen, nämlich: 1. Durch Herstellen einer Verbindung zum Server, und dann liest der Server die Datenbank, um das Hinzufügen, Löschen und Ändern zu realisieren und Abfrage von Daten; 2. Laden Sie das externe JAR-Paket und stellen Sie eine direkte Verbindung zur Datenbank her.
Android kann die MySQL-Datenbank verwenden. Es gibt zwei Möglichkeiten für Android, eine Verbindung zur Datenbank herzustellen.
Die erste Methode besteht darin, eine Verbindung zum Server herzustellen. Anschließend liest der Server die Datenbank, um Daten hinzuzufügen, zu löschen, zu ändern und zu überprüfen. Dies ist auch unsere übliche Methode.
Die zweite Methode besteht darin, dass Android eine direkte Verbindung zur Datenbank herstellt. Diese Methode verbraucht viel Speicher des Mobiltelefons und lässt sich leicht dekompilieren, was zu Sicherheitsrisiken führt. Daher wird sie in tatsächlichen Projekten nicht empfohlen.
1. Laden Sie das externe JAR-Paket
Wenn Sie JDBC im Android-Projekt verwenden möchten, müssen Sie das externe JAR-Paket von JDBC importieren, da es in Javas JDK keine JDBC-API gibt Ich verwende das Paket mysql-connector-java-5.1.18-bin.jar. Es gibt das Paket mysql-connector-java-5.1.18-bin.jar im Internet. Ich habe festgestellt, dass es nicht kompatibel ist, also habe ich es heruntergeladen. Für neuere Versionen kann das JAR-Paket von der offiziellen Website oder von Baidu heruntergeladen werden.
2. So importieren Sie das JAR-Paket
Methode 1:
Sie können die folgende Anweisung direkt zur build.gradle-Datei des Projekts hinzufügen, um das
compile files('libs/mysql-connector-java-5.1.18-bin.jar')
Methode Zwei: Laden Sie das JAR-Paket herunter und kopieren Sie es in das libs-Verzeichnis des Projekts. Klicken Sie dann mit der rechten Maustaste auf das kopierte JAR-Paket. Als libs hinzufügen
3 Stellen Sie eine Datenbankverbindung her
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_jdbc); new Thread(runnable).start(); } Handler myHandler=new Handler(){ public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); Bundle data=new Bundle(); data=msg.getData(); //System.out.println("id:"+data.get("id").toString()); //输出第n行,列名为“id”的值 Log.e("TAG","id:"+data.get("id").toString()); TextView tv= (TextView) findViewById(R.id.jdbc); //System.out.println("content:"+data.get("content").toString()); } }; Runnable runnable=new Runnable() { private Connection con = null; @Override public void run() { // TODO Auto-generated method stub try { Class.forName("com.mysql.jdbc.Driver"); //引用代码此处需要修改,address为数据IP,Port为端口号,DBName为数据名称,UserName为数据库登录账户,Password为数据库登录密码 con = //DriverManager.getConnection("jdbc:mysql://192.168.1.202:3306/b2b", "root", ""); DriverManager.getConnection("jdbc:mysql://http://192.168.1.100/phpmyadmin/index.php:8086/b2b", UserName,Password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { testConnection(con); //测试数据库连接 } catch (java.sql.SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void testConnection(Connection con1) throws java.sql.SQLException { try { String sql = "select * from ecs_users"; //查询表名为“oner_alarm”的所有内容 Statement stmt = con1.createStatement(); //创建Statement ResultSet rs = stmt.executeQuery(sql); //ResultSet类似Cursor //<code>ResultSet</code>最初指向第一行 Bundle bundle=new Bundle(); while (rs.next()) { bundle.clear(); bundle.putString("id",rs.getString("userid")); //bundle.putString("content",rs.getString("content")); Message msg=new Message(); msg.setData(bundle); myHandler.sendMessage(msg); } rs.close(); stmt.close(); } catch (SQLException e) { } finally { if (con1 != null) try { con1.close(); } catch (SQLException e) {} } } };
Hinweis:
ist in Nach Android 4.0 sind zeitaufwändige Vorgänge im Hauptthread nicht zulässig (das Herstellen einer Verbindung zur Datenbank ist ein zeitaufwändiger Vorgang, um diesen Zeitaufwand zu bewältigen). Wenn kein neuer Thread vorhanden ist, wird der Vorgang immer ausgeführt. Beenden Sie einfach das Programm und öffnen Sie einen neuen Thread, um ihn direkt zu verarbeiten, und es wird kein Problem geben.
Natürlich ist für die Verbindung mit der Datenbank ein Netzwerkzugriffsrecht erforderlich:
<uses-permission android:name=”android.permission.INTERNET”/>
4. Das importierte JAR-Paket muss korrekt sein
2. Ein neuer Thread muss geöffnet werden, um eine Verbindung zur Datenbank herzustellen
3 Die IP der Datenbank muss pingbar sein und auf die LAN-Adresse kann nicht per Mobiltelefon zugegriffen werden
4. Befindet sich der Server, auf dem Sie sich befinden, in einer Firewall, die den Zugriff blockiert?
Das obige ist der detaillierte Inhalt vonKann Android MySQL verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!