SlideShare une entreprise Scribd logo
1  sur  78
MOBILE PROGRAMMING
           Lập trình trên thiết bị di động




2/9/2012    Huỳnh Công Thịnh – congthinh@ptithcm.edu.vn   1
TẠI SAO NÊN THEO NGÀNH NÀY?




 Tháng 7/2008, Apple ra mắt AppStore. Đến nay, App Store
  đã có hơn 400,000 ứng dụng với 10 tỷ lƣợt tải về, dẫn đầu
  ngành về dịch vụ ứng dụng cho di động.
 Ovi Store của Nokia, Android Market của Google, App World
  của Blackberry , Huawei Technology.
2/9/2012                                                 2
TẠI SAO NÊN THEO NGÀNH NÀY?

 AppStore: 400,000 ứng dụng với 10 tỉ lƣợt tải về
 OviStore: 55,000 ứng dụng, 760 triệu download
 Android Market: 200,000 ứng dụng, 4,5 tỉ download
 App World: 30,000 ứng dụng, 3 triệu download/ngày
 Huawei Technology: 80.000 ứng dụng



    $ = 7 tỷ USD >>> 30 tỷ USD trong 3 năm tới


2/9/2012                                              3
CÁC MOBILE OS

   iOS
   Android
   Tizen
   Windows Phone 7
   Blackberry OS & Qnx
   WebOS
   MeeGo
   Symbian.




2/9/2012                           4
THỐNG KÊ THỊ TRƢỜNG




2/9/2012                         5
THỐNG KÊ LẬP TRÌNH VIÊN




2/9/2012                             6
THỐNG KÊ LẬP TRÌNH VIÊN




2/9/2012                             7
ANDROID, IOS, WINDOWS PHONE…




             Vậy, Mobile OS nào là tốt nhất?




2/9/2012                                       8
GIAO DIỆN NGƯỜI DÙNG

                 Lấy ứng dụng làm trung tâm.

                 Mọi biểu tƣợng ứng dụng có thể di
                 chuyển hoặc xóa đƣợc.

                 Nổi bật với các Widget.

                 Notification bar…




2/9/2012                                             9
ANDROID, IOS, WINDOWS PHONE…

                    Sự kết hợp phần cứng và phần mềm
                    hoàn hảo.

                    Màn hình thoáng đãng với các biểu
                    tƣợng ứng dụng dàn ngay hàng thẳng
                    lối rõ ràng.

                    11 màn hình chính.

                    Nâng cấp với Notification bar.


2/9/2012                                               10
ANDROID, IOS, WINDOWS PHONE…

                     Thay vì lấy ứng dụng làm trung tâm,
                     nhƣ với các nền tảng iOS và Android,
                     Microsoft sử dụng khái niệm mới,
                     gọi là hub (trung tâm), để tổ chức
                     nội dung trong Windows Phone 7.

                     Mỗi hub là một bộ sƣu tập các ứng
                     dụng cùng nhóm.

                     2 màn hình chính.



2/9/2012                                                 11
ỨNG DỤNG VÀ TÍNH MỞ




2/9/2012                         12
KHẢ NĂNG TÙY BIẾN




2/9/2012                       13
KHẢ NĂNG TÍCH HỢP DỮ LIỆU




2/9/2012                               14
2/9/2012   15
GOOGLE ANDROID


 Là gì ?
  Open Source OS

  Linux kernel (2.6)

  Mobile platform (smartphone)

  Liên minh OHA (Open Handset Allien): HTC, LG, Samsung,
 Motorola, T-Mobile, Sprint, NVIDIA, Intel, Broadcom, Qualcom,…)
GOOGLE ANDROID

 Có gì nổi bật ?
  Full web (Html/html5, javascript, flash)

  Game 2D/3D

  Đa điểm (Multi touch)

  Đa luồng (Multi thread)

  Wifi, 3G, GPS, Sensor,…

  Media (Video fullHD, MPeg4, H.264, Mp3, Acc, Ogg,…)
GOOGLE ANDROID

 Lịch sử phát triển:
  Google mua Android Inc 17-8-2005

  Ra mắt cộng đồng tháng 11-2007, thành lập OHA
 (Open Handset Allien)

  Phiên bản 1.0 ra mắt tháng 9-2008, T-Mobile G1

  Phiên bản 1.1 ra mắt tháng 2-2009
GOOGLE ANDROID

Các phiên bản
  1.5 (Cupcake) – 04/2009
  1.6 (Donut) – 09/2009

  2.0/2.1 (Eclair) – 10/2009, 01/2010
  2.2 (Froyo) – 05/2010

  2.3 (Gingerbread) – 06/12/2010

  3.0/3.1/3.2 (HoneyComb) – 03 – 7 /2011

  4.0 (Ice cream sandwich) – 9/2011
GOOGLE ANDROID




                 Ice cream sandwich
GOOGLE ANDROID

 Thị phần (Toàn cầu)


                             Thị phần Android toàn cầu


                                                         Android
   150 triệu điện thoại          34%         40%        iOs
                                                         Phone 7
 500.000 lƣợt active/ngày
                                                         Others
                             2%         24%
GOOGLE ANDROID

Thị phần (Việt Nam)

                          Thị phần Android tại Việt Nam
                                    2.93
200.000 android device   2.32              0.52
                            0.36
                                   5.39
                                                          Android
5 triệu vào năm
2015
                                                  28.71   Symbian
                                                          WM7/WM
                                                          BlacBerry
                                                          Linux
                                                          iOS
                                59.76
                                                          Maemo/Meego
GOOGLE ANDROID


Android Market
GOOGLE ANDROID


Android Market
 Số lượng ứng dụng/game: 500.000+
 Số lượt tải: 8,1 tỉ lượt

 Số lượt tải: 31.8 tỉ lượt vào năm 2016
GOOGLE ANDROID


Android phone




   HTC G1          Google Nexus One
GOOGLE ANDROID


Android phone




  Motorola Droid/Milestone   Samsung Galaxy S
GOOGLE ANDROID


Android phone




     HTC Desire    HTC Wildfire
GOOGLE ANDROID


Android phone




  Samsung Galaxy SII   SonyEricsson Arc
GOOGLE ANDROID


Tiếp cận thế nào ?
 Sản xuất device

 Sản xuất ứng dụng, game

 Cung cấp giải pháp: nhúng, mini board,..
GOOGLE ANDROID


Lợi nhuận từ đâu ?
 Sản xuất device:
    Bán device to end user
 Sản xuất ứng dụng, game:
    Bán qua Android Market, Vimarket, F-Store,..
    Free và thu lợi nhuận từ quảng cáo in app
    Outsoucing cho đối tác nước ngoài
 Cung cấp giải pháp: nhúng, mini board,..
    Nghiên cứu và bán giải pháp
    Outsourcing
GOOGLE ANDROID


Làm ứng dụng loại nào ?
GOOGLE ANDROID




 Làm thế nào để phát triển
    ứng dụng/game ?
GOOGLE ANDROID

Kiến trúc
PHÁT TRIỂN ỨNG DỤNG

Chuẩn bị những gì ?
  Logic lập trình

  Java, C/C++ language

  Khái niệm lập trình trên mobile

  Kiến thức căn bản về Android OS

  Các cộng cụ phát triển
PHÁT TRIỂN ỨNG DỤNG

Công cụ phát triển ?
  Android SDK (Software Development Kit) - Free

  Android NDK (Native Development Kit) - Free

  Eclipse / Netbean IDE - Free

  Windows / Linux (Ubuntu,…)

  Máy ảo/ máy thật chạy Android
PHÁT TRIỂN ỨNG DỤNG




Vimarket    VietNam 3.0   KarDroid
PHÁT TRIỂN GAME

Chuẩn bị những gì ?
  Tƣ duy đồ họa căn bản

  Kiến thức về đồ họa 2D/3D
 (sprite, camera, projector, model, animation, Texture…)

  OpenGL/ES

  Game engine
PHÁT TRIỂN GAME

Công cụ phát triển ?
  Công cụ tạo hình: map, nhân vật, vật thể, bối cảnh

  Công cụ lập trình

  Tập trung vào C/C++ language

  Game engine / Game framework

  Máy ảo/ máy thật chạy Android: debug, kiểm thử
PHÁT TRIỂN GAME

Game engine:
  AndEngine (andengine.org): 2D, java (Free)

  Libgdx (code.google.com/p/libgdx/) : Java (JNI) (Free)

  Unity (unity3d.com/unity): 3D, C#, C++
PHÁT TRIỂN ỨNG DỤNG




Ô ăn quan   Jewel 1     Jewel 2
DOWNLOAD ECLIPSE

 IDE cho lập trình: Eclipse
       Download: http://www.eclipse.org/downloads/
 Vào link bên trên, download eclipse classic v ề rồi giải nén.
CÀI ĐẶT ADT PLUGIN

• Mở Eclipse lên, bấm vào Help  Install new software.
• Ở form hiện ra, chọn Add…
• Ở mục Name, nhập tên gì cũng đƣợc, ví dụ nhƣ ADT plugin
• Ở mục Location, nhập vào link: http://dl-
  ssl.google.com/android/eclipse/
• Sau đó bấm OK, chọn hết tất cả rồi bấm next cho đến lúc
  xong.
CÀI ĐẶT ANDROID SDK

 Có thể xem hƣớng dẫn cài đặt gốc tại đây
  http://developer.android.com/sdk/installing.html
 Muốn cài đặt of fline:
  http://dl-ssl.google.com/android/repository/repository.xml
  http://dl-ssl.google.com/android/repository/<package name>
CÀI ĐẶT ANDROID SDK

 Tải Android SDK tại link này
  http://developer.android.com/sdk/index.html (nhớ chú ý là
  nó chia ra Window, Mac và Linux)
 Mở Eclipse  window  preferences  Android  trong mục
  SDK location chọn Browse  đƣa đƣờng dẫn đến thƣ mục
  SDK  bấm apply.
CÀI ĐẶT ANDROID SDK

 Eclipse  window  Android SDK and AVD manager 
  Available packages  chọn và cài hết (hơi lâu một chút) hoặc
  bạn có thể chỉ chọn mấy cái liên quan đến Android 1 .6 thôi
  cũng đƣợc (API level 4).
CÀI ĐẶT ANDROID SDK

 Sau khi xong thì bấm vào Installed packages
TẠO MỘT ĐIỆN THOẠI ẢO (AVD)

• Eclipse  window  Android SDK and AVD manager  ở cái
  cửa sổ mới đó, chọn mục Virtual devices  bấm nút New…
• Mục Name: đặt tên gì cũng đƣợc
• Mục target: chọn API level 4
• Sdcard size: bạn gõ vào 1024 (hoặc có thể cao hơn)
• Sau đó bấm Create AVD.
TẠO MỘT PROJECT MỚI

 Ở màn hình eclipse, bấm File  New  Project  Android 
  Android Project  Next
 Hoặc trên thanh công cụ bấm vào icon nhƣ trong hình
TẠO MỘT PROJECT MỚI

 Ở màn hình kế nhập liệu vào các ô nhƣ sau:
   Project name: HelloWorld (tên project hiển trị trên eclipse cũng sẽ là
    thƣ mục chứ ứng dụng trong workspace)
   Application name: Hello World (tên ứng dụng sẽ hiện thị trên điện
    thoại)
   Package name: org.multiuni.android.hellowrold (tên của package sẽ
    chứa source code, tƣơng tự trong java
    http://en.wikipedia.org/wiki/Java_package#Package_naming_conve
    ntions)
TẠO MỘT PROJECT MỚI

   Create activity: HelloWorldActivity (tạo một lớp con của lớp
    Activity, dùng để hiển thị một màn hình ở đây là màn hình HelloWorld
    của chúng ta)
   Min SDK version: 4 (tức SDK 1.6, ở đây chúng ta khai báo là ứng
    dụng này có thể đáp ứng đƣợc phiên bản SDK cũ nhất là phiên bản
    nào)
 Sau khi hoàn tất bấm Finish, project mới đã đƣợc tạo.
CẤU TRÚC MỘT PROJECT

 Thƣ mục src chứa source code ứng dụng. Gồm các package
  và các class.
 Thƣ mục gen chứa các file tự động phát sinh (mà thƣờng
  gặp nhất là R.class)
 Thƣ mục res để chứa các resource dùng trong ứng dụng
  (thông qua ID)
 Thƣ mục assets chứa các resource file mà ứng dụng cần
  dùng (dƣới dạng file)
CẤU TRÚC MỘT PROJECT

 File Manifest là file khai báo thông tin về ứng với hệ thống
  (nhƣ ứng dụng gồm những màn hình nào, có service nào… xin
  các quyền gì, phiên bản bao nhiêu, dùng từ SDK phiên bản
  nào…)
 Ngoài ra còn có file thƣ viện.
CHẠY ỨNG DỤNG HELLO WORLD

 Với ứng dụng vừa tạo nếu có báo lỗi thì bạn sửa lại thông số
  cho ứng dụng nhƣ sau: bấm chuột phải vào project 
  Properties  Java compiler  Compiler compliance settings:
  1 .6
CHẠY ỨNG DỤNG HELLO WORLD

 Bấm Ctrl + F11 để chạy ứng dụng, sẽ hiện lên emulator
TẠO UI TRỰC TIẾP TỪ CODE

 Code ban đầu của ứng dụng:
   public class HelloWorldActivity extends Activity {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     }
   }
TẠO UI TRỰC TIẾP TỪ CODE

 Sửa lại nhƣ bên dƣới rồi chạy lại (nếu thấy báo lỗi thiếu thƣ
  viện, thử bấm Ctrl + Shift + O)
  public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      TextView tv = new TextView(this);
      tv.setText("Hello, Android");
      setContentView(tv);
    }
  }
THỬ XỬ LÝ SỰ KIỆN

 Ở code bên trên, đổi TextView lại thành Button.
  Button bt = new Button(this);
 Sau đó, implement phƣơng thức xử lý sự kiện khi user click
  vào nút này
  bt.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
      Toast.makeText(getApplicationContext(),
             "Hello
    World", Toast.LENGTH_LONG).show();
    }
  });
MỘT SỐ PHÍM TẮT

   Để   import các thƣ viện còn thiếu bấm   Ctrl   +   Shift + O
   Để   xóa một dòng code bấm               Ctrl   +   D
   Để   hiển thị bảng suggestion bấm        Ctrl   +   Space
   Để   comment một dòng code               Ctrl   +   /
THỬ XOAY MÀN HÌNH

 Tạo 1 project mới tên là Orientaion.
 Sau đó, bấm phải chuột vào thƣ mục res  new  Folder 
  nhập tên folder là layout-land (nhập chính xác)
THỬ MỘT CHÚT VỀ XOAY MÀN HÌNH

 Trong thƣ mục layout ban đầu có file main.xml, copy file
  đó, cho vào thƣ mục layout-land, vậy là mỗi thƣ mục đều có
  một file main.xml
 Ở mỗi file main trong 2 thƣ mục đó, đều có đoạn này:
      <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text=“@string/hello"
      />
THỬ MỘT CHÚT VỀ XOAY MÀN HÌNH

 Các bạn sửa cái nội dung android:text trong đoạn xml
  lại, để cho 2 file main đó có 2 nội dung text khác nhau là
  đƣợc.
 Chạy chƣơng trình, sau khi màn hình hiển thị, bấm Ctrl + F11
  (Ctrl bên trái) thử xem kết quả.
KẾT THÚC

 Tham khảo bản tiếng Anh tại link này:
  http://developer.android.com/resources/tutorials/hello -
  world.html
 Có thể thử các view khác nhau và xử lý một số sự kiện khác
  nhƣ sự kiện long click, sự kiện touch, sự kiện focus… trên
  các đối tƣợng view nhƣ
  Button, TextView, ImageView, ImageButton…
THIẾT KẾ GIAO DIỆN TRÊN ANDROID

 Trong Android, dùng Activity để hiển thị màn hình.
 Mỗi activity sẽ chứa các View theo dạng cấu trúc cây, nghĩa là
  một Layout gốc chứa các view/layout con bên trong hoặc chỉ
  có 1 view duy nhất (lƣu ý Layout cũng là một view).
 Có thể thiết kế giao diện trong code java hoặc trong file xml
  trong thƣ mục layout.
TREE VIEW
LAYOUT MẪU CỦA HELLOWORLD

<?xml version="1.0" encoding="utf -8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent”>

  <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text=“@string/hello“ />

</LinearLayout>
MỘT SỐ THUỘC TÍNH CƠ BẢN

 Layout_width, layout_height: chiều rộng của view (fill_parent
  là to bằng kích thƣớc của layout chứa view này, wrap_content
  là vừa đủ nội dung cần hiển thị của view)
 Orientation: với LinearLayout, việc sắp xếp các view là nằm
  kề nhau theo hàng ngang hoặc hàng dọc, ta khai báo
  orientation để chọn sắp theo kiểu nào (horizontal/vertical)
MỘT SỐ THUỘC TÍNH CƠ BẢN

 Gravity: thuộc tính này qui định các view nằm bên trong layout
  sẽ đặt theo vị trí nào so với layout (trung tâm, trái, phải, trên
  dƣới…)
 Weight: để các view phan chia tỉ lệ diện tích hiển thị trên màn
  hình (tỉ lệ tính theo weight của từng view trên tổng số
  weight, các view ko khai báo weight thì sẽ xem qua width và
  height)
VÍ DỤ CƠ BẢN

 Vào link này lấy code cho vào ứng dụng:
  http://developer.android.com/resources/tutorials/views/hello
  -linearlayout.html
THỰC HÀNH

 Làm một layout hiển thị nhƣ trong hình:




 Các bƣớc nhƣ sau:
     Phân tích thành phần layout trên giấy
     Phân tích đặc điểm các view
     Add thêm resource ảnh
     Thử trƣớc với với tab layout (khi view file xml trong eclipse)
     Đƣa vào thực thi trên máy, đánh giá
MỘT SỐ LOẠI LAYOUT KHÁC

 FrameLayout: các view bên trong đƣợc qui định vị trí bằng
  khoảng cách so với biên trái và trên so với layout, các view
  có thể đè lên nhau.
 RelativeLayout: các view đƣợc thiết kế dựa trên quan hệ
  giứa chúng với nhau và với layout chứa chúng.
 AbsoluteLayout: dành cho bạn nào làm nhiều với C#, nhƣng
  không khuyến khích với Android.
…
LƢU Ý KHI THIẾT KẾ GIAO DIỆN

 Hạn chế độ sau của cây
 Với các Layout phức tạp, đừng dùng RelativeLayout
 Nên chèn vào dữ liệu tạm để xem trƣớc layout hiển thị ra
  sao bên tab layout (trong eclipse), nhƣng xong rồi thì nhớ
  xóa dữ liệu tạm đi.
 FrameLayout có vấn đề với background
 Muốn tìm thuộc tính gì, bấm “android:” rồi đợi suggestion xổ
  ra xem.
THỰC HÀNH NHANH

 Thử thực hành các ví dụ sau:
  http://developer.android.com/resources/tutorials/views/hello -
    formstuff.html
  http://developer.android.com/resources/tutorials/views/hello -
    webview.html
LIST

 Rất hay dùng trong Android. Đặc biệt các ứng dụng cần lƣu
  trữ và hiển thị nhiều dữ liệu.
 List là một danh sách các view thông thƣờng có cùng dạng
  layout đặt liền nhau.
APIDEMOS

 Mở ứng dụng ApiDemos đã có sẵn:
   New android project  Create project from existing source  Browse
     mở thƣ mục SDK  platforms  android-1.6  samples 
    ApiDemos  OK  Finish.
   Mở thƣ mục project trong eclipse  src  mở
    com.example.android.apis.view  mở file List1.java
LIST1

 Trong code của List1 , các bạn tách bạch phần tạo mới
  ArrayAdapter ra nhé
  ArrayAdapter adapter = new
   ArrayAdapter<String>(this,

   android.R.layout.simple_list_item_1, mStrings);
  setListAdapter(adapter);
 Adapter dùng để kết nối dữ liệu cần đƣa vào list với layout
  hiển thị và cung cấp cho ListView hiển thị.
LIST1

 Với đoạn tạo một adapter, ta phân tích ra:
   this: context, lúc nào làm view cũng cần rồi
   android.R.layout.simple_list_item_1: layout để hiển thị mỗi item
    trong list, ở đây chỉ có một TextView
   mStrings: mảng các chuỗi kí tự, là dữ liệu cần hiển thị
 Sau khi tạo xong adapter, truyền vào cho list hiển thị.
LIST1

 Tạo một project mới, copy code List1 bỏ qua, rồi làm thêm
  các thao tác sau:
   Tạo 1 file layout có 1 TextView và 1 ImageView
   Trong TextView thêm dòng này
    android:id=“@+id/text”
   Sửa lại đoạn tạo mới adapter cho nó dùng cái layout vừa tạo. (tìm
    xem có cái constructor nào giúp chỉ chính xác đến cái TextView
    trong layout hay ko)
    Dạng này: ArrayAdapter(Context context, int resource, int
     textViewResourceId, T[] objects)
   Chạy ứng dụng

Contenu connexe

Tendances

Nghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNguyễn Anh
 
Báo cáo giữa kỳ
Báo cáo giữa kỳBáo cáo giữa kỳ
Báo cáo giữa kỳtuankiet123
 
Báo cáo thực tập giữa kì
Báo cáo thực tập giữa kìBáo cáo thực tập giữa kì
Báo cáo thực tập giữa kìNguyen Anh
 
Báo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpBáo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpNguyen Anh
 
Báo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpBáo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpNguyen Anh
 
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidlaonap166
 
Bao cao cuoi ki version full
Bao cao cuoi ki version fullBao cao cuoi ki version full
Bao cao cuoi ki version fullVõ Nhựt Tân
 
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupBáo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupTinh Ngo
 
Bao cao tong hop
Bao cao tong hopBao cao tong hop
Bao cao tong hopHắc Ảnh
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidPhuong Ngo
 
Android update
Android updateAndroid update
Android updatekuto92love
 

Tendances (15)

Tuan 1
Tuan 1Tuan 1
Tuan 1
 
Nghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OS
 
Báo cáo giữa kỳ
Báo cáo giữa kỳBáo cáo giữa kỳ
Báo cáo giữa kỳ
 
Báo cáo thực tập giữa kì
Báo cáo thực tập giữa kìBáo cáo thực tập giữa kì
Báo cáo thực tập giữa kì
 
Báo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpBáo cáo cuối kì thực tập
Báo cáo cuối kì thực tập
 
Báo cáo cuối kì thực tập
Báo cáo cuối kì thực tậpBáo cáo cuối kì thực tập
Báo cáo cuối kì thực tập
 
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOTĐề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
 
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
 
Bao cao cuoi ki version full
Bao cao cuoi ki version fullBao cao cuoi ki version full
Bao cao cuoi ki version full
 
Bao cao hoan chinh
Bao cao hoan chinhBao cao hoan chinh
Bao cao hoan chinh
 
Báo cáo cuối kì
Báo cáo cuối kìBáo cáo cuối kì
Báo cáo cuối kì
 
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupBáo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
 
Bao cao tong hop
Bao cao tong hopBao cao tong hop
Bao cao tong hop
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành android
 
Android update
Android updateAndroid update
Android update
 

En vedette

7. xu ly bat dong bo
7. xu ly bat dong bo7. xu ly bat dong bo
7. xu ly bat dong boJustin Hoang
 
Android chapter 02 - Setup to emulator
Android chapter 02 - Setup to emulatorAndroid chapter 02 - Setup to emulator
Android chapter 02 - Setup to emulatorJustin Hoang
 
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)Techacademy Software
 
Bài 1: Phát triển ứng dụng trên thiết bị di động
Bài 1: Phát triển ứng dụng trên thiết bị di động Bài 1: Phát triển ứng dụng trên thiết bị di động
Bài 1: Phát triển ứng dụng trên thiết bị di động Tuan Nguyen
 
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)Techacademy Software
 
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)Techacademy Software
 
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)Slide bài giảng lập trình Android DTU - Phần 4 (Activity)
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)Techacademy Software
 
Bài 7: Toast – Dialog, ListView & Binding
Bài 7: Toast – Dialog, ListView & BindingBài 7: Toast – Dialog, ListView & Binding
Bài 7: Toast – Dialog, ListView & Bindinghoccungdoanhnghiep
 
Seminar: quản lý thời gian
Seminar: quản lý thời gianSeminar: quản lý thời gian
Seminar: quản lý thời gianTuan Nguyen
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Techacademy Software
 
Tổng quan tài liệu Hướng dẫn hệ thống BMS
Tổng quan tài liệu Hướng dẫn hệ thống BMSTổng quan tài liệu Hướng dẫn hệ thống BMS
Tổng quan tài liệu Hướng dẫn hệ thống BMSJustin Hoang
 
Android Nâng cao-Bài 5:Notification Multiresolution Multilanguage
Android Nâng cao-Bài 5:Notification Multiresolution MultilanguageAndroid Nâng cao-Bài 5:Notification Multiresolution Multilanguage
Android Nâng cao-Bài 5:Notification Multiresolution MultilanguagePhuoc Nguyen
 
Android Nâng cao-Bài 3: Broadcast Receiver
Android Nâng cao-Bài 3: Broadcast ReceiverAndroid Nâng cao-Bài 3: Broadcast Receiver
Android Nâng cao-Bài 3: Broadcast ReceiverPhuoc Nguyen
 
Android location sensor programming
Android location sensor programmingAndroid location sensor programming
Android location sensor programmingPhuoc Nguyen
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderPhuoc Nguyen
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Phuoc Nguyen
 

En vedette (20)

7. xu ly bat dong bo
7. xu ly bat dong bo7. xu ly bat dong bo
7. xu ly bat dong bo
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Lập trình android
Lập trình androidLập trình android
Lập trình android
 
Android chapter 02 - Setup to emulator
Android chapter 02 - Setup to emulatorAndroid chapter 02 - Setup to emulator
Android chapter 02 - Setup to emulator
 
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
 
Bài 1: Phát triển ứng dụng trên thiết bị di động
Bài 1: Phát triển ứng dụng trên thiết bị di động Bài 1: Phát triển ứng dụng trên thiết bị di động
Bài 1: Phát triển ứng dụng trên thiết bị di động
 
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)
Slide bài giảng lập trình Android DTU - Phần 2 (Bắt đầu với Helloworld)
 
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)
Slide bài giảng lập trình Android DTU - Phần 5 (Broadcastreceiver)
 
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)Slide bài giảng lập trình Android DTU - Phần 4 (Activity)
Slide bài giảng lập trình Android DTU - Phần 4 (Activity)
 
Bài 7: Toast – Dialog, ListView & Binding
Bài 7: Toast – Dialog, ListView & BindingBài 7: Toast – Dialog, ListView & Binding
Bài 7: Toast – Dialog, ListView & Binding
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
Seminar: quản lý thời gian
Seminar: quản lý thời gianSeminar: quản lý thời gian
Seminar: quản lý thời gian
 
Bài 8: ListView & Binding
Bài 8: ListView & BindingBài 8: ListView & Binding
Bài 8: ListView & Binding
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1
 
Tổng quan tài liệu Hướng dẫn hệ thống BMS
Tổng quan tài liệu Hướng dẫn hệ thống BMSTổng quan tài liệu Hướng dẫn hệ thống BMS
Tổng quan tài liệu Hướng dẫn hệ thống BMS
 
Android Nâng cao-Bài 5:Notification Multiresolution Multilanguage
Android Nâng cao-Bài 5:Notification Multiresolution MultilanguageAndroid Nâng cao-Bài 5:Notification Multiresolution Multilanguage
Android Nâng cao-Bài 5:Notification Multiresolution Multilanguage
 
Android Nâng cao-Bài 3: Broadcast Receiver
Android Nâng cao-Bài 3: Broadcast ReceiverAndroid Nâng cao-Bài 3: Broadcast Receiver
Android Nâng cao-Bài 3: Broadcast Receiver
 
Android location sensor programming
Android location sensor programmingAndroid location sensor programming
Android location sensor programming
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content Provider
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development
 

Similaire à Mobile programming

Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Lương Bá Hợp
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Lương Bá Hợp
 
Xây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window PhoneXây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window Phonentanh80
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh androidkuto92love
 
Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Androidhoccungdoanhnghiep
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1tuankiet123
 
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31thequocbk
 
Giới thiệu FireFox OS
Giới thiệu FireFox OSGiới thiệu FireFox OS
Giới thiệu FireFox OSDraku Quậy
 
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipktvinh
 
Android chapter01-intro
Android chapter01-introAndroid chapter01-intro
Android chapter01-introluyen91
 
Google android 3 20110604
Google android 3   20110604Google android 3   20110604
Google android 3 20110604AiTi Education
 
Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua kyNhoxPO
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1tuankiet123
 

Similaire à Mobile programming (20)

đồ áN cơ sở
đồ áN cơ sởđồ áN cơ sở
đồ áN cơ sở
 
đồ áN cơ sở
đồ áN cơ sởđồ áN cơ sở
đồ áN cơ sở
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
 
Xây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window PhoneXây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window Phone
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh android
 
Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Android
 
Mobile group
Mobile groupMobile group
Mobile group
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1
 
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
 
Giới thiệu FireFox OS
Giới thiệu FireFox OSGiới thiệu FireFox OS
Giới thiệu FireFox OS
 
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclip
 
Android chapter01-intro
Android chapter01-introAndroid chapter01-intro
Android chapter01-intro
 
Báo cáo cuối kỳ
Báo cáo cuối kỳBáo cáo cuối kỳ
Báo cáo cuối kỳ
 
Bao cao tuan 3
Bao cao tuan 3Bao cao tuan 3
Bao cao tuan 3
 
Google android 3 20110604
Google android 3   20110604Google android 3   20110604
Google android 3 20110604
 
Bao cao tuan 2
Bao cao tuan 2Bao cao tuan 2
Bao cao tuan 2
 
Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua ky
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1
 
Hdh win mobile
Hdh win mobileHdh win mobile
Hdh win mobile
 

Dernier

[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptx
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptxGame-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptx
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptxxaxanhuxaxoi
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11zedgaming208
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21nguyenthao2003bd
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ haoBookoTime
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfXem Số Mệnh
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......thoa051989
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem Số Mệnh
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Xem Số Mệnh
 
chủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìchủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìanlqd1402
 

Dernier (20)

[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptx
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptxGame-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptx
Game-Plants-vs-Zombies để ôn tập môn kinh tế chính trị.pptx
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
 
chủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìchủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kì
 

Mobile programming

  • 1. MOBILE PROGRAMMING Lập trình trên thiết bị di động 2/9/2012 Huỳnh Công Thịnh – congthinh@ptithcm.edu.vn 1
  • 2. TẠI SAO NÊN THEO NGÀNH NÀY?  Tháng 7/2008, Apple ra mắt AppStore. Đến nay, App Store đã có hơn 400,000 ứng dụng với 10 tỷ lƣợt tải về, dẫn đầu ngành về dịch vụ ứng dụng cho di động.  Ovi Store của Nokia, Android Market của Google, App World của Blackberry , Huawei Technology. 2/9/2012 2
  • 3. TẠI SAO NÊN THEO NGÀNH NÀY?  AppStore: 400,000 ứng dụng với 10 tỉ lƣợt tải về  OviStore: 55,000 ứng dụng, 760 triệu download  Android Market: 200,000 ứng dụng, 4,5 tỉ download  App World: 30,000 ứng dụng, 3 triệu download/ngày  Huawei Technology: 80.000 ứng dụng $ = 7 tỷ USD >>> 30 tỷ USD trong 3 năm tới 2/9/2012 3
  • 4. CÁC MOBILE OS  iOS  Android  Tizen  Windows Phone 7  Blackberry OS & Qnx  WebOS  MeeGo  Symbian. 2/9/2012 4
  • 5. THỐNG KÊ THỊ TRƢỜNG 2/9/2012 5
  • 6. THỐNG KÊ LẬP TRÌNH VIÊN 2/9/2012 6
  • 7. THỐNG KÊ LẬP TRÌNH VIÊN 2/9/2012 7
  • 8. ANDROID, IOS, WINDOWS PHONE… Vậy, Mobile OS nào là tốt nhất? 2/9/2012 8
  • 9. GIAO DIỆN NGƯỜI DÙNG Lấy ứng dụng làm trung tâm. Mọi biểu tƣợng ứng dụng có thể di chuyển hoặc xóa đƣợc. Nổi bật với các Widget. Notification bar… 2/9/2012 9
  • 10. ANDROID, IOS, WINDOWS PHONE… Sự kết hợp phần cứng và phần mềm hoàn hảo. Màn hình thoáng đãng với các biểu tƣợng ứng dụng dàn ngay hàng thẳng lối rõ ràng. 11 màn hình chính. Nâng cấp với Notification bar. 2/9/2012 10
  • 11. ANDROID, IOS, WINDOWS PHONE… Thay vì lấy ứng dụng làm trung tâm, nhƣ với các nền tảng iOS và Android, Microsoft sử dụng khái niệm mới, gọi là hub (trung tâm), để tổ chức nội dung trong Windows Phone 7. Mỗi hub là một bộ sƣu tập các ứng dụng cùng nhóm. 2 màn hình chính. 2/9/2012 11
  • 12. ỨNG DỤNG VÀ TÍNH MỞ 2/9/2012 12
  • 13. KHẢ NĂNG TÙY BIẾN 2/9/2012 13
  • 14. KHẢ NĂNG TÍCH HỢP DỮ LIỆU 2/9/2012 14
  • 15. 2/9/2012 15
  • 16. GOOGLE ANDROID  Là gì ?  Open Source OS  Linux kernel (2.6)  Mobile platform (smartphone)  Liên minh OHA (Open Handset Allien): HTC, LG, Samsung, Motorola, T-Mobile, Sprint, NVIDIA, Intel, Broadcom, Qualcom,…)
  • 17. GOOGLE ANDROID  Có gì nổi bật ?  Full web (Html/html5, javascript, flash)  Game 2D/3D  Đa điểm (Multi touch)  Đa luồng (Multi thread)  Wifi, 3G, GPS, Sensor,…  Media (Video fullHD, MPeg4, H.264, Mp3, Acc, Ogg,…)
  • 18. GOOGLE ANDROID  Lịch sử phát triển:  Google mua Android Inc 17-8-2005  Ra mắt cộng đồng tháng 11-2007, thành lập OHA (Open Handset Allien)  Phiên bản 1.0 ra mắt tháng 9-2008, T-Mobile G1  Phiên bản 1.1 ra mắt tháng 2-2009
  • 19. GOOGLE ANDROID Các phiên bản  1.5 (Cupcake) – 04/2009  1.6 (Donut) – 09/2009  2.0/2.1 (Eclair) – 10/2009, 01/2010  2.2 (Froyo) – 05/2010  2.3 (Gingerbread) – 06/12/2010  3.0/3.1/3.2 (HoneyComb) – 03 – 7 /2011  4.0 (Ice cream sandwich) – 9/2011
  • 20. GOOGLE ANDROID Ice cream sandwich
  • 21. GOOGLE ANDROID  Thị phần (Toàn cầu) Thị phần Android toàn cầu Android  150 triệu điện thoại 34% 40% iOs Phone 7  500.000 lƣợt active/ngày Others 2% 24%
  • 22. GOOGLE ANDROID Thị phần (Việt Nam) Thị phần Android tại Việt Nam 2.93 200.000 android device 2.32 0.52 0.36 5.39 Android 5 triệu vào năm 2015 28.71 Symbian WM7/WM BlacBerry Linux iOS 59.76 Maemo/Meego
  • 24. GOOGLE ANDROID Android Market  Số lượng ứng dụng/game: 500.000+  Số lượt tải: 8,1 tỉ lượt  Số lượt tải: 31.8 tỉ lượt vào năm 2016
  • 25. GOOGLE ANDROID Android phone  HTC G1 Google Nexus One
  • 26. GOOGLE ANDROID Android phone Motorola Droid/Milestone Samsung Galaxy S
  • 27. GOOGLE ANDROID Android phone HTC Desire HTC Wildfire
  • 28. GOOGLE ANDROID Android phone Samsung Galaxy SII SonyEricsson Arc
  • 29. GOOGLE ANDROID Tiếp cận thế nào ?  Sản xuất device  Sản xuất ứng dụng, game  Cung cấp giải pháp: nhúng, mini board,..
  • 30. GOOGLE ANDROID Lợi nhuận từ đâu ?  Sản xuất device:  Bán device to end user  Sản xuất ứng dụng, game:  Bán qua Android Market, Vimarket, F-Store,..  Free và thu lợi nhuận từ quảng cáo in app  Outsoucing cho đối tác nước ngoài  Cung cấp giải pháp: nhúng, mini board,..  Nghiên cứu và bán giải pháp  Outsourcing
  • 31. GOOGLE ANDROID Làm ứng dụng loại nào ?
  • 32. GOOGLE ANDROID Làm thế nào để phát triển ứng dụng/game ?
  • 34.
  • 35. PHÁT TRIỂN ỨNG DỤNG Chuẩn bị những gì ?  Logic lập trình  Java, C/C++ language  Khái niệm lập trình trên mobile  Kiến thức căn bản về Android OS  Các cộng cụ phát triển
  • 36. PHÁT TRIỂN ỨNG DỤNG Công cụ phát triển ?  Android SDK (Software Development Kit) - Free  Android NDK (Native Development Kit) - Free  Eclipse / Netbean IDE - Free  Windows / Linux (Ubuntu,…)  Máy ảo/ máy thật chạy Android
  • 37. PHÁT TRIỂN ỨNG DỤNG Vimarket VietNam 3.0 KarDroid
  • 38. PHÁT TRIỂN GAME Chuẩn bị những gì ?  Tƣ duy đồ họa căn bản  Kiến thức về đồ họa 2D/3D (sprite, camera, projector, model, animation, Texture…)  OpenGL/ES  Game engine
  • 39. PHÁT TRIỂN GAME Công cụ phát triển ?  Công cụ tạo hình: map, nhân vật, vật thể, bối cảnh  Công cụ lập trình  Tập trung vào C/C++ language  Game engine / Game framework  Máy ảo/ máy thật chạy Android: debug, kiểm thử
  • 40. PHÁT TRIỂN GAME Game engine:  AndEngine (andengine.org): 2D, java (Free)  Libgdx (code.google.com/p/libgdx/) : Java (JNI) (Free)  Unity (unity3d.com/unity): 3D, C#, C++
  • 41. PHÁT TRIỂN ỨNG DỤNG Ô ăn quan Jewel 1 Jewel 2
  • 42. DOWNLOAD ECLIPSE  IDE cho lập trình: Eclipse Download: http://www.eclipse.org/downloads/  Vào link bên trên, download eclipse classic v ề rồi giải nén.
  • 43. CÀI ĐẶT ADT PLUGIN • Mở Eclipse lên, bấm vào Help  Install new software. • Ở form hiện ra, chọn Add… • Ở mục Name, nhập tên gì cũng đƣợc, ví dụ nhƣ ADT plugin • Ở mục Location, nhập vào link: http://dl- ssl.google.com/android/eclipse/ • Sau đó bấm OK, chọn hết tất cả rồi bấm next cho đến lúc xong.
  • 44. CÀI ĐẶT ANDROID SDK  Có thể xem hƣớng dẫn cài đặt gốc tại đây http://developer.android.com/sdk/installing.html  Muốn cài đặt of fline: http://dl-ssl.google.com/android/repository/repository.xml http://dl-ssl.google.com/android/repository/<package name>
  • 45. CÀI ĐẶT ANDROID SDK  Tải Android SDK tại link này http://developer.android.com/sdk/index.html (nhớ chú ý là nó chia ra Window, Mac và Linux)  Mở Eclipse  window  preferences  Android  trong mục SDK location chọn Browse  đƣa đƣờng dẫn đến thƣ mục SDK  bấm apply.
  • 46. CÀI ĐẶT ANDROID SDK  Eclipse  window  Android SDK and AVD manager  Available packages  chọn và cài hết (hơi lâu một chút) hoặc bạn có thể chỉ chọn mấy cái liên quan đến Android 1 .6 thôi cũng đƣợc (API level 4).
  • 47. CÀI ĐẶT ANDROID SDK  Sau khi xong thì bấm vào Installed packages
  • 48. TẠO MỘT ĐIỆN THOẠI ẢO (AVD) • Eclipse  window  Android SDK and AVD manager  ở cái cửa sổ mới đó, chọn mục Virtual devices  bấm nút New… • Mục Name: đặt tên gì cũng đƣợc • Mục target: chọn API level 4 • Sdcard size: bạn gõ vào 1024 (hoặc có thể cao hơn) • Sau đó bấm Create AVD.
  • 49. TẠO MỘT PROJECT MỚI  Ở màn hình eclipse, bấm File  New  Project  Android  Android Project  Next  Hoặc trên thanh công cụ bấm vào icon nhƣ trong hình
  • 50. TẠO MỘT PROJECT MỚI  Ở màn hình kế nhập liệu vào các ô nhƣ sau:  Project name: HelloWorld (tên project hiển trị trên eclipse cũng sẽ là thƣ mục chứ ứng dụng trong workspace)  Application name: Hello World (tên ứng dụng sẽ hiện thị trên điện thoại)  Package name: org.multiuni.android.hellowrold (tên của package sẽ chứa source code, tƣơng tự trong java http://en.wikipedia.org/wiki/Java_package#Package_naming_conve ntions)
  • 51. TẠO MỘT PROJECT MỚI  Create activity: HelloWorldActivity (tạo một lớp con của lớp Activity, dùng để hiển thị một màn hình ở đây là màn hình HelloWorld của chúng ta)  Min SDK version: 4 (tức SDK 1.6, ở đây chúng ta khai báo là ứng dụng này có thể đáp ứng đƣợc phiên bản SDK cũ nhất là phiên bản nào)  Sau khi hoàn tất bấm Finish, project mới đã đƣợc tạo.
  • 52. CẤU TRÚC MỘT PROJECT  Thƣ mục src chứa source code ứng dụng. Gồm các package và các class.  Thƣ mục gen chứa các file tự động phát sinh (mà thƣờng gặp nhất là R.class)  Thƣ mục res để chứa các resource dùng trong ứng dụng (thông qua ID)  Thƣ mục assets chứa các resource file mà ứng dụng cần dùng (dƣới dạng file)
  • 53. CẤU TRÚC MỘT PROJECT  File Manifest là file khai báo thông tin về ứng với hệ thống (nhƣ ứng dụng gồm những màn hình nào, có service nào… xin các quyền gì, phiên bản bao nhiêu, dùng từ SDK phiên bản nào…)  Ngoài ra còn có file thƣ viện.
  • 54. CHẠY ỨNG DỤNG HELLO WORLD  Với ứng dụng vừa tạo nếu có báo lỗi thì bạn sửa lại thông số cho ứng dụng nhƣ sau: bấm chuột phải vào project  Properties  Java compiler  Compiler compliance settings: 1 .6
  • 55. CHẠY ỨNG DỤNG HELLO WORLD  Bấm Ctrl + F11 để chạy ứng dụng, sẽ hiện lên emulator
  • 56. TẠO UI TRỰC TIẾP TỪ CODE  Code ban đầu của ứng dụng: public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
  • 57. TẠO UI TRỰC TIẾP TỪ CODE  Sửa lại nhƣ bên dƣới rồi chạy lại (nếu thấy báo lỗi thiếu thƣ viện, thử bấm Ctrl + Shift + O) public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } }
  • 58. THỬ XỬ LÝ SỰ KIỆN  Ở code bên trên, đổi TextView lại thành Button. Button bt = new Button(this);  Sau đó, implement phƣơng thức xử lý sự kiện khi user click vào nút này bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show(); } });
  • 59. MỘT SỐ PHÍM TẮT  Để import các thƣ viện còn thiếu bấm Ctrl + Shift + O  Để xóa một dòng code bấm Ctrl + D  Để hiển thị bảng suggestion bấm Ctrl + Space  Để comment một dòng code Ctrl + /
  • 60. THỬ XOAY MÀN HÌNH  Tạo 1 project mới tên là Orientaion.  Sau đó, bấm phải chuột vào thƣ mục res  new  Folder  nhập tên folder là layout-land (nhập chính xác)
  • 61. THỬ MỘT CHÚT VỀ XOAY MÀN HÌNH  Trong thƣ mục layout ban đầu có file main.xml, copy file đó, cho vào thƣ mục layout-land, vậy là mỗi thƣ mục đều có một file main.xml  Ở mỗi file main trong 2 thƣ mục đó, đều có đoạn này: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=“@string/hello" />
  • 62. THỬ MỘT CHÚT VỀ XOAY MÀN HÌNH  Các bạn sửa cái nội dung android:text trong đoạn xml lại, để cho 2 file main đó có 2 nội dung text khác nhau là đƣợc.  Chạy chƣơng trình, sau khi màn hình hiển thị, bấm Ctrl + F11 (Ctrl bên trái) thử xem kết quả.
  • 63. KẾT THÚC  Tham khảo bản tiếng Anh tại link này: http://developer.android.com/resources/tutorials/hello - world.html  Có thể thử các view khác nhau và xử lý một số sự kiện khác nhƣ sự kiện long click, sự kiện touch, sự kiện focus… trên các đối tƣợng view nhƣ Button, TextView, ImageView, ImageButton…
  • 64. THIẾT KẾ GIAO DIỆN TRÊN ANDROID  Trong Android, dùng Activity để hiển thị màn hình.  Mỗi activity sẽ chứa các View theo dạng cấu trúc cây, nghĩa là một Layout gốc chứa các view/layout con bên trong hoặc chỉ có 1 view duy nhất (lƣu ý Layout cũng là một view).  Có thể thiết kế giao diện trong code java hoặc trong file xml trong thƣ mục layout.
  • 66. LAYOUT MẪU CỦA HELLOWORLD <?xml version="1.0" encoding="utf -8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent”> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=“@string/hello“ /> </LinearLayout>
  • 67. MỘT SỐ THUỘC TÍNH CƠ BẢN  Layout_width, layout_height: chiều rộng của view (fill_parent là to bằng kích thƣớc của layout chứa view này, wrap_content là vừa đủ nội dung cần hiển thị của view)  Orientation: với LinearLayout, việc sắp xếp các view là nằm kề nhau theo hàng ngang hoặc hàng dọc, ta khai báo orientation để chọn sắp theo kiểu nào (horizontal/vertical)
  • 68. MỘT SỐ THUỘC TÍNH CƠ BẢN  Gravity: thuộc tính này qui định các view nằm bên trong layout sẽ đặt theo vị trí nào so với layout (trung tâm, trái, phải, trên dƣới…)  Weight: để các view phan chia tỉ lệ diện tích hiển thị trên màn hình (tỉ lệ tính theo weight của từng view trên tổng số weight, các view ko khai báo weight thì sẽ xem qua width và height)
  • 69. VÍ DỤ CƠ BẢN  Vào link này lấy code cho vào ứng dụng: http://developer.android.com/resources/tutorials/views/hello -linearlayout.html
  • 70. THỰC HÀNH  Làm một layout hiển thị nhƣ trong hình:  Các bƣớc nhƣ sau:  Phân tích thành phần layout trên giấy  Phân tích đặc điểm các view  Add thêm resource ảnh  Thử trƣớc với với tab layout (khi view file xml trong eclipse)  Đƣa vào thực thi trên máy, đánh giá
  • 71. MỘT SỐ LOẠI LAYOUT KHÁC  FrameLayout: các view bên trong đƣợc qui định vị trí bằng khoảng cách so với biên trái và trên so với layout, các view có thể đè lên nhau.  RelativeLayout: các view đƣợc thiết kế dựa trên quan hệ giứa chúng với nhau và với layout chứa chúng.  AbsoluteLayout: dành cho bạn nào làm nhiều với C#, nhƣng không khuyến khích với Android. …
  • 72. LƢU Ý KHI THIẾT KẾ GIAO DIỆN  Hạn chế độ sau của cây  Với các Layout phức tạp, đừng dùng RelativeLayout  Nên chèn vào dữ liệu tạm để xem trƣớc layout hiển thị ra sao bên tab layout (trong eclipse), nhƣng xong rồi thì nhớ xóa dữ liệu tạm đi.  FrameLayout có vấn đề với background  Muốn tìm thuộc tính gì, bấm “android:” rồi đợi suggestion xổ ra xem.
  • 73. THỰC HÀNH NHANH  Thử thực hành các ví dụ sau: http://developer.android.com/resources/tutorials/views/hello - formstuff.html http://developer.android.com/resources/tutorials/views/hello - webview.html
  • 74. LIST  Rất hay dùng trong Android. Đặc biệt các ứng dụng cần lƣu trữ và hiển thị nhiều dữ liệu.  List là một danh sách các view thông thƣờng có cùng dạng layout đặt liền nhau.
  • 75. APIDEMOS  Mở ứng dụng ApiDemos đã có sẵn:  New android project  Create project from existing source  Browse  mở thƣ mục SDK  platforms  android-1.6  samples  ApiDemos  OK  Finish.  Mở thƣ mục project trong eclipse  src  mở com.example.android.apis.view  mở file List1.java
  • 76. LIST1  Trong code của List1 , các bạn tách bạch phần tạo mới ArrayAdapter ra nhé ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrings); setListAdapter(adapter);  Adapter dùng để kết nối dữ liệu cần đƣa vào list với layout hiển thị và cung cấp cho ListView hiển thị.
  • 77. LIST1  Với đoạn tạo một adapter, ta phân tích ra:  this: context, lúc nào làm view cũng cần rồi  android.R.layout.simple_list_item_1: layout để hiển thị mỗi item trong list, ở đây chỉ có một TextView  mStrings: mảng các chuỗi kí tự, là dữ liệu cần hiển thị  Sau khi tạo xong adapter, truyền vào cho list hiển thị.
  • 78. LIST1  Tạo một project mới, copy code List1 bỏ qua, rồi làm thêm các thao tác sau:  Tạo 1 file layout có 1 TextView và 1 ImageView  Trong TextView thêm dòng này android:id=“@+id/text”  Sửa lại đoạn tạo mới adapter cho nó dùng cái layout vừa tạo. (tìm xem có cái constructor nào giúp chỉ chính xác đến cái TextView trong layout hay ko) Dạng này: ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)  Chạy ứng dụng