PHÁT TRIỂN ỨNG DỤNG ANDROID TRUNG TÂM CÔNG NGHỆ PHẦN MỀM ĐẠI HỌC CẦN THƠ NGÔ TƯỜNG DÂN – [email protected] 1
Jan 03, 2016
PHÁT TRIỂN ỨNG DỤNG ANDROID
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM ĐẠI HỌC CẦN THƠ
NGÔ TƯỜNG DÂN – [email protected]
1
2
NỘI DUNG
Phát triển ứng dụng trên hệ điều hành Android
1. Công cụ phát triển
2. Xây dựng ứng dụng (trò chơi)
3. Công bố ứng dụng lên Google Play
Phát triển ứng dụng cho thiết bị di động3
DEMO
4
MÔI TRƯỜNG PHÁT TRIỂN
• Java – JDK1.6 trở lên
• Android SDK
• Eclipse + Android Development Tool (plugin) hay
Android studio (0.8 beta)
• Android Virtual Device (AVD) hay Genymotion
với VirtualBox virtual machine
5
MÔI TRƯỜNG PHÁT TRIỂN
Phát triển ứng dụng cho thiết bị di động6
CÁC BƯỚC XÂY DỰNG ỨNG DỤNG
1
2
3 4
Phát triển ứng dụng cho thiết bị di động7
TRÒ CHƠI BẮN THIÊN THẠCH
1. Cấu trúc game đơn giản
2. Kịch bản game (game play)
3. Kết hợp cảm biến gia tốc
Phát triển ứng dụng cho thiết bị di động8
TRÒ CHƠI ĐƠN GIẢN
Phát triển ứng dụng cho thiết bị di động9
GAME LOOP (CẤU TRÚC)
Phát triển ứng dụng cho thiết bị di động10
KỊCH BẢN
1. Thiên thạch sẽ ngẫu nhiên xuất hiện và bay từ
phải qua trái
2. Máy bay có thể bay theo 4 hướng
3. Đạn bắn ra từ máy bay đi từ trái qua phải
4. Đạn trúng thiên thạch thiên thạch sẽ nổ và
được tính 1 điểm
5. Thiên thạch chạm máy bay sẽ nổ và trò chơi kết
thúc.
Phát triển ứng dụng cho thiết bị di động11
CÀI ĐẶT
public class GamePanel extends SurfaceView implementsSurfaceHolder.Callback,SensorEventListener
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
GamePanel d = new GamePanel(this); setContentView(d);
}
Phát triển ứng dụng cho thiết bị di động12
CÀI ĐẶT
public class Game {public void run() {
// 30 – 60 lần / phútgamepanel.update();gamepanel.onDraw(canvas);
}};
public GamePanel(Context context) {super(context);this.context = context;khoiTaoDoiTuongGame();
sensorManager = (SensorManager) context .getSystemService(context.SENSOR_SERVICE);
accelerometerSensor = sensorManager .getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometerSensor, SensorManager.SENSOR_DELAY_GAME);}
Phát triển ứng dụng cho thiết bị di động13
CHẠM VÀ NGHIÊNG MÀN HÌNH
@Overridepublic boolean onTouchEvent(MotionEvent event) {
// tạo viên đạn// phát âm thanhreturn true;
}
@Overridepublic void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){// theo ymayBay.giatocX = event.values[1];// theo xmayBay.giatocY = event.values[0];}
}
Phát triển ứng dụng cho thiết bị di động14
VA CHẠM
I1(x1,y1)
I2(x2,y2)A(x4,y4)
B(x3,y3)
Phát triển ứng dụng cho thiết bị di động15
HOÀN THÀNH
Phát triển ứng dụng cho thiết bị di động16
CÔNG BỐ ỨNG DỤNG
1. Đăng ký tài khoản Google developer (25$ - chỉ
đăng ký 1 lần)
2. Biên dịch .apk
3. Điền thông tin về ứng dụng
4. Google kiểm duyệt
5. Ứng dụng được công bố trên Google Play
Phát triển ứng dụng cho thiết bị di động17
GIAO DIỆN QUẢN LÝ ỨNG DỤNG
Phát triển ứng dụng cho thiết bị di động18
DOWNLOAD GAME
CẢM ƠN !
CAN THO UNIVERSITY SOFTWARE CENTER
19