1

我有一个应用程序通过从 php API 获取信息从谷歌日历获取信息,问题是该应用程序可以在模拟器上运行,但是当我尝试在手机上使用它时,只有一个没有信息的常规黑屏。这似乎是一个连接问题(不像我的第一个想法)。模拟器 android 版本是 2.3.3 和我的手机一样。

这是我的代码:

 public class AgendaActivity extends Activity {
    /** Called when the activity is first created. */
  public static final String CAL= "http://192.168.1.58/calendar.php";
  ListView vue;
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
  vue = (ListView) findViewById(R.id.listView1);
      List<HashMap<String, String>> liste = new ArrayList<HashMap<String,String>>();       
      HashMap<String, String> element;
    String result = getServerData(CAL);
    String[] chaine = result.split(";");
    for(int i=1;i<chaine.length-1;i++)
    {
                String[] event = chaine[i].split(":");
                element = new HashMap<String, String>();
                element.put("titre", event[1]);
                element.put("date",event[3]+":"+event[4] );
                liste.add(element);
    }
      ListAdapter adapter = new SimpleAdapter(this,  
            liste,
            android.R.layout.simple_list_item_2,
            new String[] {"titre", "date"}, 
            new int[] {android.R.id.text1, android.R.id.text2 });
      vue.setAdapter(adapter);      
}
private String getServerData(String returnString)  {    
    InputStream is = null;
    String result = "";
    File file = new File("sdcard/event.txt");
    FileWriter fw;
    FileReader fr;
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("contact",""));
    HttpResponse response=null;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(returnString);
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
         response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();   
    }catch(Exception e){
        Log.e("log_tag", "Error in http connection " + e.toString());
        String str = "";
        int i = 0;  
        try {
            fr =new FileReader(file);
            while((i = fr.read()) != -1)
                str += (char)i;
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        returnString=str;
        return returnString;    
    }
    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{
        JSONArray jArray = new JSONArray(result);   
        for(int i=0;i<jArray.length();i++)
        {
            JSONObject json_data = jArray.getJSONObject(i);
            returnString = ""+ json_data;
        }
        }catch(JSONException e)
    {  
        returnString=e.toString();
    }
    try {
            fw = new FileWriter(file);
        fw.write(returnString);
        fw.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return returnString; }      
 }

模拟器上的应用程序运行良好,但是当我启动应用程序时,我在错误部分进入 logcat:

04-10 15:03:56.493: E/Zygote(33): setreuid() failed. errno: 2
04-10 15:04:09.523: E/Zygote(33): setreuid() failed. errno: 17
04-10 15:04:12.363: E/BatteryService(72): usbOnlinePath not found
04-10 15:04:12.363: E/BatteryService(72): batteryVoltagePath not found
04-10 15:04:12.363: E/BatteryService(72): batteryTemperaturePath not found
04-10 15:04:12.393: E/SurfaceFlinger(72): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
04-10 15:04:12.723: E/SensorService(72): couldn't open device for module sensors (Invalid argument)
04-10 15:04:20.463: E/EventHub(72): could not get driver version for /dev/input/mouse0, Not a typewriter
04-10 15:04:20.463: E/EventHub(72): could not get driver version for /dev/input/mice, Not a typewriter
04-10 15:04:20.493: E/System(72): Failure starting core service
04-10 15:04:20.493: E/System(72): java.lang.SecurityException
04-10 15:04:20.493: E/System(72):   at android.os.BinderProxy.transact(Native Method)
04-10 15:04:20.493: E/System(72):   at  android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
04-10 15:04:20.493: E/System(72):   at android.os.ServiceManager.addService(ServiceManager.java:72)
04-10 15:04:20.493: E/System(72):   at com.android.server.ServerThread.run(SystemServer.java:206)
04-10 15:04:21.153: E/SoundPool(72): error loading /system/media/audio/ui/Effect_Tick.ogg
04-10 15:04:21.153: E/SoundPool(72): error loading /system/media/audio/ui/KeypressStandard.ogg
04-10 15:04:21.163: E/SoundPool(72): error loading /system/media/audio/ui/KeypressSpacebar.ogg
04-10 15:04:21.163: E/SoundPool(72): error loading /system/media/audio/ui/KeypressDelete.ogg
04-10 15:04:21.163: E/SoundPool(72): error loading /system/media/audio/ui/KeypressReturn.ogg
04-10 15:04:21.245: E/UsbObserver(72): java.lang.NullPointerException
04-10 15:04:21.245: E/UsbObserver(72):  at com.android.server.UsbObserver.init(UsbObserver.java:131)
04-10 15:04:21.245: E/UsbObserver(72):  at com.android.server.UsbObserver.<init>(UsbObserver.java:65)
04-10 15:04:21.245: E/UsbObserver(72):  at com.android.server.ServerThread.run(SystemServer.java:402)
04-10 15:04:22.623: E/ThrottleService(72): Could not open GPS configuration file /etc/gps.conf
04-10 15:04:26.083: E/logwrapper(173): executing /system/bin/tc failed: No such file or directory
04-10 15:04:26.123: E/logwrapper(174): executing /system/bin/tc failed: No such file or directory
04-10 15:04:26.239: E/logwrapper(175): executing /system/bin/tc failed: No such file or directory
04-10 15:17:37.467: E/InputDispatcher(72): channel '407739a0 com.android.agenda/com.android.agenda.AgendaActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
04-10 15:17:37.467: E/InputDispatcher(72): channel '407739a0 com.android.agenda/com.android.agenda.AgendaActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

有任何想法吗?

4

1 回答 1

1

我终于找到问题出在哪里了。我没有更改我的 xampp 的设置以允许从我只在本地工作的 oustide 进行连接。

于 2012-04-12T15:13:03.393 回答