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();
?>
Java 용으로 어떤 IDE를 사용하고 있습니까? 괜찮은 변수는 중복되거나 정의되지 않은 변수에 밑줄을 긋 것입니다. – devnate