我使用下面的代碼從服務器獲取數據,如果從服務器值GEEK
那麼它會自動裝載到下一節課,但新視圖沒有加載新的屏幕。你能說出什麼問題嗎?從服務器獲取數據,並加載使用Android
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); login = (Button) findViewById(R.id.login); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.password); login.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String Re; String mUsername = username.getText().toString(); String mPassword = password.getText().toString(); Re=tryLogin(mUsername, mPassword); if(Re=="GEEK") { Intent i = new Intent(); i.setClassName(v.getContext(),"com.httplogin.MainScreen"); startActivity(i); } } }); } protected String tryLogin(String mUsername, String mPassword) { HttpURLConnection connection; OutputStreamWriter request = null; URL url = null; String response = null; String parameters = "username="+mUsername+"&password="+mPassword; try { url = new URL("http://serverspace/script.php"); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestMethod("POST"); request = new OutputStreamWriter(connection.getOutputStream()); request.write(parameters); request.flush(); request.close(); String line = ""; InputStreamReader isr = new InputStreamReader(connection.getInputStream()); BufferedReader reader = new BufferedReader(isr); StringBuilder sb = new StringBuilder(); while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } // Response from server after login process will be stored in response variable. response = sb.toString(); isr.close(); reader.close(); } catch(IOException e) { Toast.makeText(this,e.toString(),0).show(); } return response; } }
可以添加代碼片段嗎? – 2010-12-20 07:04:50
如果(Re.equals( 「奇客」)){...}瞭解更多當前位置 - > http://developer.android.com/reference/java/lang/String.html – ninjasense 2010-12-20 07:07:16