package com.v2ex.v2droid; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.CookieStore; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.params.CookiePolicy; import org.apache.http.client.params.HttpClientParams; import org.apache.http.client.protocol.ClientContext; import org.apache.http.cookie.Cookie; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.HTTP; import org.apache.http.protocol.HttpContext; import org.apache.http.util.EntityUtils; import org.holoeverywhere.app.Activity; import org.holoeverywhere.widget.ProgressBar; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import com.actionbarsherlock.view.Window; import com.loopj.android.http.PersistentCookieStore; public class LoginActivity extends Activity { private static Button loginButton; private ButtonListener bl = new ButtonListener(); private EditText usernameEdit; private EditText passwordEdit; private InputMethodManager imm; private ProgressBar progressBar; String username; String password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_login); imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); usernameEdit = (EditText) findViewById(R.id.username_edit); passwordEdit = (EditText) findViewById(R.id.password_edit); progressBar = (ProgressBar) findViewById(R.id.progress_bar); // 添加登陆按钮监听 loginButton = (Button) findViewById(R.id.login_button); loginButton.setOnClickListener(bl); } private class ButtonListener implements View.OnClickListener { public void onClick(View view) { progressBar.setVisibility(View.VISIBLE); // 隐藏软键盘 imm.hideSoftInputFromWindow(view.getWindowToken(), 0); username = usernameEdit.getText().toString(); password = passwordEdit.getText().toString(); // 判断输入 if (StringUtils.isEmpty(username)) { UIHelper.ToastMessage(view.getContext(), getString(R.string.msg_login_usr_null)); return; } if (StringUtils.isEmpty(password)) { UIHelper.ToastMessage(view.getContext(), getString(R.string.msg_login_pwd_null)); return; } System.out.println("onClick=====>"); new GetDataTask().execute(); } } private class GetDataTask extends AsyncTask<Void, Void, String[]> { @Override protected String[] doInBackground(Void... params) { String[] s = { "", "" }; System.out.println("username=====>" + username); System.out.println("password=====>" + password); AppContext ac = (AppContext) getApplication(); try { if (ApiClient.login(ac, username, password)) { AppConfig.setLogin(LoginActivity.this, true); AppConfig.setUsername(LoginActivity.this, username); ApiClient.storeCookies(ac); Intent intent = new Intent(LoginActivity.this, MainActivity.class); LoginActivity.this.startActivity(intent); LoginActivity.this.finish(); } } catch (IOException e) { } return s; } @Override protected void onPostExecute(String[] result) { super.onPostExecute(result); } } }