Lập trình Android

Tự Học Android Qua Video

Để đáp ứng nhu cầu học thêm Android, Tui có nhận lời mời giảng dạy trực tuyến cho Tổ Hợp Công Nghệ Giáo Dục Topica.

Chương trình học Android qua video gồm hơn 33 giờ giảng với nội dung đầy đủ kiến thức từ java cơ bản cho tới Android nâng cao. Bạn nào có nhu cầu thì đăng ký học (chú ý Topica có tính phí). Mỗi bài giảng qua Video Tui đều để lại source code mẫu đầy đủ và các dự án thực tế.

-Các bạn chú ý: để được ưu đãi với giá rẻ nhất các bạn hãy vào facebook đăng ký (giá thường giảm 50%) : https://www.facebook.com/tranduythanhcse/

Việc học qua Video sẽ giúp các bạn dễ nắm bắt hơn.

Dưới đây là đề cương chi tiết khóa học:

2016-06-16_21-39-05

Chúc các bạn thành công.

—————————————————————–

Tài liệu học thử Android – đợt 30/09/2015

1) Đề cương chi tiết 3 buổi học thử

2) Giáo trình học thử

3) Slide học thử buổi 1

4) Slide học thử buổi 2

5) Slide học thử buổi 3

6) Bài tập học thử

—————————————————————–

Đề 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

40 responses

  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);

    }

  2. Trần Duy Thanh | Reply

    Hiện giờ Thầy đang bận, có ai đó trong lớp mình xử lý vấn đề này giùm bạn Minh không?

    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(“\\.”);

  3. cam on vi bai viet hay

  4. Thày giáo đưa link lên googlesite đi ạ, ở đó download hay hơn mediafile ạ

  5. cám ơn thầy bài viết rất hữu ích với em

  6. cám ơn thầy

  7. 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 ạ!

  8. 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

  9. Nguyen Văn Bôn | Reply

    Cho minh xin code Quản Lý BÀi Hát Dc không các bạn. jbonit89@gmail.com

  10. 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?

    1. a ơi a đã viết xong App trắc nghiệm toeic chưa a?cho e xin code đc k ạ?

    2. nếu a còn thì a có thể gửi cho e vào email haovanle2210@gmail.com.e cám ơn a!

  11. thưa thầy. em muốn dùng jni để quản lý thư viện,thầy có thế cho em một ví dụ hay hướng dẫn được ko a, em cám ơn thầy

  12. 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 ạ!

  13. Bài viết rất hay! thanks.

  14. Một sự thích thú mới! Quyết tâm chinh phục môn học này!
    Cảm ơn Sự Đam mê và nhiệt tình trong giảng dạy của Thầy Trần Duy Thanh

  15. chao thay

  16. 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 ạ !

  17. Thầy ơi cho e hỏi laod data lên list view bằng ksoap sao vậy thầy

  18. 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

  19. Bài viết của thầy rất hay…nhưng mà chưa có cơ hội được gặp thầy😦

  20. file tai ve khong mo duoc thay ak

  21. 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

  22. Mình đã từng tự học tại trang của A Thành, và đã viết được một số bài, hi vọng giúp dc các bạn mới bắt đầu học Android:
    http://histudycode.com/2015/07/08/tu-hoc-android-cho-nguoi-moi-bat-dau/
    Thank a Thành!

  23. Bài tổng hợp để học android rất hay. Cảm ơn thầy!

  24. hay wa

  25. nhờ thầy hoặc bạn nào biết giải thích cho mình đoạn này hoạt động như thế nào:
    for(KhachHang kh:listKH) ,cám ơn.

    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];
      …..
      }

  26. thầy em muốn học android thầy thì liên hệ sao ạ?

    1. Em gọi điện tới trung tâm để đăng ký lớp học, gọi điện gặp cô Trinh: 0914485411

  27. Lướt qua blog của bạn đọc thấy hay quá. cảm ơn bạn đã chia sẻ.

  28. thầy làm 1 bài về game đi ạ. Em cảm ơn thầy.

  29. Chào thầy,
    Thầy có thể làm một số bài hướng dẫn về cloud storage(backup/restore) cho sqlite database được không ạ. Em cám ơn thầy!

  30. Thầy làm 1 bài giới thiệu về service đi ạ. E cám ơn thầy!

  31. Thầy có thể cho em biết làm 1 cái app lock thì cần sử dụng những lớp nào không ạ??

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s