2012-03-03 26 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); 
    }