首先,我无法将我的 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并运行应用程序。