简体   繁体   English

Android 应用程序在模拟器上工作但在手机上不工作(连接问题)

[英]Android app working on emulator but not on the phone (connection issue)

I have an application that gets information from google calendar by getting them from the php API, the issue is that the app works on the emulator but when I try to use it on my phone there is only a regular black screen with no information.我有一个应用程序,通过从 php API 获取它们来从谷歌日历获取信息,问题是该应用程序在模拟器上运行但是当我尝试在我的手机上使用它时,只有一个没有信息的常规黑屏。 It seems to be a connection issue (unlike my first thought).这似乎是一个连接问题(与我的第一个想法不同)。 The emulator android version is 2.3.3 and same thing for my phone.模拟器 android 版本是 2.3.3 和我的手机一样。

This is my code:这是我的代码:

 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; }      
 }

The app on the simulator works fine but, when i launch the app i get on the logcat in the error section:模拟器上的应用程序运行良好,但是,当我启动该应用程序时,我在错误部分进入了 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!

Any ideas?有任何想法吗?

I finally found where the problem came from.我终于找到了问题的根源。 I didn't change the setting of my xampp to allow connection from oustide i was working on local only.我没有更改我的 xampp 的设置以允许来自 oustide 的连接,我只在本地工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM