Thứ Năm, 27 tháng 11, 2014

Lấy hình đại diện của youtube

Có nhiều bạn sử dụng các blogspot dạng video nhưng không biết làm sao lấy được hình đại diện của youtube khi post bài vậy hôm nay mình sẽ chia sẻ cho các bạn cách lấy hình dại diện đơn giản nhất

giả sử bạn muốn lấy hình đại diện của video clip có địa chỉ
https://www.youtube.com/watch?v=Se_hJwEH7Kc

Cách 1:
bạn chỉ cần lấy id của video, ở link trên id video là Se_hJwEH7Kc

sau đó bạn trỏ đường dẫn hình theo cấu trúc sau:
http://i2.ytimg.com/vi//default.jpg

với video trên, để lấy hình đại diện bạn thay id video là Se_hJwEH7Kc vào link hình trên ta có: http://i2.ytimg.com/vi/Se_hJwEH7Kc/default.jpg

và kết quả có được là hình:


:-)


Cách 2 :
trong khi post bài bạn có biểu tượng chèn video vào thì bạn hãy ném link qua đó thì không phải phiền phức như ở bước 1 nữa.

Nếu bạn thấy bài viết hay hãy chia sẻ hoặc commet để mình tiếp tục viết bài. Xin cảm ơn

Thủ thuật tăng Subscribers và Views của Youtube siêu tốc

Nếu bạn thực sự không sử dụng dịch vụ Youtube và quan tâm về views trên Youtube thì bạn không nên đọc tiếp bài viết dưới đây vì có thể nó sẽ không giúp ích gì cho bạn!

Thủ thuật tăng Subscribers và Views của Youtube siêu tốc

Nguyên tắc thứ 1: Bạn đặc biệt.


Bạn có tin không, mặc dù không hay lắm nhưng mình đã từng download 1 video xuống và upload lại lên. Trong vài ngày sau đó video của mình lên trang đầu và bây giờ là top 2 trong từ khóa dù cho video kia đã upload trước mình khá lâu (video nhạc). Khác biệt ở đâu?


Đây là vấn đề đầu tiên, không mới và cũng không đòi hỏi bạn phải suy nghĩ vất vả, chỉ cần bạn biết và làm theo. Đó là bước thông tin cho video.

Ngắn gọn, những thông tin youtube cần bạn cung cấp:

- Tựa đề: Không cần thiết phải dài dòng, tóm gọn và hãy để phần quan trọng ở những từ đầu tiên (xem tiếp Nguyên tắc 2).
Tips đúng cho một vài video phù hợp là khi bạn cảm thấy phần này khó khăn đối với bạn, hãy điền vào ô trống từ khóa mà bạn muốn người dùng tìm thấy bạn qua ô Search. Bởi vì họ cũng chẳng bỏ thời gian đâu để xem kết quả đầu tiên mà không phù hợp với mục đích của họ.
Ngoài ra hãy thử tự làm cho tiêu đề của mình thật "đặc biệt" nhé.

- Description: Cũng khá quan trọng nhưng không quyết định bằng 2 mục còn lại, hãy cung cấp đủ cho người xem thông tin 1 cách ngắn gọn, link mà bạn cung cấp trong video.

- Tags: Một trong 2 mục quan trọng, đầu tiên hãy gõ 2 lần tiêu đề của video bạn vào đây, một lần có dấu và một lần không dấu. Tốt hơn, hãy luôn cho từ online và trực tuyến, truc tuyen vào cuối cùng. Những từ "đắt" này bạn có thể tìm hiểu tham khảo bộ máy thống kê của Youtube là tốt nhất [Click đây nè] (keywords, đọc tiếp nào)

- Chọn cho đúng thư mục của video. (Category)

- Đưa video của bạn vào 1 playlist.

Công việc ban đầu đơn giản là vậy.


Nguyên tắc thứ 2: Không ngừng làm mới.



Hãy tưởng tượng bạn đang câu một loại cá mà bạn chưa biết rõ. Bạn thả miếng mồi hảo hạng xuống và chờ đợi, dù cho chúng có đi lại càng ngày càng đông nhưng từ chối miếng mồi của bạn. => Khoan đã nào, hãy thay đổi suy nghĩ một chút để thành công.


Views từ những videos cũng vậy, đó là những gì bạn đang mong đợi phải không?

Khi lượng views của bạn nhận được gần như bằng 0, hãy thử làm công việc tương tự mình làm ở nguyên tắc thứ 1 xem. Ngay cả khi bạn chắc chắn hoàn toàn với từ khóa, tiêu đề và mình đặt ra thật là giật tít, gây tò mò thì bạn cũng vẫn có thể gặp phải vấn đề cũ. Khi gặp phải vấn đề như vậy, hãy thay đổi tiêu đề sau một khoảng thời gian mà bạn thử nghiệm (Xem Nguyên tắc thứ 3). Hãy đặt mình vào địa vị người xem. Một chút may mắn nữa .

==> Đổi mới về tiêu đề và thêm tags nhé bạn. Gợi ý tags bạn vẫn sử dụng link ở nguyên tắc 1. Hãy đọc tiếp Nguyên tắc 3.
Rất có thể những tiêu đề ngớ ngẩn nhất sẽ là điểm đến thành công của bạn .


Nguyên tắc thứ 3: Hãy kiên nhẫn.



Dù thế nào, đây là thành quả không thể gặt hái trong ngày một ngày hai, nhất là khi bạn đang chạy đua cho 1 cuộc thi mà bạn hoàn toàn không có khả năng, vài chục ngàn views chẳng hạn. Dân SEO chuyên nghiệp: có thể. Bạn: liệu bạn có đủ công cụ và kinh nghiệm không?

Một ảnh hưởng khác khá quan trọng đến thứ tự tìm kiếm của bạn là độ dài thời gian bạn đã upload video. (lâu/mới??)

Vì vậy, hãy cố gắng đầu tư cho channel của mình một cách lâu dài. Hãy kiên nhẫn, đổi mới cả về nội dung và tags (tiêu đề thì để vài tháng theo dõi nhé bạn).
Khi bạn đã có chút ít video tính bằng đầu chục nghìn thì sẽ ảnh hưởng đến channel của bạn khá là nhiều. Chịu khó quảng bá trên facebook, bạn bè.

Nhưng tóm lại vấn đề quan trọng nhất vẫn là đầu tư nội dung. Mình tin rằng với công sức bỏ ra để SEO như trên thì bạn cũng có đủ thời gian để trau dồi kinh nghiệm và đầu tư thêm thời gian cho nội dung và chất lượng video (CL hình ảnh, âm thanh).

Nếu bạn còn không đủ tự tin? Đừng nản vội, xin hãy đọc mục cuối cùng!
Nếu bạn thấy bài viết hay hãy chia sẻ hoặc commet để mình tiếp tục viết bài. Xin cảm ơn

Cách tăng view cho video youtube

Giới thiệu cùng các bạn một số cách để tăng view cho video của mình. Hầu hết các hình thức này là kiểu anh xem cho tôi, tôi xem cho anh, khi đó đôi bên cùng có lợi. 

Một vài thủ thuật hy vọng giúp các bạn được trong thời kì đầu mới xây dựng Channel, sau này thì các bạn không nên dùng chiêu này nữa, hãy cố gắng tạo ra những video chất lượng để tự người xem sẽ đến với mình.

Cách tăng view cho video youtube


Cách 1: Dùng u2bviews

Các bạn vào trang u2bviews.com để đăng kí tài khoản. Tương tự vagex, u2bviews cũng cho bạn 2 lựa chọn để kiếm credits cho mình: dùng phần mềm và add-on trên firefox.

Cách tăng view cho video youtube

Thứ Năm, 20 tháng 11, 2014

Cách rút gọn link URL với google ( goo.gl )

Nhiều bạn quan tâm tới dịch vụ SEO có hỏi về vấn đề rút gọn link. Hiện nay có rất nhiều Website cho phép bạn rút gọn link hoàn toàn miễn phí và giao diện sử dụng rất đơn giản.
Nổi bật nhất và đang được nhiều bạn quan tâm nhất có lẽ phải nói đến ứng dụng rút gọn link của Google với 1 Website riêng của gã khổng lồ đó là Goo.gl.
Cách rút gọn link URL với google ( goo.gl )
Demo rút gọn link: http://goo.gl/qujFPX

Lợi ích khi rút gọn link

- Việc sử dụng rút gọn link sẽ giúp bạn đơn giản link khi muốn chia sẻ lên những trang mạng xã hội như: Facebook, Google Plus, Twitter...được đơn giản hơn. Dễ tác động được đến người dùng mạng chú ý vào xem.

Cách rút gọn link với Google (goo.gl)

Bạn có thể đăng nhập tài khoản Google hoặc không cần đăng nhập sau đó truy cập vào Website ứng dụng: http://goo.gl/ và rút gọn chỉ link với 1 bước
Cách rút gọn link URL với google ( goo.gl )

Bạn sẽ có được link rút gọn ở khung mình khoanh đỏ
Chúc các bạn vui vẻ !

Thứ Tư, 19 tháng 11, 2014

Cách tăng lưu lượng truy cập tới Blog của bạn

Tất cả mọi blogger đều muốn blog của mình có đông người truy cập. Nếu bạn làm một blog với nội dung rất hay nhưng chẳng ai vào thì cũng như không. Ngoài ra để kiếm tiền từ blog của mình thì bạn cần một lượng traffic kha khá nếu không muốn nói là nhiều.

Vậy làm sao để có được lượng traffic như ý muốn? Sau đây là một số cách Misao muốn chia sẻ với các bạn giúp các bạn tăng gấp đôi lượng truy cập tới blog của mình trong 1 tuần.

1, Social Bookmarking:
Đăng tải blog của bạn lên các trang social bookmarking là một trong những cách nhanh nhất để thu hút traffic. Nếu bạn có một bài viết hay, độc đáo thì còn chần chừ gì nữa mà không đăng tải nó lên các SB ngay? Bạn sẽ thấy ngạc nhiên vì những gì nó đem lại đấy.

Một số Social Bookmarking Việt Nam:

- Mottramdo.com
- Linkhay.com
- Tagvn.com
- Vietkicks.com
- ishare.vn
- Buzz.vn

2, Tham gia các forum, diễn đàn:
Đặt link tới blog của bạn trong chữ kí cũng thu hút được không ít lượng truy cập. Tất nhiên bạn cũng phải là một thành viên năng nổ, nhiệt tình post bài trên forum đó. Ngoài ra một số forum, diễn đàn còn có box riêng cho thành viên tự giới thiệu website/blog của mình.

Tuy nhiên Misao lưu ý với các bạn rằng tuyệt đối không SPAM quảng cáo vì làm vậy sẽ khiến bạn không những bị ban nick mà còn gây phản tác dụng trong việc quảng bá website.

Một số diễn đàn lớn cho phép đặt link ở chữ kí:

- DDTH.com – Diễn Đàn Tin Học
- Gamevn.com – Diễn Đàn Game

3, Search Engine:
Nguồn traffic đến từ các Search Engine là cực kì lớn. Nếu bạn làm tốt việc SEO cho blog/website của mình thì Misao đảm bảo bạn sẽ có được nguồn traffic ổn định và đều đặn. Đặc biệt là nguồn traffic này sẽ tăng dần theo chất lượng và số lượng bài viết của bạn. Do vậy bạn hãy quan tâm hơn đến việc SEO cho blog/website của mình. Nếu bạn đang sử dụng WordPress để làm blog thì bạn có thể tham khảo bài viết “5 SEO Plugins không thể thiếu cho WordPress“.

Ngoài ra bạn còn có thể sử dụng các SEO Tools dành cho blogger chuyên nghiệp.

4, Để lại comment trên các blog khác:
Hãy tìm những blog có cùng chủ đề với blog của bạn và để lại comment trên những blog đó. Lưu ý là không bao giờ spam comment ví dụ “Hay lắm nè, click here, vào đây xem nè…v.v” vì những comment như thế luôn bị xóa và bạn sẽ để lại ấn tượng xấu cho chủ blog đó.

Đây cũng là một bước quan trọng nếu bạn muốn trao đổi liên kết với blog/website đó.

5, Trao đổi liên kết với các blog/website khác:
Trao đổi liên kết sẽ giúp blog của bạn tăng traffic và pagerank. Tuy nhiên để làm được điều này bạn cần phải có quan hệ tốt với các webmaster khác. Ngoài ra bạn cũng có thể vào các diễn đàn và post các bài yêu cầu trao đổi link, liên kết.

Ví dụ: ddth.com có box CLB Webmaster hoặc Hot Links…

6, Guest Blogging:
Guest Blogging có nghĩa là bạn gửi bài viết của bạn tới admin/webmaster một blog nào đó. Nếu bài viết của bạn hay thì họ sẽ đăng bài viết đó lên blog của họ và kèm 1 backlink tới blog của bạn ở cuối bài viết. Cách này cũng là một trong những cách quảng bá blog rất hiệu quả vì lượng traffic của những blog nổi tiếng là rất lớn. Chỉ cần một phần nhỏ trong đó click vào link của blog bạn là bạn đã có thêm rất nhiều visitors rồi.

7, Chia sẻ file, video, ebook:
Nếu bạn có khả năng làm video, ebook thì bạn có thể upload chúng lên các site chia sẻ video/file lớn như Youtube, Rapidshare, Mediafire…v.v. Bạn có thể đặt watermark tới địa chỉ blog của bạn trong video, ảnh hoặc đặt link trong phần Description. Ngoài ra đặt tên file dưới dạng xxx_blogcuaban.com cũng là một ý tưởng hay.

Sau đó bạn có thể chia sẻ link download file đó trên các diễn đàn, qua IM, facebook, twitter…v.v

8, Tham gia các mạng xã hội:
Đây cũng là một trong nhưng cách làm tăng traffic rất tốt cho blog của bạn. Đặt link của bạn trong profile của Facebook, Twitter sẽ giúp mọi người biết đến blog của bạn nhiều hơn. Điểm mạnh của các mạng xã hội là có số lượng người dùng rất lớn và khả năng kết nối các thành viên rất cao. Do vậy bạn sẽ dễ dàng giới thiệu blog/website của mình đến nhiều người cùng lúc.

Thứ Ba, 11 tháng 11, 2014

Bài 10: Thêm một ví dụ về TextView, EditText, CheckBox, Button và ImageButton trong Android

Để ôn tập kỹ hơn về TextView, EditText, CheckBox, Button và ImageButton, chúng ta sẽ làm thêm một ví dụ tổng hợp và nâng cao hơn. Để hiểu tốt bài này, các bạn cần có kiến thức về hướng đối tượng trong java, và việc triển khai, viết các class của nó. Chúng ta sẽ cùng nghiên cứu về bài tập này, và mình sẽ cố gắng giải thích một cách dễ hiểu nhất.


Đề bài: Viết một chương trình cho phép nhập tên của học sinh, giới tính, học lực. Sau đó thống kê tổng số học sinh, và thống kê số học sinh theo giới tính, học lực.

Giao diện Android
Giao diện chương trình

-Mô tả yêu cầu:
  • Khi bấm nút "Thêm", chương trình sẽ lưu lại kết quả vào trong một Arraylist.
  • Khi bấm nút  "Thống kê" chương trình sẽ hiển thị ra kết quả...
  • Khi bấm nút "Thoát" có biểu tượng như trên, chương trình sẽ hiện một hộp hội thoại AlertDialog hỏi có thoát hay không, và thực thi.
Nếu các bạn đã theo dõi từ các bài trước, mình chắc là việc thiết kế giao diện như hình trên là một điều hoàn toàn dễ dàng, không hề khó khăn. Việc sử dụng các control như TextView, Editext, hay Button đều quen thuộc. Trong bài này, vấn đề của chúng ta nằm ở việc lưu trữ dữ liệu và thống kê để hiển thị ra ngoài.

Theo yêu cầu đề bài, các bạn sẽ sử dụng một ArrayList để lưu trữ khi nhập dữ liệu của học sinh. Mỗi đối tượng học sinh có các thuộc tính: Tên học sinh, Giới tínhXếp Loại. Vì vậy các bạn cần phải tạo ra một class để lưu thông tin của học sinh và một class để lưu thông tin của danh sách học sinh.

Bạn tạo thêm 2 class Java trong package chứa MainActivity.Java  và đặt tên như sau:
Package Android


Và sau đây là toàn bộ code của chương trình:
+ activity_main.xml:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/ScrollView1"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
   
    <TextView
        android:text="Thông Tin Học Sinh"
        android:textSize="18sp"
        android:textStyle="bold"
        android:textColor="#008000"
        android:background="#FFFF00"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
   
    <TableLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="*"
        android:layout_weight="1">
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp">
           
            <TextView
                android:text="Tên Học Sinh"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <EditText
                android:id="@+id/edtTenHS"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                />
           
        </TableRow>
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp">
           
            <TextView
                android:text="Giới tính"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <RadioGroup android:id="@+id/rgGioiTinh"
                android:orientation="horizontal">
                <RadioButton
                    android:id="@+id/rgNam"
                    android:text="Nam"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"/>
                <RadioButton
                    android:id="@+id/rgNu"
                    android:text="Nữ"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </RadioGroup>
           
        </TableRow>
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp">
           
            <TextView
                android:text="Xếp Loại:"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <RadioGroup android:id="@+id/rgXepLoai"
                android:orientation="horizontal">
                <RadioButton
                    android:id="@+id/rgTB"
                    android:text="TB"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"/>
                <RadioButton
                    android:id="@+id/rgKha"
                    android:text="Khá"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
                <RadioButton
                    android:id="@+id/rgGioi"
                    android:text="Giỏi"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </RadioGroup>
           
        </TableRow>
       
    </TableLayout>
   
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="10dp"
        android:layout_weight="1">
       
        <Button android:id="@+id/btnThem"
            android:text="Thêm"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <Button android:id="@+id/btnThongKe"
            android:text="Thống kê"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
    </LinearLayout>
   
     <TextView
        android:text="Thống kê"
        android:textSize="18sp"
        android:textStyle="bold"
        android:textColor="#008000"
        android:background="#FFFF00"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10sp"/>
   
     <TableLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="*"
        android:layout_weight="1">
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Tổng học sinh: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtTongHS"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Học sinh Nam: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtHSNam"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Học sinh Nữ: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtHSNu"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Số học sinh giỏi: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtHSGioi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Số học sinh khá: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtHSKha"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
       
        <TableRow android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <TextView
                android:text="Số học sinh TB: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
           
            <EditText
                android:id="@+id/edtHSTB"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"  />
        </TableRow>
       
     </TableLayout>
    
     <ImageButton
         android:id="@+id/imgbtnExit"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:src="@drawable/exit"/>
</LinearLayout>   
</ScrollView>


+MainActivity.java

package com.example.dshocsinh;

import com.example.tthoadon.R;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioGroup;
import android.os.Build;

public class MainActivity extends ActionBarActivity {

private ImageButton imgbtnExit;
private Button btnThem, btnThongKe;
private EditText edtTenHS, edtTongHS,edtHSNam, edtHSNu, edtHSGioi, edtHSKha, edtHSTB;
private RadioGroup rgGioitinh, rgXepLoai;
private DanhSachHocSinh dshs = new DanhSachHocSinh();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

getControl(); //Hàm lấy control của các View trong activty_main.xml
doYourWork(); //Thực thi công việc theo yêu cầu
}


private void getControl() {
// TODO Auto-generated method stub

imgbtnExit = (ImageButton)findViewById(R.id.imgbtnExit);
btnThem = (Button)findViewById(R.id.btnThem);
btnThongKe = (Button)findViewById(R.id.btnThongKe);
edtTongHS = (EditText)findViewById(R.id.edtTongHS);
edtHSNam = (EditText)findViewById(R.id.edtHSNam);
edtHSNu = (EditText)findViewById(R.id.edtHSNu);
edtHSGioi = (EditText)findViewById(R.id.edtHSGioi);
edtHSKha = (EditText)findViewById(R.id.edtHSKha);
edtHSTB = (EditText)findViewById(R.id.edtHSTB);
edtTenHS = (EditText)findViewById(R.id.edtTenHS);
rgGioitinh = (RadioGroup)findViewById(R.id.rgGioiTinh);
rgXepLoai = (RadioGroup)findViewById(R.id.rgXepLoai);
}

private void doYourWork() {
// TODO Auto-generated method stub

btnThem.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Tạo mới 1 đối tượng hs và gán thuộc tính
HocSinh hs = new HocSinh();
if(rgGioitinh.getCheckedRadioButtonId()==R.id.rgNam){
hs.setGioiTinh(true);
}else{
hs.setGioiTinh(false);
}
if(rgXepLoai.getCheckedRadioButtonId()==R.id.rgTB){
hs.setXepLoai(1);
}else if(rgXepLoai.getCheckedRadioButtonId()==R.id.rgKha){
hs.setXepLoai(2);
}else{
hs.setXepLoai(3);
}
//Thêm đối tượng hs vào trong dshs
dshs.addHocSinh(hs);
edtTenHS.setText("");
}
});

btnThongKe.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
edtTongHS.setText(""+dshs.tongHocSinh());
edtHSGioi.setText(""+dshs.hsGioi());
edtHSKha.setText(""+dshs.hsKha());
edtHSTB.setText(""+dshs.hsTB());
edtHSNam.setText(""+dshs.tongHSNam());
edtHSNu.setText(""+dshs.tongHSNu());
}
});

imgbtnExit.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Thoát chứ nhỉ");
builder.setMessage("Có là thoát này ...");
builder.setNegativeButton("Không", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});

builder.setPositiveButton("Có", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});

builder.create().show();


}
});
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}

/**
* A placeholder fragment containing a simple view.
*/


}

+ HocSinh.java
package com.example.dshocsinh;

public class HocSinh {
private String tenHocSinh;
private boolean gioiTinh;
private int xepLoai;

public String getTenHocSinh() {
return tenHocSinh;
}
public void setTenHocSinh(String tenHocSinh) {
this.tenHocSinh = tenHocSinh;
}
public boolean isGioiTinh() {
return gioiTinh;
}
public void setGioiTinh(boolean gioiTinh) {
this.gioiTinh = gioiTinh;
}
public int getXepLoai() {
return xepLoai;
}
public void setXepLoai(int xepLoai) {
this.xepLoai = xepLoai;
}


public int checkXepLoai(){
return this.getXepLoai();
}
}

+ DanhSachHocSinh.java
package com.example.dshocsinh;

import java.util.ArrayList;

public class DanhSachHocSinh {

private ArrayList listHS = new ArrayList();

public void addHocSinh(HocSinh hs){
listHS.add(hs);
}

public int tongHocSinh(){
return listHS.size();
}

public int tongHSNam(){
int tong = 0;
for (HocSinh hs : listHS) {
if(hs.isGioiTinh()==true){
tong++;
}
}
return tong;
}
public int tongHSNu(){
int tong = 0;
for (HocSinh hs : listHS) {
if(hs.isGioiTinh()==false){
tong++;
}
}
return tong;
}

public int hsTB(){
int tong = 0;
for(HocSinh hs: listHS){
if(hs.getXepLoai()==1){
tong++;
}
}
return tong;
}

public int hsKha(){
int tong = 0;
for(HocSinh hs: listHS){
if(hs.getXepLoai()==2){
tong++;
}
}
return tong;
}

public int hsGioi(){
int tong = 0;
for(HocSinh hs: listHS){
if(hs.getXepLoai()==3){
tong++;
}
}
return tong;
}
}

*** Chú ý:
  •  Các bạn lưu ý cách xây dựng 2 class HocSinh.java và DanhSachHocSinh.java. Điều này rất quan trọng cho sau này khi các bạn muốn xây dựng ứng dụng Android phức tạp hơn.
  • Một mẹo nhỏ để code nhanh khi xây dựng một class tương tự HocSinh.java. Các bạn chỉ cần khai báo các thuộc tính sau: 
    private String tenHocSinh;
    private boolean gioiTinh;
    private int xepLoai;

Sau đó chuột phải vào nền soạn thảo của eclipse, chọn Source, chọn Generate Getters and Setters... Sau đó đánh dấu vào các ô vuông và OK. Trình soạn thảo sẽ tự sinh ra code của các hàm này.
Getter And Setter Android

Qua bài tập này, mình hy vọng các bạn đã nắm vững được việc sử dụng các control cơ bản: TextView, EditText, Checkbox... Mong rằng các bạn sẽ mở rộng và tự mầy mò thêm các bài tập để nắm vững kiến thức, tránh để học trước quên sau nhé :). Nếu các bạn có gì thắc mắc, hãy bình luận ngay tại đây. Hoặc các bạn có thể sử dụng anh Gu Gồ để thỏa mãn https://www.google.com.vn/

Bài đăng phổ biến