1

首先,我无法将我的 Galaxy s2 Android 4.0.3 连接到我的 PC,eclipse 找不到作为设备,所以我必须编译并复制到我的存储卡上,然后将其安装在手机上。我正在调试模式下编译。这会是问题吗?其次,我使用 API Level 10 (Gingerbread 2.3.3) 来开发应用程序。

应用程序做什么?

该应用程序。有两个 EditText (用户名和密码)和一个提交按钮。当此人提交“表单”时,我将连接到一个网页,并验证此人提供的用户名和密码是否有效。如果它是有效的,那么这个人就会被迫打开一个网页。这是崩溃的应用程序。手机显示屏变暗,10-15 秒后我收到“应用程序崩溃”的警报。在模拟器上一切正常。

这是代码:

@Override
public void onCreate(Bundle savedInstance){
   //...
   if( checkUser(strUsername, strPassword) ){
      Intent browserInt = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mydomain.com"));
      startActivity(browserInt);
   }
}

private boolean checkUser(String user, String pass){

        HttpClient client = new DefaultHttpClient();
        HttpGet req = new HttpGet("http://mydomain.com/login.php?u="+user+"&p="+pass+"");
        try {
            HttpResponse response = client.execute(req);

            String html = "";
            InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String line = "";
            while((line = reader.readLine()) != null){
                html += line;
            }

            reader.close();
            in.close();

            if(html == null || html.length() < 5) return false;

            String[] temp1 = html.split("<body>");
            String[] temp2 = temp1[1].split("</body>");

            if(!temp2[0].equals("correct")) return false;

            return true;

        } catch (ClientProtocolException e) {
            System.out.println(e);
        } catch (IOException e) {
            System.out.println(e);
        }

        return false;
    }

解决方案 我启动了 CMD 并输入了路径(adb.exe 所在的位置)。就我而言:

D:/eclipse android/5.sdk/sdk/platform-tools/adb.exe

然后我在我的设置中启用了调试并将 USB 插入我的电脑。然后我在 CMD 中输入了这个命令:

adb.exe 启动服务器

然后我检查了我的设备(我的手机)是否已连接:

adb.exe 设备

他就在那里。我进入eclipse并运行应用程序。

4

1 回答 1

0

在此处下载 Samsung Kies ,这将为您的设备安装驱动程序,然后 adb 将连接到您的设备,您将能够在 LogCat 中看到错误。根据您的错误描述,您的真实设备上的网络连接似乎很慢/不稳定,请检查它是否正常,然后重试。当您连接到设备时,请发布错误日志。

于 2013-02-09T11:47:26.347 回答