質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

974閲覧

Android studio 、MySQL接続

MaiBota

総合スコア7

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/12/04 01:42

編集2022/01/12 10:55

###前提・実現したいこと
Android stuidoを用いて、レンタルサーバー(xdomain)上のMySQLへ接続して、あらかじめブラウザからphpで登録されたデータをやり取りするアプリケーションを作成しています。

http://web.sfc.wide.ad.jp/~tinaba/tutorials/mysql-ja/」
と「https://qiita.com/ks_513/items/0b286c4932a8e36c672e」の
上記のサイトを参考に、設定やサンプルコーディングを行っていますが、
Android studioからMySQLの接続が行えません。

###発生している問題・エラーメッセージ
実行しようとすると以下のエラーメッセージが出ます。

Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\h3a1\AndroidStudioProjects\MyApplication\app\libs\mysql-connector-java-8.0.7-dmr-bin.jar Error:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing com/mysql/cj/x/io/MessageBuilder.class Error:com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26) Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\h3a1\AndroidStudioProjects\MyApplication\app\libs\mysql-connector-java-8.0.7-dmr-bin.jar

###該当のソースコード
「MainActivity.java」

コード package com.example.hhhh.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class MainActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { //データベースに接続 Connection con = MySqlConnect.getConnection(); //ステートメントオブジェクトを作成 Statement stmt = (Statement) con.createStatement(); TextView textView = (TextView)findViewById(R.id.textView2); textView.setText("接続成功"); //SQL String mySql = "select test_code,name from test_list;"; ResultSet rs = stmt.executeQuery(mySql); //オブジェクトを解放 rs.close(); stmt.close(); con.close(); textView = (TextView) findViewById(R.id.textView2); textView.setText("接続成功"); } catch (Exception e) { TextView textView = (TextView)findViewById(R.id.textView2); textView.setText("接続失敗"); } } }

「MySqlConnect.java」

コード package com.example.hhhh.myapplication; import android.os.StrictMode; import java.sql.Connection; import java.sql.DriverManager; public class MySqlConnect { static Connection getConnection() throws Exception { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); //JDBCドライバのロード Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://IPアドレス/テーブル名"; String user = "ユーザー名"; String pass = "パスワード"; //データベースに接続 Connection con = DriverManager.getConnection(url,user,pass); return con; } }
コード 「AndroidManifest.xml」 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.hhhh.myapplication"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"> </uses-permission> </manifest>

「build.gradle(Module:app)」

apply plugin: 'com.android.application' android { compileSdkVersion 26 defaultConfig { applicationId "com.example.hhhh.myapplication" minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation project(':mysql-connector-java-8.0.7-dmr-bin') } コード

###試したこと
新しいバージョンだと互換性がない場合があるとあったので
mysql-connector-java-8.0.7-dmr-bin.jarではなく、
mysql-connector-java-5.1.27-bin.jarを使ってみた

###補足情報(言語/FW/ツール等のバージョンなど)
Android studio3.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/12/04 02:30

プログラムコード(およびエラーメッセージ)は```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)正しく反映されているかどうかは質問編集画面のプレビューを見ながら編集していってください。
MaiBota

2017/12/04 03:02

プログラムコードの囲い方がわからなかったのですが、変更することができました。ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問