Thursday, May 12, 2011

Bắt đầu tập lại guitar

Hôm nay có một niềm vui nho nhỏ, quyết định tập guitar để sau này dùng. Lâu ngày cầm lại cây đàn đau hết tay nhưng dù sao mình cũng sắp đệm được bài "nhỏ ơi" rồi.

Mình giới thiệu gam bài này mình sưu tầm được:

Lần đầu(Dm) ta gặp nhỏ( C), trong nắng(Am) chiều bay bay(Dm)
Ngập ngừng(Dm) ta hỏi nhỏ( C), nhỏ bảo( C) nhỏ không tên(F)
Ừ thì(Dm) nhỏ không tên( C), bây giờ( C) quen nhé nhỏ(Am), nhỏ ơi(Dm)

(Các đoạn sau thì tương tự.)

Lần này ta gặp nhỏ, trong nắng chiều bay bay
Ngập ngừng ta hỏi nhỏ, nhỏ bảo nhỏ chưa yêu
Ừ thì nhỏ chưa yêu, bây giờ yêu nhé nhỏ, nhỏ ơi

Lần này(Dm), nhỏ quay đi( C), không thèm( C) nhìn ta nữa(Am)
Giọt sầu(Dm) rơi một mình( C), chỉ còn(Dm) ta một mình( C), nhỏ ơi (Dm)

Còn j đâu hỡi người, trong nắng chiều phôi phai
Kỷ niệm ta cùng nhỏ, giờ chỉ là hư vô
Nụ cười là hư vô, xa rồi vẫn nhớ hoài, nhỏ ơi.

Tình cờ ta gặp nhỏ, trong nắng vàng ban mai
thẹn thùng ta hỏi nhỏ, nhỏ bảo khờ ghê đi
Ừ thì khờ ghê đi, thương rồi sao chẳng hiểu, nhỏ ơi!


Like it!

Chỉ dẫn lập trình game 3D trên Android (P6)

Xin lỗi các bạn về sự chậm chễ này, dạo này bận quá nên ko có time để post bài nữa. Nhưng mình sẽ tiếp tục loạt bài viết này khi rảnh.
Bài trước mình đã giới thiệu về Java Native Interface. Nhưng hình như các bạn không thể thực hành được bài này.
Và có những email gửi về cho mình nhờ chỉ dẫn cách chạy JNI như thế nào, các bạn đó chạy ví dụ của google mà không được.
Hôm nay tôi sẽ chỉ các bạn cách chạy native như thế nào.

Như các bạn đã biết lập trình game chúng ta cần tận dụng sức mạnh của phần cứng và Java Native Interface là một cách tuyệt vời để thực hiện nó.
Vậy Java Native Interface làm gì?
Có thể các bạn đã biết thực ra Java Native Interface cho phép chúng ta gọi hàm từ thư viện C/C++ khi đó ta có thể giao tiếp nhiều hơn với phần cứng.
Ok, vậy ta có thể hình dung ta cần j rồi, hiểu về C/C++ (Hiểu sâu nhé :D). Một trình biên dịch trên Window (Những ai dùng Linux thì chuyên gia rồi chắc mình không phải hướng dẫn nữa, và mình cũng khuyên các bạn nên chuyển qua Linux (Ubuntu) mà dùng).
Ở đây mình dùng http://www.cygwin.com/. Bạn phải download Android NDK về nhé http://developer.android.com/sdk/ndk/index.html
Eclipse chắc bạn có rồi :D.

Bắt đầu nhé:
Cài đặt cygwin nhé.
Giải nén Android NDK nhé.
Bây giờ ta sẽ chạy một ví dụ của google viết sẵn để hiểu cách làm việc của nó.
Trong thư mục Android NDK bạn vừa giải nén ra có thư mục sample bạn nhìn thấy một số ví dụ ở đây.
Trên eclipse, bạn tạo một project android mới từ source này, ở đây chúng ta chọn hello-jni nhé.

Giờ chúng ta đã có project trên eclipse rồi.
Trên command của windown (cmd), bạn cd tới thư mục của project trên ...\samples\hello-jni
Chạy command:
 android update project -p . -s

Nhớ rằng trước đó đã path cho android trong thư mục ...android-sdk-windows\tools và ...android-sdk-windows\platform-tools
Và path của ...cygwin\bin nữa nhé.

Giờ chúng ta bắt đầu build native code sử dụng command ndk-build.

Hãy chắc chắn rằng bạn đang ở ...\samples\hello-jni như vậy bạn sẽ không phải gõ đường dẫn này nhiều nữa.
Trên command của window bạn chạy ash (Hãy chắc chắn rằng bạn đã set path cho ...cygwin\bin).
Lúc này bạn đang chạy SHELL trên môi trường GNU/Linux chứ không phải command như ở window nữa.
Chạy command su
Của mình là su tannm
Khi đó bạn sẽ nhìn thấy đường dẫn của bạn giống như:

TanNM@TanNM-PC /cygdrive/e/STUDY/android/android-ndk-r5b/samples/hello-jni

Ngon rồi đấy!
Tiếp theo bạn hãy chạy lệnh:
/cygdrive/e/STUDY/android/android-ndk-r5b/ndk-build

Khi đó output sẽ giống như:
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Compile thumb : hello-jni <= hello-jni.c SharedLibrary : libhello-jni.so Install : libhello-jni.so => libs/armeabi/libhello-jni.so

Quay lại eclipse refresh lại project và chạy.

OK chứ?

Friday, March 18, 2011

Câu lệnh xem size và free của table space trong oracle.

select b.tablespace_name, tbs_size SizeMb, a.free_space FreeMb
from  (select tablespace_name, round(sum(bytes)/1024/1024 ,2) as free_space
       from dba_free_space
       group by tablespace_name) a,
      (select tablespace_name, sum(bytes)/1024/1024 as tbs_size
       from dba_data_files
       group by tablespace_name) b
where a.tablespace_name(+)=b.tablespace_name;

Thursday, March 10, 2011

Ra mắt kho game, ứng dụng cho android.

Sau một thời gian phát triển hiện tại mình đã cho ra phiên bản "Release 1.0" kho game và ứng dụng cho android. Hi vọng được sự đón nhận của mọi người.
http://ungdungandroid.net

Tuesday, March 1, 2011

Fix GPS cho Samsung galaxy

Loay hoay mãi mới fix được GPS cho chú Samsung galaxy của mình, thực chất chỉ là thay đổi file cấu hình. Cách làm như sau:

Cấu hình mặc định của Nó ban đầu là:

1, Settings -> Parameter Settings -> Address -> Server Type: UMTS SLP
2, Settings -> Parameter Settings -> Position mode: option2
3, Settings -> Fix Request Settings -> Session Operation: MS-based
4, Settings -> Fix Request Settings -> Server Option: Default
5, gpsOne XTRA -> Xtra Enable: Disable

1, Bấm *#*#1472365#*#*. Đây là mã để vào menu cấu hình GPS. Trong menu đó bạn lần lượt chọn thay đổi một số giá trị bên dưới.
2, Settings -> Parameter Settings -> Address -> Server Type: 1x MPC
3, Settings -> Parameter Settings -> Position mode: option3
4, Settings -> Fix Request Settings -> Session Operation: Standalone
5, Settings -> Fix Request Settings -> Server Option: Local
6, gpsOne XTRA -> Xtra Enable: Enable

Hehehe... Cuối cùng cũng có GPS để sài. :D

Giao diện mới!

http://blog.vn-dev.net đã thay một giao diện mới. Mong được sự đón nhận của mọi người.