2013-04-04 2 views
1

나는 다음과 같은 코드를 가지고 있으며 제대로 작동 시키려하고 있습니다. Java 파일에 2 개의 오류가 있으며 수정 사항을 찾을 수 없습니다. 여기 MySQL 데이터베이스에 안드로이드와 PHP 연결

는 다음 2 줄에 오류가 있습니다 내 MySQLData.java 파일

package com.example.qosmetre2; 
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.NameValuePair; 
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.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.app.Activity; 
import android.net.ParseException; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.Toast; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import org.apache.http.NameValuePair; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.app.ListActivity; 
import android.app.ProgressDialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ListAdapter; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 
import android.widget.TextView; 

public class MySQLData extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    String result = null; 
    InputStream is = null; 
    StringBuilder sb=null; 
    String result=null; 
    //http post 

    try{ 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://localhost/android_test/fetch_data2.php"); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     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); 
     sb = new StringBuilder(); 
     sb.append(reader.readLine() + "\n"); 
     String line="0"; 
     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()); 
    } 
    //paring data 

    String nam; 
    int rec_pow; 
    int tow; 
    int stat; 

    try{ 
    JSONArray jArray = new JSONArray(result); 
    JSONObject json_data=null; 

    for(int i=0;i<jArray.length();i++){ 
      json_data = jArray.getJSONObject(i); 
      nam=json_data.getString("name"); 
      rec_pow=json_data.getInt("recieved_power"); 
      tow=json_data.getInt("tower"); 
      stat=json_data.getInt("status"); 

    } 

    }catch(JSONException e1){ 
     Toast.makeText(getBaseContext(), "Could not Parse Data", Toast.LENGTH_LONG).show(); 
    }catch (ParseException e1){ 
     e1.printStackTrace(); 

    } 

} 

} 

입니다 :

String result=null; 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

첫 번째 오류는 지역 변수 결과를 중복 말했다가, 두 번째 오류가 NameValuePair의 말한다 변수로 해석 될 수 없습니다.

나는 또한 내 wamp 서버에 넣고 응용 프로그램에 내 로컬 서버에 나타나는 infro thats 싶습니다 PHP 파일이 있습니다. 나는 내가 인터넷을 통해 응용 프로그램에서 액세스 할 수 있도록 앞으로 포트를해야 할 수도 어딘가에 읽었지 만 모르겠다. 오류가 수정 될 때까지 앱이 실행되지 않습니다.

이 여기에 코드를 검토에서

<?php 
mysql_connect("888888","8888888","*******"); 
mysql_select_db("*******"); 
$q=mysql_query("SELECT * FROM users"); 


while($row=mysql_fetch_assoc($q)) 
$output[]=$row; 

    print(json_encode($output)); 

    mysql_close(); 

?> 
+0

Java 용으로 어떤 IDE를 사용하고 있습니까? 괜찮은 변수는 중복되거나 정의되지 않은 변수에 밑줄을 긋 것입니다. – devnate

답변

2

fetch_data2.php 내 PHP 파일, 난 변수 결과는 두 번 정의하고 난 아무데도 정의 NameValuePair의 표시되지 않는 보는가. 나는 컴파일러가 정확하다고 생각한다 :})

관련 문제