Lập trình Android – 2013

Thông báo chuẩn bị xuất bản khóa học mới “Lập Trình Zalo với Android SDK”:https://duythanhcse.wordpress.com/2020/05/09/thong-bao-chuan-bi-xuat-ban-khoa-hoc-moi-lap-trinh-zalo-voi-android-sdk/

Các kiến thức trong Khóa học “Lập Trình Zalo với Android SDK” gồm:

– Tìm hiểu Zalo Android SDK (cách tích hợp, login, Open API, tương tác với Zalo App…)

– Cung cấp những kiến thức cốt lõi cơ bản về 1 ứng dụng tích hợp Zalo Android SDK.

-Cách thức gửi xét duyệt sử dụng các API

– Cách thức đăng nhập, xác thực, đăng xuất Zalo

– Làm việc với Social API (Mời sử dụng ứng dụng, đăng bài viết, gửi tin nhắn bạn bè, lấy danh sách bạn bè, lấy thông tin người dùng)

Danh sách các bài học android miễn phí trên Blog:


Đề cương chi tiết môn học: link đề cương chi tiết

Cách nộp bài tập Android trên trang Assembla : Link Download

Chương trình để lấy Hex Color cho Màu Nền và Màu Chữ trong Android : Link Download

Chương trình Kill Process trong trường hợp Task Manager bị khóa do virus : Link Download

————————————————————————————————————-

Slide bài giảng : Yêu cầu sinh viên in các slide bài giảng và đọc trước khi tham dự lớp học

0) Giới thiệu môn học: Link download

1) Giới thiệu môi trường phát triển điện thoại di động : Link download (tuần 1 học 3 tiết lý thuyết)

2) Xử lý giao diện người dùng : Link download (tuần 2, tuần 3, tuần 4 học 9 tiết lý thuyết + 12 tiết thực hành)

3) Xử lý tập tin, lưu trạng thái ứng dụng, thao tác cơ sở dữ liệu, content provider: Link download (tuần 5 học 3 tiết lý thuyết + 3 tiết thực hành)

4) Xử lý đa tiến trình và dịch vụ: Link download (tuần 6, tuần 7 học 6 tiết lý thuyết + 6 tiết thực hành)- phần này rất hay và quan trọng, sinh viên cần lưu ý.

5) Networking APIs và Multimedia APIs : Link download (tuần 8 học 3 tiết lý thuyết+ 3 tiết thực hành)

6) Telephony APIs và Locations Base Services APIs : Link download (tuần 9 học 3 tiết lý thuyết + 3 tiết thực hành)

7 ) Thao tác với thiết bị cảm ứng :Link download (tuần 10 học 3 tiết lý thuyết + 3 tiết thực hành)

————————————————————————————————————-

Danh sách bài tập Module 1: Link download

Danh sách Bài tập và đề tài  Android: Link download

Yêu cầu sinh viên in ấn và làm bài tập ở nhà trước khi lên lớp thực hành.

————————————————————————————————————-

Các giáo trình cần tải về để tham khảo:

[1] Unlocking Android

[2] The Busy Coders Guide to Android Development

[3] Beginning Android Application Development – WeiMengle – Wrox -2011

[4] Android Wireless Development -Lauren Darcey , Shane Conder

[5] Professional Android Application Development -Malestrom

————————————————————————————————————

Tổng hợp Android Source code  – Android 4.2 – Bài giảng 2013:

http://www.mediafire.com/?p86n18cwx0h7314

————————————————————————————————————

Tổng hợp Android Source code 2012:

http://www.mediafire.com/?h02s8xtycpp49qo

————————————————————————————————————

Sinh viên có thể xem chi tiết từng bài tập từ dễ lên khó ở đây:

Bài tập 1: Làm quen với môi trường phát triển điện thoại di động

Bài tập 2: Thao tác với Android Virtual Device và DDMS

Bài tập 3: Cách tạo Android Project và tìm hiểu cấu trúc bên trong của một Android Project

Bài tập 4: Cách sửa một số lỗi thường gặp trong Android Project

Bài tập 5: Tìm hiểu vòng đời của một Ứng Dụng Android

Bài tập 6: Phân biệt Foreground Lifetime và Visible Lifetime

Bài tập 7: Làm quen với các Layout trong Android

Bài tập 8: Các kiểu lập trình sự kiện trong Android

Bài tập 9: Thực hành về Toast Notification và Alert Dialog

Bài tập 10: Sử dụng TextView, EditText và Button trong Android

Bài tập 11: Sử dụng Checkbox và RadioButton trong Android

Bài tập 12: Ví dụ tổng hợp TextView, EditText, CheckBox, Button và ImageButton trong Android

Bài tập 13: Thực hành về ListView trong Android

Bài tập 14: Thực hành về Custom Layout cho ListView trong Android

Bài tập 15: Thực hành về Spinner trong Android

Bài tập 16: Kết hợp Spinner với ListView trong Android

Bài tập 17: Thực hành về AutocompleteTextView và MultiAutocompleteTextView

Bài tập 18: Cập nhật DataSource cho AutocompleteTextView lúc Runtime

Bài tập 19: Thực hành Gridview trong Android

Bài tập 20: Thực hành về DatePickerDialog và TimePickerDialog trong Android

Bài tập 21: Thực hành về Tab Selector trong Android

Bài tập 22: Thực hành về Menu trong Android

Bài tập 23: Thực hành về Context Menu trong Android

Bài tập 24: Thực hành về Intent trong Android

Bài tập 25: Tiếp tục củng cố kiến thức Intent, ví dụ tổng hợp Quản Lý Nhân Viên

Bài tập 26: Dùng Implicit Intent để viết chương trình gọi điện thoại và nhắn tin SMS

Bài tập 27: Đa ngôn ngữ trong Android

Bài tập 28: Xử lý tập tin trong Android

Bài tập 29: XML Parser trong Android

Bài tập 30: Thực hành về Shared Preferences

Bài tập 31: Cách sử dụng SQLite trong Android

Bài tập 32: Tiếp tục củng cố kiến thức SQLite, ví dụ tổng hợp quản lý sách

Bài tập 33: Sử dụng ContentProvider trong Android

Bài tập 34: đa tiến trình trong Android (Multi-Threading)

Bài 35 : Vẽ Button lúc Runtime, dùng Using Message của Handler class

Bài 36: Update ListView At runtime by Handler class using post

Bài 37: Xử lý đa tiến trình bằng AsyncTask

Bài 38: Lấy kết quả trả về sau khi thực hiện đa tiến trình bằng AsyncTask

Bài 39: Kết hợp AsyncTask và Handler class

Bài 40: Tìm hiểu Broadcast Receiver, ứng dụng viết phần mềm xử lý tin nhắn rác

Bài 41: Phần mềm xử lý tin nhắn rắc

Bài 42: Đáp án mẫu đề thi cuối kỳ Android

Bài 43: Android vs .net Web Services

Bài 44: Cách tạo Webservice

Bài 45: Sử dụng .Net Webservice trong C#

Bài 46: Sử dụng .Net Webservice trong Android

Bài 47: Xử lý tin nhắn SMS bằng BroadCastReceiver

Bài 48: Cách sử dụng Facebook SDK trong Android

Bài 49: Cách debug ứng dụng trên thiết bị Android bằng WIFI (không cần cắm USB Cable)

Bài 50: Cách sử dụng Google Cloud Message trong Android

Bài 51: Xử lý JSON trong Android

Bài 52: Tạo định dạng JSON trong C# asp.net service vs Android

Bài 53: Google Maps Android API – phần 1

Bài 54: Google Maps Android API – phần 2

Bài 55: Google Maps Android API – phần 3

Bài 56: Google Maps Android API – phần 4

Bài 57: Xây dựng phần mềm nghe trộm Tin Nhắn trong Android

Bài 58: Làm quen với môi trường lập trình Android Studio – Phần 1

Bài 59: Làm quen với môi trường lập trình Android Studio – Phần 2

Bài 60: Cấu hình Hardware Accelerated Execution để chạy máy ảo Android 5.0

Bài 61: Cách đưa định dạng JSon về Java class bằng GSon

Bài 62: Cách đưa định dạng JSon về Java class bằng GSon (tiếp 1)

Bài 63: Cách đưa định dạng JSon về Java class bằng GSon (tiếp 2)

Bài 64: Xây dựng phần mềm dự báo thời tiết

Bài 65: Xây dựng phần mềm Camera Uploader trong Android Studio

Bài 66: Cách vẽ các loại biểu đồ trong Android bằng AChartEngine

Bài 67: Cài đặt Google Play Service cho máy ảo Genymotion

52 thoughts on “Lập trình Android – 2013”

  1. Em chào thầy! Hiện em đang có một lỗi mà không rõ khi add bằng Bundle là khi Add em chỉ Add được 1 dòng khi mở Dialog mới, bấm nút Add lần 2 thì nó đè lên lần 1. Chỉ có tắt Dialog Add và mở lên lại thì mới Add tiếp được. Thầy chỉ giúp em lỗi bị sai. Em cảm ơn thầy!
    Code Add Album phần Add:

    btnThem = (Button) findViewById(R.id.btnThem);
    btnThem.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    if(txtMa.getText().toString().equals(“”) || txtTen.getText().toString().equals(“”))
    {
    Toast.makeText(AddAlbum.this, “Điền vào chỗ trống”, Toast.LENGTH_SHORT).show();
    }
    else
    {
    Intent mainIntent = getIntent();

    String maKH = txtMa.getText().toString();
    String tenKH = txtTen.getText().toString();

    ThemAlbum them = new ThemAlbum(maKH, tenKH);

    myAddBundle.putSerializable(“addAlbum”, them);

    mainIntent.putExtra(“DATA”, myAddBundle);

    setResult(MainActivity.New_album, mainIntent);

    txtMa.setText(“”);
    txtTen.setText(“”);
    txtMa.requestFocus();
    }
    }
    });

    Code Main nhận lệnh Add:

    if(resultCode==MainActivity.New_album)
    {
    Bundle myBundle = data.getBundleExtra(“DATA”);
    ThemAlbum them = (ThemAlbum) myBundle.getSerializable(“addAlbum”);
    themAlbum.add(them);

    }

    1. em có đoạn code như sau:
      String h[ ]=String.valueOf(trus).split(“-“);
      nó vẫn thự hiện với dâu “-” nhưng nó không thể thực hiện với dấu”+”, hay dấu “.”
      em rất mong được giúp đỡ!
      em cảm ơn thầy và các bạn ạ!

    2. theo em thì phương thức này xử lí theo regex nên cần escape
      trong trường hợp của bạn minh thì nên sửa như sau:
      String h[ ]=String.valueOf(trus).split(“\\.”);

  2. em có đoạn code như sau:
    String tru[ ]=load.getText().toString().split(“-”);
    nó vẫn thự hiện với dâu “-” nhưng nó không thể thực hiện với dấu”+”, hay dấu “.”
    em rất mong được giúp đỡ!
    em cảm ơn thầy và các bạn ạ!

  3. thầy cho em hỏi.Em làm bài ví dụ về AlertDialog nhưng khi tương tác giao diện (bấm nút button) thì nó báo lỗi : A has stopped”
    A: đây là tên project
    Với lại mong thầy hướng dẫn em cách xài logcat
    thầy có thể hồi âm cho em theo Email : manhtt09@gmail.com

  4. Thầy ơi cho em hỏi, em đang làm App Trắc Nghiệm Toeic.trong đó có làm phần nghe.em làm csdl sqlite co table luu đường dẫn đến các file âm thanh đó, các file âm thanh thì em bỏ trong Assets. em muon khi minh lay cau hoi ngau nhien tu table đó thì nó sẽ lấy ngẫu nhiên các đoạn âm thanh đó và phát ra theo id mà mình đã làm trong table đó. muốn vậy thì em phải viết code xử lý sao vậy thầy?

  5. Em cảm ơn thầy nhiều lắm lắm vì bài giảng của thầy. Em không có điều kiện đi học nên em phải tự học, những bài giảng của thầy rất hữu ích với em. Chúc thầy luôn mạnh khỏe ạ!

  6. Thầy ơi. thầy có bải giảng về lập trình hướng đối tượng không thầy.Em thấy mình đang kém về phần này quá.Nếu thầy có thì cho e xin được không ạ !

  7. Bài tập 20: Thực hành về DatePickerDialog và TimePickerDialog trong Android”
    thầy có hướng dẫn về timer với Broadcast Receiver đề làm chương trinh Alarm Manager

  8. Thầy ơi cho em hỏi làm cách nào để đọc và ghi file database vào sdcard với android 4.4 trở lên ạ. Em ghi hoài mà không được

    1. cái này chỉ là cách viết gọn của 1 for thôi bạn. Nó tương đương
      for(int i=0;i<=listKH.size();i++){
      KhachHang kh = listKH[i];
      …..
      }

  9. 2018 này sẽ là năm bủng nổ về kiến thức Android hơn nữa, mình cũng đàng tìm khóa học nào đó phù hợp vcoiws kiến thức bản thân, mong là tài liệu của thầy có hữu ích!

Leave a Reply