package cn.edu.zafu.jwc.activity; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.UnsupportedEncodingException; import org.apache.http.Header; import org.litepal.tablemanager.Connector; import cn.edu.zafu.jwc.application.JWCApplication; import cn.edu.zafu.jwc.service.CourseService; import cn.edu.zafu.jwc.service.LinkService; import cn.edu.zafu.jwc.util.CommonUtil; import cn.edu.zafu.jwc.util.HttpUtil; import cn.edu.zafu.jwc.util.SharedPreferenceUtil; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.PersistentCookieStore; import com.loopj.android.http.RequestParams; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class LoginActivity extends Activity { private EditText username, password, secrectCode;// �˺ţ����룬��֤�� private ImageView code;// ��֤�� private Button flashCode, login;//ˢ����֤�룬��¼ private PersistentCookieStore cookie; private SQLiteDatabase db; private LinkService linkService; private CourseService courseService; private OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.getCode: getCode(); break; case R.id.login: login(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initValue();//������ʼ�� initView();//��ͼ��ʼ�� initEvent();// �¼���ʼ�� initCookie(this);// cookie��ʼ�� initDatabase();// ���ݿ��ʼ�� } private void initValue() { JWCApplication application=((JWCApplication)getApplicationContext()); linkService=application.getLinkService(); courseService=application.getCourseService(); } /** * ��ʼ��View */ private void initView() { secrectCode = (EditText) findViewById(R.id.secrectCode); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.password); flashCode = (Button) findViewById(R.id.getCode); login = (Button) findViewById(R.id.login); code = (ImageView) findViewById(R.id.codeImage); } /** * ��ʼ�¼� */ private void initEvent() { // һЩ�е���¼��ij�ʼ�� flashCode.setOnClickListener(listener); login.setOnClickListener(listener); } /** * ��ʼ�����ݿ� */ private void initDatabase() { db = Connector.getDatabase(); // ��assetsĿ¼�µ�litepal.xml���������ݿ������汾��ӳ���ϵ } /** * ��ʼ��Cookie */ private void initCookie(Context context) { //����������ǰ��ʼ�� cookie = new PersistentCookieStore(context); HttpUtil.getClient().setCookieStore(cookie); } private void jump2Main() { SharedPreferenceUtil util=new SharedPreferenceUtil(getApplicationContext(), "accountInfo"); util.setKeyData("username", HttpUtil.txtUserName); util.setKeyData("password", HttpUtil.TextBox2); util.setKeyData("isLogin", "TRUE"); Intent intent=new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); finish(); } /** * ��¼ */ private void login() { HttpUtil.txtUserName = username.getText().toString().trim(); HttpUtil.TextBox2 = password.getText().toString().trim(); //��Ҫʱ����֤��ע�� //HttpUtil.txtSecretCode = secrectCode.getText().toString().trim(); if (TextUtils.isEmpty(HttpUtil.txtUserName) || TextUtils.isEmpty(HttpUtil.TextBox2)) { Toast.makeText(getApplicationContext(), "�˺Ż������벻��Ϊ��!", Toast.LENGTH_SHORT).show(); return; } final ProgressDialog dialog =CommonUtil.getProcessDialog(LoginActivity.this,"���ڵ�¼�У�����"); dialog.show(); RequestParams params = HttpUtil.getLoginRequestParams();// ���������� HttpUtil.URL_MAIN = HttpUtil.URL_MAIN.replace("XH", HttpUtil.txtUserName);// ��������ַ HttpUtil.getClient().setURLEncodingEnabled(true); HttpUtil.post(HttpUtil.URL_LOGIN, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { try { String resultContent = new String(arg2, "gb2312"); if(linkService.isLogin(resultContent)!=null){ String ret = linkService.parseMenu(resultContent); Log.d("zafu", "login success:"+ret); Toast.makeText(getApplicationContext(), "��¼�ɹ�������", Toast.LENGTH_SHORT).show(); jump2Main(); }else{ Toast.makeText(getApplicationContext(),"�˺Ż���������󣡣���", Toast.LENGTH_SHORT).show(); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } finally { dialog.dismiss(); } } @Override public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { Toast.makeText(getApplicationContext(), "��¼ʧ�ܣ�������", Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); } /** * �����֤�� */ private void getCode() { final ProgressDialog dialog =CommonUtil.getProcessDialog(LoginActivity.this,"���ڻ�ȡ��֤��"); dialog.show(); HttpUtil.get(HttpUtil.URL_CODE, new AsyncHttpResponseHandler() { @Override public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { InputStream is = new ByteArrayInputStream(arg2); Bitmap decodeStream = BitmapFactory.decodeStream(is); code.setImageBitmap(decodeStream); Toast.makeText(getApplicationContext(), "��֤���ȡ�ɹ�������",Toast.LENGTH_SHORT).show(); dialog.dismiss(); } @Override public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { Toast.makeText(getApplicationContext(), "��֤���ȡʧ�ܣ�����", Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); } }