2016-03-27 11 views
1

私は夢のホストでphpmyadminをセットアップしました。例えば、私はアンドロイドからデータベースからユーザー名とパスワードを取得したがっていますが、どうすればそれをやりますか?私のデータベースにアクセスするにはデータベースのユーザー名とパスワードが必要です。どうすれば私のアプリケーションのソースコードを表示してデータベースの資格情報を見ることができないのですか?安全にmysqlデータベースにAndroidを接続する方法

EDIT:私が持っている大きな誤解は、どこにphp webserviceファイルを保存するのですか?デバイス上ではありません、そうですか?

答えて

1

MySQLに直接接続することはできますが、特にプロダクションアプリの場合はお勧めできません。私のアドバイスは、接続を容易にするWebサービスを使用することです。

Webサービスは、Webユーザーやその他のWeb接続プログラム(この場合はAndroidアプリ)用にビジネスWebサーバーから提供されるサービスです。ここで

は、サーバーへのHTTP要求を行うクラスを作成します

+0

を答えを見つけるかもしれません。しかし、それは可能です。 – Wukash

+0

可能ですが、プロダクションアプリのための良い練習ではありません。私は私の答えを更新します。 – Nick

+0

私はWeb/Android開発を初めて利用しています。私はチュートリアルを見て、私はまだ静かではないWebサービスの事を理解しています。 phpファイルはWebサービスですか?私はまだデータベースログイン資格情報を格納してどこから情報を取得するのか混乱しています – Wyatt

-1

Android, MySQL and PHPを始めるための素晴らしいチュートリアルです。例えば、(私は値を取得するためにJSONの解析を使用しています):あなたのMainActivityで

public class JSONfunctions { 
     public static JSONObject getJSONfromURL(String url) { 
     InputStream is = null; 
     String result = ""; 
     JSONObject jArray = null; 

     // Download JSON data from URL 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost(url); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 

     } catch (Exception e) { 
      Log.e("log_tag", "Error in http connection " + e.toString()); 
     } 

     // Convert response to string 
     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      result = sb.toString(); 
     } catch (Exception e) { 
      Log.e("log_tag", "Error converting result " + e.toString()); 
     } 

     try { 
      jArray = new JSONObject(result); 
     } catch (JSONException e) { 
      Log.e("log_tag", "Error parsing data " + e.toString()); 
     } 

     return jArray; 
     } 
    } 

、クラスJsonFunctionsでオブジェクトを作成し、引数としてデータを取得したい場所からURLを渡します。例:

JSONObject jsonobject; 
jsonobject = JSONfunctions.getJSONfromURL("http://YOUR_DATABASE_URL"); 

最後にJSONタグを読み取り、その値をArrayListに保存します。その後、必要に応じてListViewに表示します。

あなたは、異なるバージョンには多くの問題がありますがあなたは間違いなく、JDBC経由で直接MySQLへ接続することができ、ここでCan an Android App connect directly to an online mysql database

+1

http接続?本当に?より安全な何かを見つけることができませんか? httpsと同じですか? – Tom

+0

最初に彼はhttpを試してみると、彼はhttps – srccode

+0

に移動できます。そして、ネットワーク上の誰かが自分のデータベースのパスワード**を盗む可能性があるので、そのコンテキストでhttpを使用することがいかに安全でないか強調して回答を更新します。 – Tom

関連する問題