2012-01-10 20 views
2

私は、MySQLデータベースからデータにアクセス(検索)する必要があるAndroidアプリケーションを作成しています。このデータベースは、私が作成したウェブサイトによって提供されます。私はデータベースを作成しました。今私はそれにデータを転送するアプリが必要です。誰でも私を助けてくれますか?MySqlサーバーからAndroid Appへのデータの転送

以下のコードも添付します。私は、アプリケーションで3つのアクティビティを持っています。私はデータベースにデータを送信するRegister Activityのコードを掲示しています。データベースはウェブサイトmy3gb.comにあり、PHPMyAdminを使ってそれを変更できます。

package com.abc; 

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.ParseException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 
import org.apache.http.NameValuePair; 
import org.json.JSONException; 
import org.json.JSONObject; 
import org.json.JSONArray; 



import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class RegActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.reg); 
    EditText e1 = (EditText) findViewById(R.id.editText1); 
    EditText e2 = (EditText) findViewById(R.id.editText2); 
    EditText e3 = (EditText) findViewById(R.id.editText3); 
    EditText e4 = (EditText) findViewById(R.id.editText4); 
    EditText e5 = (EditText) findViewById(R.id.editText5); 
    EditText e7 = (EditText) findViewById(R.id.editText7); 
    Button b1 = (Button) findViewById(R.id.sub); 

    final String username = e1.getText().toString(); 
    final String phone_no = e2.getText().toString(); 
    final String email = e3.getText().toString(); 
    final String bld_grp = e4.getText().toString(); 
    final String city = e5.getText().toString(); 
    final String password = e7.getText().toString(); 



    b1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      InputStream is = null; 
      InputStream is1 = null; 
      ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("username",username)); 
      nameValuePairs.add(new BasicNameValuePair("phone_no",phone_no)); 
      nameValuePairs.add(new BasicNameValuePair("email",email)); 
      nameValuePairs.add(new BasicNameValuePair("bld_grp",bld_grp)); 
      nameValuePairs.add(new BasicNameValuePair("city",city)); 
      nameValuePairs.add(new BasicNameValuePair("password",password)); 
      try 
      {  
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("http://www.prozac.my3gb.com/UserPass.php"); 
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       is = entity.getContent(); 
       is1 = is; 
      } 

      catch(Exception e) 
      { 
        Log.e("log_tag", "Error in http connection"+e.toString()); 
      } 
      //convert response to string 
      String res = null; 
      try 
      { 

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

        JSONArray jArray = new JSONArray(res); 
        int [] deal_id=new int[jArray.length()+1]; 
        JSONObject json_data=null; 
        for(int i=0;i<jArray.length();i++) 
        { 
         json_data = jArray.getJSONObject(i); 
        } 
      }  
      catch(JSONException ej) 
      { 
      } 
      catch (ParseException ex) 
      { 
         ex.printStackTrace(); 
      } 


     } 
    }); 

}}

アプリケーションは、私が提出する]をクリックしたときの応答を停止します。

私は早くも助けていただきたいと思います。

+0

PHPでWebサービスを記述するための周りに検索する、いくつかの良いアイデアを得ることができる必要があります。 – jprofitt

答えて

0

データベースに接続する簡単なREST Webサービスを作成することをお勧めします。これにより、アプリケーションは簡単なGETおよびPOSTリクエストを行うことができます。

私は単純なWebサービスのために過去にFlaskを使用しましたが、それも強くお勧めします。

+0

Webサービスを作成せずにメソッドを提案できますか?私は緊急にこれを完了する必要があります。 PHPに関連する何かもうまくいくでしょう。 – nixnayak

+0

PHPを使用すると、基本的には小さなWebサービスが作成されます。 – SeanPONeil

+0

私はデータベースにデータを挿入するだけのPHPコードを手に入れました。しかし、私が登録ページの送信ボタンをクリックすると、アプリケーションは応答を停止します。 – nixnayak

関連する問題