2011-12-21 20 views
0

Я пытаюсь подключиться к базе данных MySQL, чтобы отобразить некоторую информацию в TextView. Я пытался этим уроком, но я боролся. Мой PHP должен быть в порядке. Меня беспокоит обработка данных. Я больше знаком с C#, чем с Java, поэтому может возникнуть моя путаница.Подключиться к базе данных MySQL

Вот то, что я до сих пор:

package shc_BalloonSat.namespace; 

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

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

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
//import android.view.View; 
import org.json.JSONArray; 
import org.json.JSONException; 

public class Shc_BalloonSat_Activity extends Activity 
{ 
     int historyCountFromUser; 

    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     assignInfoToInfoTextView(); 
     assignInfoToHistoryTextView(); 
    } 

    public void assignInfoToInfoTextView() 
    { 
     connect2DB(); 
     JSONArray jArray = new JSONArray(result); 

     TextView infoTV = (TextView)this.findViewById(R.id.info); 
     String infoText = "Last Known Altitude: " + /*put db info here*/ /*+*/ "\n"; 
     infoText += "Last Known Speed: " + /*put db info here*/ /*+*/ "\n"; 
     infoText += "Last Known Latitude:" + /*put db info here*/ /*+*/ "\n"; 
     infoText += "Last Known Longtitude: " + /*put db info here*/ /*+*/ "\n"; 

     infoTV.setText(infoText); 
    } 

    public void assignInfoToHistoryTextView() 
    {   
     connect2DB(); 
     JSONArray jArray = new JSONArray(result); 

     for (int count = 0; count <= 4; count++) 
     { 
       TextView historyTV = (TextView)this.findViewById(R.id.history); 
       String historyText = "Altitude: " + /*put db info here*/ /*+*/ "\n"; 
       historyText += "Speed: " + /*put db info here*/ /*+*/ "\n"; 
       historyText += "Latitude:" + /*put db info here*/ /*+*/ "\n"; 
       historyText += "Longtitude: " + /*put db info here*/ /*+*/ "\n\n"; 

       historyTV.append(historyText); 
     } 
    } 

    @SuppressWarnings("null") 

     public void connect2DB() 
    { 
     String result = ""; 
     ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 

     // Get data from database using HTTP Post 
     try 
     { 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("\* link to php file goes here */"); 
       httppost.setEntity(newUrlEncodedFormEntity(nameValuePairs)); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = new response.getEntity(); 
       InputStream is = entity.getContent(); 
     } 

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

     // Convert the data to a string that the phone can read 
     try 
     { 
       InputStream is = null; 
         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 "); 
     } 

     // Parse data 
     catch (JSONException e) 
     { 
       Log.e("log_tag", "Error parsing data "+e.toString()); 
     } 
    } 

     private HttpEntity newUrlEncodedFormEntity(
         ArrayList<NameValuePair> nameValuePairs) 
     { 
       // TODO Auto-generated method stub 
       return null; 
     }  
} 

Мой запрос тянет последние 5 записей из базы данных. Я хочу, чтобы последний из них пошел в обычный функционал и все остальные 4, чтобы войти в функцию истории, но в порядке убывания, чтобы они были организованы от самой новой записи до самой старой. Похоже ли, что я правильно это сделал?

ответ

1

Вы не пытаетесь подключиться к БД. Вы пытаетесь отправить данные в веб-службу. Если вы получаете результаты, то ваш клиентский код в порядке, и у вас нет проблем с подключением.

Если ваш фактический вопрос связан с разбиением результата и помещением его в разные места, то вам нужно будет рассказать нам, как выглядит результат.

Смежные вопросы