Chủ Nhật, ngày 02 tháng 8 năm 2015

Giáo viên trung tâm ngoại ngữ LENA mắng học sinh

Giáo viên như hạch!!!!
Mời các bạn xem video tại đây

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng

(Nguồn: http://muaban26.com/wordpress/thong-tin-huu-ich/su-dung-iapfree-ios-7-hack-in-app-purchase-trong-game-va-ung-dung/)
APFree là cái gì? Tweak IAPFree cho iOS 7 để làm gì vậy? Dưới đây mình sẽ trình bày nhanh gọn về tính năng, cách cài và cách sử dụng IAPFree cho iOS 7 cho các bạn muốn hack in-app purchase trong game và ứng dụng.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7668
1.Vậy IAPFree là gì?

Đây là một tools dùng để hack in-app purchase (các nội dung bắt mua trong ứng dụng hoặc tiền, vàng bắt mua ở trong games) Không phải tất cả các game & ứng dụng đều có thể hack Free in-app purchase được nhưng nó cũng hack được kha khá…

Ví dụ khi ta sử dụng ứng dụng Camera+ thì sẽ thấy một số hiệu ứng khi chỉnh sửa ảnh sẽ bắt ta phải mua bằng tiền từ tài khoản iTunes nhưng nếu bạn có IAPFree thì việc mua là hoàn toàn miễn phí.

2.Cài đặt và sử dụng thế nào?

IAPFree là một tool dành cho máy jailbreak (trên máy phải có Cydia)

Bạn chạy Cydia lên và chắc chắn là đã add source Cydia.vn

Để chắc chắn là Cydia của bạn đã được cập nhật dữ liệu đến thời điểm mới nhất hiện tại thì bạn hay bấm vào Changes – Refresh và chờ Cydia Reloading Data xong nhé.

Hình Ảnh Cài Đặt
Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7669

Chắc chắn rằng mình đã add source Cydia.vn

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7670

Bạn chuyển qua khung search và gõ IAPFree thấy kết quả.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7671

Bấm vào IAPFree rồi bấm nút Install

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7672

Cài đặt xong thì bấm nút Restart SpringBoard

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7673

Bạn sẽ thấy biểu tượng IAPFree ngoài SpringBoard

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7674

Bấm để chạy IAPFree lên

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7675

Chuyển qua Tab Plugins xong on cái General lên rồi bấm vào More – Download More…

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7676

Trong này là list các game mà IAPFree làm riêng để hỗ trợ, bạn cần Install thằng Core Plugin để hack đa số các game và ứng dụng bình thường.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7677

Cài đặt Core Plugin: “Đây là plugin lõi để hack hầu hết các trò chơi, các plugin khác có thể không hoạt động nếu bạn không cài đặt Core Plugin”

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7678

Khi cài đặt xong bạn thoát ra ngoài thì máy sẽ tự động Respring. Xong là bạn có thể thử hack được rồi, lưu ý là không phải tất cả các trò chơi và ứng dụng đều có thể hack được các bạn nhé. List game & ứng dụng được tổng hợp từ google docs các bạn có thể tham khảo từ link này!

3. Hướng dẫn hack in-app mà IAPFree đã làm plugin riêng để hỗ trợ.
Dưới đây là mình thử hack game Zombiewood (Gameloft)
Khi chúng ta vào IAPFree trong phần plugin sẽ thấy có hỗ trợ game Zombiewood, mình đã cài game version mới (1.0.1) nhất trên App Store.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7679

Bạn chạy IAPFree lên rồi bấm vào Plugin - kéo tìm Zombiewood

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7680

Bấm nút Install…

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7681Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7682

Bạn sẽ thấy Zombiewood trong danh sách Installed.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7683

Mở Zombiewood lên và bấm mua thêm Cash

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7684

Bấm vào Buy Cash, bạn cứ bấm mua bình thường….

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7685

Có thể bạn phải chờ hơi lâu một chút trong lần đầu.

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7686

Sử dụng IAPFree iOS 7 hack in-app purchase trong game và ứng dụng - 7687

Giao dịch thành công, đã đã nhìn thấy tiền thay đổi, vậy là chúng ta có thể mua đồ thoải mái rồi…

Ngoài Tweak IAPFree thì trên Cydia còn có iAP Cracker hay LocalIAPStore với những tính năng tương tự, các bạn có thể cài đặt và dùng thử, lưu ý là không cài đặt chung các tool này các bạn nhé.

Thứ Năm, ngày 02 tháng 7 năm 2015

Instructions on how to make money online with Uento or Cashpirate

Cashpirate - Make Money on the phone Anhdroid
(You are welcome to read how to make money online - mmo - with Uento in later posts)

Hello everyone, especially the newbie. Here you mean you are looking for something to make money online (mmo), right?
Very lucky when we met, 2 months before your new fuzzy chicken well as you newbie, looking for ways to make money online. Many but HOW DIFFICULT ALSO.
Cashpirate themselves to very casually, and his inexplicably quite charming and pretty successful with it. And I want to share with you, and you want to earn more to support each other.
Overall this is a simple way to make money and have easily than the other way.

1. What is Cashpirate, how to make money?
a. What is Cashpirate
Cashpirate is an application to help people use the phone, tablet android can make money.
Actually you can see is one app MANAGEMENT Cashpirate installing other applications in the "network" make money (call her that), it is also often give you a list of apps that you need to install .
One day you just spend 10 minutes on average more than 50,000 VND 1 week. If more diligent and have tips, other income will.
b. How to make money:
- First you install the application on android its Cashpirate,
- Then run Cashpirate, on its list of apps to be installed, click to install this app.
- Depending on which app you can remove the right (or 1 shortly after) after installation.
- Each app you installed (depending on type) Cashpirate will accumulate points, from point of money.
c. Condition
- Machine Android
- Internet
- Positive attitude, patiently, for doing so, what MMO

2. How do the details

a. Step 1:
Note, this is a very important step but easily confused, you must read carefully.

Installing and registering Cashpirate:
- The first is install Cashpirate


- After installation, you sign up:


First you enter your email, and pass to subscribe (Cashpirate checking account will not see your new registration)


Shortly after you enter your email and password, it will display 1 dialog "Register account?" This time, enter the following sequence of characters in order to get just 500 points = $ 0.5 -> DO NOT FORGET:
KLQIYD (uppercase)

And ok, has reg done, you enter the main interface of Cashpirate ...

b. Step 2:
You enter the menu and note the following:


- Overview: General information about the app, the coins were waiting for, as well as point to add.
- Earns coins: There are all kinds of items with different monetization methods as installing the app, watch video ...
- Redeem coins: Information for Change process coins and withdraw money
- Referrals: The friends you invite to the accelerated process for coins (say later).
- My account: Account Information
Next, install the app to earn points, earning awry. But first, you must know the rules:
- One in 2500 coins are exchanged for $ 2.5
- Most of the app, just install and run one single time - 10 seconds (when the alarm is tracked Cashpirate Installation) is 60 coins.
- For 3-Star App requires you to install and wait 3 days after new DC removed - get 90 coins
Then, begin to install the app. Earns you into coins, click the Show Offer, you'll have the app is waiting, click Install to it automatically switches you to the Google Play installation.
Just run the 1-2% it is you can hit back, no need to wait.
Tried installed quickly because the app has installed tenor, tenor than that, you may not install, count coins.
c. Step 3
Check information, go to the Overview and see your coins:


Withdrawal
You go to the Overview, pull down Goal, when you đc $ 2.5, it will let you transfer via PayPal to withdraw.
(If you do not have Paypal, how to create here - very easy
Latest registered Paypal)

Click Redeem (only appears when 100% of the $ 2.5) -> Wait 1 minute, ok.

If you have any question, free to join us and ask every things:
https://www.facebook.com/groups/1118192831528134/
OR
https://www.facebook.com/profile.php?id=100005380968409

Vietnamese version

Hướng dẫ cách kiếm tiền online với Uento hoặc Cashpirate

Cashpirate - Kiếm tiền trên điện thoại Anhdroid
(Bạn đón đọc cách kiếm tiền online - mmo - với Uento ở bài sau nhé)

Chào các bạn, nhất là các bạn newbie. Các bạn vào đây nghĩa là các bạn đang tìm kiếm thứ gì đó đẻ kiếm tiền trên mạng (mmo) chứ gì?
Rất may mắn khi chúng ta gặp nhau,  mới 2 tháng trước mình cũng gà mờ y như các bạn newbie, tìm kiếm các cách kiếm tiền online. Rất nhiều các nhưng CÁCH NÀO CŨNG KHÓ.

Mình đến với Cashpirate rất tình cờ, và không hiểu sao mình khá có duyên và khá thành công với nó. Và mình muốn chia sẻ với các bạn, đồng thời muốn kiếm thêm các bạn vào để hỗ trợ nhau.
Có thể nói đây là cách kiếm tiền đơn giản và có phần dễ dàng hơn hẳn các cách khác.

1. Cashpirate là gì, làm sao để kiếm tiền?
a. Cashpirate là gì
Cashpirate  là ứng dụng giúp người sử dụng điện thoại, máy tính bảng android có thể kiếm tiền.
Thực ra bạn có thể coi Cashpirate là 1 app QUẢN LÝ việc cài đặt các ứng dụng khác nằm trong "mạng lưới" kiếm tiền (mình tạm gọi vậy), nó cũng thường xuyên cho các bạn danh sách các app mà các bạn cần cài.
Một ngày các bạn chỉ cần 10p là trung bình 1 tuần được hơn 50.000đ. Nếu siêng năng hơn và có thủ thuật, thu nhập sẽ khác.

b. Cách kiếm tiền:
- Đầu tiên bạn cài ứng dụng Cashpirate trên máy android của mình,
- Sau đó, chạy Cashpirate, vào Danh sách các app cần cài đặt, kích để cài đặt các app này.
- Tùy loại app mà các bạn có thể gỡ ngay (hoặc 1 thời gian ngắn sau) sau khi cài.
- Mỗi app bạn cài (tùy theo loại) Cashpirate sẽ cộng điểm, từ điểm quy ra tiền.
c. Điều kiện
- Máy Android
- Mạng internet
- Thái độ tích cực, biết kiên nhẫn, vì làm MMO thì cái gì cũng vậy

2. Cách làm chi tiết

a. Bước 1
Chú ý, đây là bước rất quan trọng nhưng dễ nhầm, các bạn phải đọc kỹ.

Cài và đăng ký Cashpirate:
- Đầu tiên là cài Cashpirate



- Sau khi cài, các bạn đăng ký:


Đầu tiên các bạn nhập email, và pass để đăng ký (Cashpirate kiểm tra chưa thấy tài khoản sẽ cho bạn đăng ký mới)


Không bao lâu sau khi bạn nhập email và pass, nó sẽ hiện ra 1 HỘP THOẠI "Register account?", lúc này, nhập dãy ký tự sau vào để nhận ngay 500 point tức 0,5$ -> không bỏ qua nhé:
KLQIYD (viết hoa)

Khi nhập giá trị KLQIYD trên, bạn sẽ được cộng 500 coins, và được tham gia vào group chia sẻ thủ thuật, cách chơi Cashpirate, giao lưu với mọi người, đừng quên nhé, (bạn không thể đơn độc mà thắng được trong mmo đâu, hihi)

Rồi ok, đã reg xong, bạn vào giao diện chính của Cashpirate...

b. Bước 2:


Các bạn vào menu và chú ý các mục sau:
- Overview: Tổng quan thông tin về app, về coins đã kiếm cũng như point đang đợi để add.
- Earns coins: Có các mục với các loại phương thức kiếm tiền khác nhau như cài app, xem video...
- Redeem coins: Thông tin việc Đổi coins ra tiền và qúa trình withdraw
- Referrals: Những người bạn mà bạn mời vào để cùng tăng tốc quá trình kiếm coins (nói sau).
- My account: Thông tin tài khoản

Việc tiếp theo là cài app để kiếm point, kiếm xiền. Nhưng đầu tiên, bạn cần phải biết luật chơi:
- Cứ 2500 coins thì đổi ra 2,5$
- Hầu hết các app, chỉ cần cài và chạy 1 lần duy nhất - 10 giây (khi Cashpirate báo là Tracked Installation) là được 60 coins.
- Đối với App 3 sao đòi hỏi bạn cài và đợi 3 ngày sau mới đc gỡ bỏ - được 90 coins

Rồi, bắt đầu cài app. Bạn vào Earns coins, nhấn vào các Show Offer, bạn sẽ thấy có các app đang đợi, bạn nhấn Install để nó tự chuyển bạn vào Google play cài đặt.
Chỉ cần nó chạy được 1-2% là bạn có thể nhấn back, không cần phải đợi.
Có gắng cài nhanh vì các app có kì hạn cài, quá kì hạn đó, bạn không được cài, tính coins.

c. Bước 3

Kiểm tra thông tin, bạn vào Overview và nhìn thấy Coins của mình:



Rút tiền
Bạn vào mục Overview, kéo xuống Goal, khi bạn đc 2,5$, nó sẽ cho bạn chuyển qua Paypal để rút.
(Nếu chưa có Paypal, học cách tạo ở đây - rất dễ dàng
Đăng ký Paypal mới nhất)

Nhấn Redeem (chỉ hiện ra khi đã đủ 100% của 2,5$) --> Đợi 1 chút, ok.

Về cơ bản đây là toàn bộ cách kiếm tiền với Cashpirate như vậy là đủ. Bạn hãy tham gia Group sau để cùng được hỗ trợ:
https://www.facebook.com/groups/1118192831528134/
Hoặc trang cá nhân của mình:
https://www.facebook.com/profile.php?id=100005380968409

Bản tiếng Anh

Xem thêm tại đây

Thứ Hai, ngày 22 tháng 6 năm 2015

Thứ Hai, ngày 27 tháng 4 năm 2015

Một số chú ý với Libgdx

Bắt đầu với loạt bài này để nắm các khái niệm đơn giản: http://www.serivn.com/2014/06/lap-trinh-game-voi-libgdx-phan-3-cach.html

Tuy nhiên cần chú ý:

1. Ở phần 3 (tạo project), đến lúc import các project vào eclípe, nếu bị lỗi ở <project>.html thì quay lại phần 2 (cài plugin software cho eclipse): http://www.serivn.com/2014/06/lap-trinh-game-voi-libgdx-phan-2-cai-at.ht
Lap+trinh+libgdx+-+phan+1+-+16

Tại chỗ này, chọn hết.
Sau đó tải GWT SDK tại : http://www.gwtproject.org/download.html
Sau đó làm theo chỉ dẫn này:
Looking inside the class that was giving the problem made Eclipse to point straight to the problem: the compiler compliance required to be 1.5 or greater but Eclipse had by default 1.4. I changed it throughWindow > Preferences > Java > Compiler > Compiler compliance level, where I put the correct one, 1.7, and everything compiled cleanly.

Nếu là lỗi: The GWT SDK JAR gwt-servelt.jar is missing...
bạn chọn tab "Problems" trong Eclipse, mở "Errors" ra, bạn tìm lỗi "The GWT SDK JAR gwt-servelt.jar is missing...", click chuột phải vào lỗi đó và lựa chọn "Quick Fix", 1 cửa sổ mới hiển thị ra, bạn lựa chọn "Synchronize /WEB-INF/lib with SDK libraries" và click "Finish"

Chủ Nhật, ngày 26 tháng 4 năm 2015

Làm game Android trong 2 ngày - phần source code

file main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="@drawable/bg">
    <LinearLayout android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/cellPanel">
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="65dp" android:id="@+id/cellPack">
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1"/>
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
            <com.colrist.Hiramem.HiraButton
                    android:text="Btn"
                    android:layout_height="wrap_content"
                    android:layout_width="0dp"
                    android:layout_weight="1" />
        </LinearLayout>
    </LinearLayout>
    <LinearLayout android:orientation="horizontal"
                  android:layout_width="fill_parent"
                  android:layout_height="110dp"
                  android:layout_weight="1"
                  android:background="@drawable/bottom"
                  android:visibility="visible" android:layout_alignParentLeft="true"
                  android:layout_alignParentTop="false"
                  android:layout_alignParentBottom="true" android:id="@+id/controlPanel">
        <ImageButton
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:id="@+id/imageButton"
                android:layout_weight="1"
                android:background="@drawable/random"/>
        <TextView
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:text="-"
                android:layout_weight="1"
                android:id="@+id/textView" android:textColor="@android:color/background_dark" android:textSize="30dp"
                android:gravity="center" android:background="@drawable/kana"/>
        <ImageButton
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:id="@+id/imageButton1" android:background="@drawable/reset"/>
    </LinearLayout>
</RelativeLayout>


File GlobalVars.java

package com.colrist.Hiramem;

import java.util.ArrayList;

/**
 * Created with IntelliJ IDEA.
 * User: King
 * Date: 23/03/2013
 * Time: 10:19
 * To change this template use File | Settings | File Templates.
 */
public class GlobalVars {
    public static ArrayList<HiraButton> buttonList = new ArrayList<HiraButton>();
    public static HiraButton currentClick = null;
}


File HiraButton.java

package com.colrist.Hiramem;

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;

/**
 * Created with IntelliJ IDEA.
 * User: King
 * Date: 23/03/2013
 * Time: 09:17
 */
public class HiraButton extends View {

    public String text = "A";
    public Boolean isSelected = false;
    public Boolean Enabled = true;

    public HiraButton(Context context) {
        super(context);
        GlobalVars.buttonList.add(this);
    }

    public HiraButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        GlobalVars.buttonList.add(this);
    }

    public HiraButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        GlobalVars.buttonList.add(this);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        if (Enabled) {
            Paint p = new Paint();
            if (!isSelected) {
                p.setColor(Color.parseColor("#3773D2"));
                canvas.drawRect(5, 5, getWidth() - 5, getHeight() - 5, p);
            } else {
                p.setColor(Color.parseColor("#6096eb"));
                canvas.drawRect(1, 1, getWidth() - 1, getHeight() - 1, p);
                p.setColor(Color.WHITE);
                p.setTextSize(getWidth()*0.65f);
                canvas.drawText(text, getWidth() / 2 - p.measureText(text) / 2, getHeight() / 2 + p.measureText(text) / 1.5f, p);
            }
        }
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, w, oldw, oldh);    //To change body of overridden methods use File | Settings | File Templates.
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // TODO Auto-generated method stub
        setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec),
                MeasureSpec.getSize(heightMeasureSpec));
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (Enabled) {
            GlobalVars.currentClick = this;
            ((Activity)getContext()).onTouchEvent(event);
            return true;
        } else return false;
    }
}

File Hiramem.java

package com.colrist.Hiramem;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

public class Hiramem extends Activity {

    public int maxProcess = 0;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Resize control panel height to match screen
        int height = getWindowManager().getDefaultDisplay().getWidth() / 3;
        LinearLayout controlPanel = (LinearLayout)findViewById(R.id.controlPanel);
        controlPanel.getLayoutParams().height = height;
        controlPanel.requestLayout();

        // resize cell height to match screen
        int cheight = getWindowManager().getDefaultDisplay().getWidth() / 5;
        LinearLayout cellPack = (LinearLayout)findViewById(R.id.cellPack);
        cellPack.getLayoutParams().height = cheight;
        cellPack.requestLayout();

        // Calculate max amount of visible cells
        maxProcess = 5 * ((getWindowManager().getDefaultDisplay().getHeight() - height) / cheight + 1);

        // Filter the cell list, remove unused cells
        if (!GlobalVars.buttonList.isEmpty()) {
            int cnt = GlobalVars.buttonList.size() - 1;
            while (cnt >= maxProcess) {
                GlobalVars.buttonList.get(cnt).Enabled = false;
                GlobalVars.buttonList.remove(cnt);
                cnt = GlobalVars.buttonList.size() - 1;
            }
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: {
                // Close all cells
                if (!GlobalVars.buttonList.isEmpty()) {
                    for (int i = 0; i < GlobalVars.buttonList.size(); i++) {
                        if (i < maxProcess) {
                            GlobalVars.buttonList.get(i).isSelected = false;
                            GlobalVars.buttonList.get(i).invalidate();
                        }
                    }
                }
                // Open only current cell
                if (GlobalVars.currentClick != null) {
                    GlobalVars.currentClick.isSelected = true;
                    GlobalVars.currentClick.invalidate();
                }
            } break;
        }
        return super.onTouchEvent(event);    //To change body of overridden methods use File | Settings | File Templates.
    }
}