Monday, April 21, 2014

Introducation XML and JAXP

- XML parsers là chương trình giúp trích xuất và thao tác với dữ liệu trong một tài liệu XML.
- Lợi ích :

  1. Là một ngôn ngữ độc lập.
  2. Không phụ thuộc vào mã nguồn.
  3. Linh hoạt và phù hợp với hầu hết các ngôn ngữ.
- JAXP cung cấp một parsers để làm việc XML. Có 2 kỹ thuật phân tích dữ liệu XML là DOM và SAX:

  1. DOM: Document Object Model là một kỹ thuật tiếp cận dữ liệu theo hướng đối tượng. trong đó tất cả các thành phần của XML như thẻ, thuộc tính, text… đều được xem như là các đối tượng. Dựa vào các đối tượng này mà chúng ta có thể trích xuất thông tin, thay đổi thông tin hay truy vấn thông tin dựa vào các hàm mà đối tượng cung cấp. 
    1. Ưu điểm:
      • Dẽ dàng sử dụng và phân tích xml.
      • Có thể truy xuất ngầu nhiên.
      • Quản lí tốt dữ liệu phức tạp.
    2. Nhược điểm:
      • Việc đọc chỉ được thực hiện 1 lần tốn thời gian nhất định.
      • Tốn bộ nhớ.
  2. SAX:  Simple API for XML là một phương pháp phân tức XML theo hướng sự kiện, đọc xml từ trên xuống dưới.
    1. Ưu điểm:
      • Tốn ít bộ nhớ.
    2. Nhược điểm:
      • Không support DTD Validate.
      • Không thể truy xuất ngẫu nhiên đối tượng bởi SAX sẽ đọc dữ liệu từ trên xuống dưới.
      • Không thể thêm sữa xóa dữ liệu trong XML.
- Khi nào sử dụng DOM và SAX:
  • Sử dụng SAX cho các tài liệu lớn hoặc cần tiết kiệm bộ nhớ.
  • Khi chỉ cần lấy một nội dụng trong tập hợp các thông tin trong XML sử dụng SAX.
  • Khi cần truy xuất ngẫu nhiên và thao tác với dữ liệu.
  • SAX nhanh hơn DOM.

Thursday, March 6, 2014

Chiến Binh Quỷ - Game Android



Mô tả
- Chiến binh quỷ - hóa thân vào nhân vật và chiến đấu qua các màn chơi. Tiêu diệt quái vật toàn bộ quái vật và thu về các đồng tiền. Sử dụng chúng để mua các vật phẩm tăng hiệu ứng.
- Một trò chơi hoàn toàn miễn phí và đang trong quá trình hoàn thiện với các bản cập nhật liên tục. Với cách chơi đơn giản nhưng cũng không kém phần thách thức.
- Hy vọng các bạn chơi vui và ủng hộ.
==================================================
Feature :
✔Hoàn toàn miễn phí, không quảng cáo, không sms.
✔Hệ thống nhân vật đa dạng.
✔Hệ thống trang bị thú nuôi, cánh.
✔Hệ thống chiến đấu với boss(đang hoàn thiện sẽ ra mặt vào các bản cập nhật sau).
✔Hệ thống quà tặng thông qua giftcode : với mỗi giftcode bạn sẽ được tặng tiền và mở khóa trang bị.

Thursday, January 9, 2014

Android Studio - Thêm thư viện jar và project library với Gradle !

Hôm nay minh xin hướng dẫn các bạn setup gradle buid để import library project và library jar.

Monday, December 2, 2013

Flip 3D - LoopEntityModifier And SequenceEntityModifier

Để một Sprite có được hiệu ứng 3d bạn làm như sau :
  1. yoursprite.registerEntityModifier(new LoopEntityModifier(
  2.  new SequenceEntityModifier(new DelayModifier(0.3f),new  ScaleModifier(0.5f, 1.0f, 0f, 1.0f, 1.0f, new  IEntityModifierListener() { 
  3.       @Override 
  4.       public void onModifierStarted(
  5.           IModifier pModifier, IEntity pItem) {
  6.           } 
  7.       @Override 
  8.       public void onModifierFinished( IModifier pModifier, IEntity  pItem) {
  9.           } 
  10.  })  
  11.  , new ScaleModifier(0.5f, 0f, 1.0f, 1.0f, 1.0f),new DelayModifier(0.3f))));
Giải thích 1 chút :
 - LoopEntityModifier dùng để lặp một Modifier.
SequenceEntityModifier được dùng để thực hiện các modifier một cách liên tiếp : nó sẽ thực hiện hết modifier này đến modifier khác.

Wednesday, September 11, 2013

Tổng hợp các lỗi và cách xử lí !

Updating...

Saturday, September 7, 2013

Bài 2.1 : Entity Modifier - Removing Entity - TouchEvent

1. Entity Modifier :- Bạn có thể sử đổi trạng thái của Entity như : dịch chuyển, xoay, phóng to, thu nhỏ, đôi màu v.v. Mọi class hổ trợ việc này nằm trong gói org.andengine.entity.modifier  bạn có thể vào tìm hiểu. Bài viết này mình chỉ hướng dẫn đăng ký Modifier.
- Để đăng ký một Modifier cho entity bạn làm như sau :
     - Tạo một Modifier và đắng ký cho Entity:
  1. MoveXModifier x = new MoveXModifier(200f,fromX,toX);
  2. x.setAutoUnregisterWhenFinished(true);//tự động hủy đăng ký khi kết thúc
  3. entity.registerEntityModifier(x);
     - Để một Modifier lặp đi lặp lại nhiều lần, sử dụng bạn sửa dòng 3 lại như sau :
  1. entity.registerEntityModifier(new LoopEntityModifier(x));
    - Ngoài ra, bạn có thể thêm các sự kiện khi bắt đâu, hoặc kết thúc Modifier bằng cách tạo một IEntityModifier.IEntityModifierListener lúc này bạn sẽ phải override 2 phương thức onModifierStarted và onModifierFinished. Và truyền vào tham số cuối cùng của modifier.

2.Removing Entity
Để xóa một Entity ra khỏi scene bạn làm như sau :

  1. activity.runOnUpdateThread(new Runnable() {
  2. @Override
  3. public void run() {
  4. entity.clearEntityModifiers();
  5. entity.clearUpdateHandlers();
  6. mScene.unregisterTouchArea(entity);//nếu đã được đăng ký Touch Event
  7. entity.detachSelf();
  8. entity.dispose();
  9. }
  10. }
3. TouchEvent
Đăng ký Touch Event cho Entity:
   - Để đăng ký một sự kiện khi người chơi chạm vào  Entity. Lúc khởi tạo Entity bạn override lại phương thức onAreaTouched. Ví dụ khí touch vào sprite thì xóa sprite đó :

  1. Sprite image = new Sprite(0, 0, mPlayerTextureRegion,
  2. mEngine.getVertexBufferObjectManager()){
  3.    @Override
  4.    public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
  5. float pTouchAreaLocalX, float pTouchAreaLocalY) {
  6.            if (pSceneTouchEvent.isActionDown()) {
  7.               activity.runOnUpdateThread(new Runnable() {
  8. @Override
  9. public void run() {
  10. image.clearEntityModifiers();
  11. image.clearUpdateHandlers();
  12. scene.unregisterTouchArea(image);
  13. image.detachSelf();
  14. image.dispose();
  15.                  image.reset();
  16. }
  17.            }
  18. };
  19. scene.registerTouchArea(image);