2012-03-03 27 views
-2

我一直在努力編寫我自己的登錄屏幕,我只是放棄了,無論如何,我發現了一些在線代碼,並給它一個去,到目前爲止它的工作原理,我稍微改變了它,有辦法我沒辦法把它編成我的自我,但我可以理解它。如何通過檢查登錄詳細信息來添加RESULT_OK時的意圖?

但現在,如果登錄成功,我想使用意向。

代碼:

public class LogIn extends Activity implements OnClickListener { 

Button ok, back, exit; 
TextView result; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Login button clicked 
    ok = (Button) findViewById(R.id.btn_login); 
    ok.setOnClickListener(this); 

    result = (TextView) findViewById(R.id.lbl_result); 

} 

public void postLoginData() { 
    // Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 

    /* login.php returns true if username and password is equal to saranga */ 
    HttpPost httppost = new HttpPost(
      "http://www.sencide.com/blog/login.php"); 

    try { 
     // Add user name and password 
     EditText uname = (EditText) findViewById(R.id.txt_username); 
     String username = uname.getText().toString(); 

     EditText pword = (EditText) findViewById(R.id.txt_password); 
     String password = pword.getText().toString(); 

     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("username", username)); 
     nameValuePairs.add(new BasicNameValuePair("password", password)); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     Log.w("SENCIDE", "Execute HTTP Post Request"); 
     HttpResponse response = httpclient.execute(httppost); 

     String str = inputStreamToString(response.getEntity().getContent()) 
       .toString(); 
     Log.w("SENCIDE", str); 

     if (str.toString().equalsIgnoreCase("true")) { 
      Log.w("SENCIDE", "TRUE"); 
      result.setText("Login successful"); 

     } else { 
      Log.w("SENCIDE", "FALSE"); 
      result.setText(str); 
     } 

    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

private StringBuilder inputStreamToString(InputStream is) { 
    String line = ""; 
    StringBuilder total = new StringBuilder(); 
    // Wrap a BufferedReader around the InputStream 
    BufferedReader rd = new BufferedReader(new InputStreamReader(is)); 
    // Read response until the end 
    try { 
     while ((line = rd.readLine()) != null) { 
      total.append(line); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    // Return full string 
    return total; 
} 

public void onClick(View view) { 
    if (view == ok) { 
     postLoginData(); 
    } 
} 

} 
+0

什麼你的意思做你認爲意圖會做什麼,你想完成什麼?嘗試用你想要完成的任務說明你的目標,而不是模糊地提出一個你未解釋的目標的可能解決方案。 – 2012-03-03 22:23:25

+0

如果接受用戶名和密碼,則意圖發生。 – TheBlueCat 2012-03-03 23:35:49

回答

0

這部分就是確定登錄的成功或失敗:「使用目的」

if (str.toString().equalsIgnoreCase("true")) { 
     Log.w("SENCIDE", "TRUE"); 
     result.setText("Login successful"); 
     // Do your Intent work here  <------- 
    } else { 
     Log.w("SENCIDE", "FALSE"); 
     result.setText(str); 
    }