SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar a 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
 

Similar a 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
 

Último

xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfXem Số Mệnh
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...ChuThNgnFEFPLHN
 
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
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docxasdnguyendinhdang
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...Nguyen Thanh Tu Collection
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họchelenafalet
 
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
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf4pdx29gsr9
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoidnghia2002
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàNguyen Thi Trang Nhung
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...Nguyen Thanh Tu Collection
 
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...lamluanvan.net Viết thuê luận văn
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiNgocNguyen591215
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...Nguyen Thanh Tu Collection
 
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
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...Nguyen Thanh Tu Collection
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnpmtiendhti14a5hn
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emTrangNhung96
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạowindcances
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phươnghazzthuan
 

Último (20)

xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
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...
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
 
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...
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
 
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
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiện
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 

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