Monthly Archives: March 2013

Bảng trắng và giấy trắng

Luồng đi logic của code nên rõ ràng, lúc code hạn chế việc nghĩ logic … Lý do mà hầu hết cacs sinh viên không có điều này chính là họ không hình thành được thói quen từ hồi mới lập trình, bản thân mình cũng vậy . Mặc dù môi trường đào tạo không gắt gao việc này nhưng chúng ta đã có internet, internet sẽ thay trường học dạy cái đó .

GoogleMicroLinkFlow

FacebookFlow

Source : http://www.9lessons.info

Advertisements

Sử dụng Threading cơ bản

Trước mình có một bài viết về threading được dịch từ một blog khác, link mình có đặt ở phần sidebar của blog này, còn đây là bài viết cho trường hợp cụ thể, kịch bản tạo một login activity, connect tới server và trong khi connect thì show progressbar .

1. Trước tiên cần implements Runnable cho class


public class Login extends Activity implements Runnable{}

2. Trong run method thực hiện công việc check thông tin tới server, sử dụng đối tượng Handler xử lý biến nếu được login hay chưa, isLogin là biến toàn cục của class .

@Override
		public void run() {     
			checkLogin(username, pass, IMEI);
			handler.sendEmptyMessage(0);
		 }
		private Handler handler = new Handler(){
		      @Override
		      public void handleMessage(Message msg){
		    	  try{
		    		  if(isLogin){
		    			  Toast.makeText(getApplicationContext(), "Kết nối thành công", Toast.LENGTH_LONG).show();
		    			  Intent i = new Intent(Login.this, HomeActivity.class);
		    			  dialog.dismiss();
				          startActivity(i);
				          //finish();
		    		  }else{
		    			     dialog.dismiss();
		    			     Messages.makeText(Login.this, "Thông tin tài khoản không đúng", Messages.STYLE_ALERT).show();
		    		  }
		    	  }catch(Exception exp){
		  			        Toast.makeText(getApplicationContext(), "Bạn cần kết nối internet để sử dụng ứng dụng này !", Toast.LENGTH_LONG).show();
		  			finish();
		    	 }
		       }
		  };   

3. Đây là bước khởi chạy thread đăng nhập, ban đầu cho show progressbar, khởi chạy thread, check biến isLogin, nếu login thành công dialog được Dimiss (handler sẽ dimiss dialog)

dialog = new ProgressDialog(Login.this);
				        dialog.setCancelable(true);
				        dialog.setMessage("Connecting...");
				        dialog.show();
						Thread thread = new Thread(Login.this);
			        	thread.start();