Bài 40-Kết xuất Executable cho Kotlin [Kết thúc khóa học Kotlin]

[polldaddy poll=9764234]

Chào các bạn!

Chúng ta Say Goodbye ngôn ngữ lập trình Kotlin ở đây nhé, Tui phải Busy cho nhiều tasks khác. Toàn bộ các bài giảng về Kotlin Tui đã tổng hợp trong link https://duythanhcse.wordpress.com/kotlin/kotlin-co-ban-den-nang-cao/ các bạn vào đây học nhé. Ráng học cho tốt vì sắp tới Android Studio 3.0 ra đời nó sẽ đính kém lập trình Kotlin For Android, Tui gọi tắt là KfA. Nếu bạn học tới bài 40 này tức là đã đi trước nhiều người một số bước rồi.

Theo Tui tham khảo từ nhiều nguồn, thì trong tương lai sẽ bùng nổ các dự án liên quan tới Machine Learning (Máy học). Có nhiều ngôn ngữ để lập trình cho Machine Learning chẳng hạn như Python, R, Matlab… Nhiều Đại Học lớn trên thế giới hiện nay đã dùng ngôn ngữ lập trình Python vào giảng dạy kỹ thuật lập trình thay thế cho C++ và Java… Trước đó Tui có viết được một số bài về Python https://duythanhcse.wordpress.com/python/ nhưng do Busy quá phải tạm Pause, Nếu các bạn còn trẻ, khỏe, nhanh nhẹn(xấu trai cũng được) thì hãy tiếp tục nghiên cứu Python, R để về sau có nhiều cơ hội tham gia các dự án Machine Learning.

OK OK OK

Giờ Tui kết thúc khóa học Kotlin với bài hướng dẫn cách Kết xuất Kotlin ra Jar file để người sử dụng có thể bấm  1 phát là chạy luôn mà không cần mở công cụ lập trình.

IntelliZ IDEA cung cấp sẵn cho chúng ta Tool để làm điều này, vô cùng đơn giản đến mức chúng ta không thể nghĩ ra được. Cách làm chi tiết như sau:

1)Bước 1: Chọn 1 Project nào đó, trong hướng dẫn này Tui chọn bài Quản Lý Sản Phẩm tại link https://duythanhcse.wordpress.com/2017/06/04/bai-38-thiet-ke-giao-dien-trong-kotlin-phan-4/

Tui hướng dẫn thêm 1 cách tạo class có chứa hàm main để chạy:

-Cách Cũ chúng ta đang làm (tập tin AppTestSanPhamUI.kt):

[code language=”groovy”]

package communityuni.com.test

import communityuni.com.ui.SanPhamUI

/**
* Created by cafe on 04/06/2017.
*/
fun main(args: Array) {
var gui:SanPhamUI= SanPhamUI(“Trần Duy Thanh- Chương trình quản lý Sản phẩm”)
gui.showWindow()
}

[/code]

-Cách mới Ta có thể tạo thành một lớp theo cấu trúc dùng companion object và notation @JvmStatic:

[code language=”groovy”]

package communityuni.com.test

import communityuni.com.ui.SanPhamUI

/**
* Created by cafe on 06/06/2017.
*/
class SanPhamApp {
companion object
{
@JvmStatic
fun main(args: Array) {
var gui: SanPhamUI = SanPhamUI(“Trần Duy Thanh- Chương trình quản lý Sản phẩm”)
gui.showWindow()
}
}
}

[/code]

Vì sao lại phải biết thêm cách mới này để chạy hàm main? Bạn cứ làm nhiều đi rồi sẽ biết (thiên cơ bất khả lộ)

2)Bước 2: Vào File/ chọn Project Structure:

3)Bước 3: Chọn artifacts/ bấm vào dấu + màu xanh / chọn JAR/ chọn From Modules with dependencies…

Lúc này màn hình yêu cầu chọn Main Class xuất hiện:

Ta bấm vào nút chọn Main Class:

ở trên bạn chọn cái nào cũng được (2 cách tạo hàm main mà Tui trình bày ở trên) rồi nhấn nút OK

Bấm OK tiếp:

Mục 1 là tên jar được tạo ra, mục 2 là nơi lưu trữ Jar này. Ta chọn OK để quay lại màn hình chính

Tiến hành chạy lại phần mềm ta thấy nó tạo ra thư mục artifacts trong out folder:

Vào bên trong artifacts có thư mục lưu file jar đó là HocGUIPhan4_jar:

Vào bên trong thư mục này ta thấy file jar:

Bạn double click để chạy nó lên:

Bạn thấy nó mất tiêu mấy cái hình rồi đúng không? vì Project này Tui hướng dẫn trước đó có hình ảnh, các hình ảnh được lưu trong thư mục hinh, bây giờ bạn chỉ cần sao chép thư mục đó vào ngay chỗ file jar này là OK:

Bây giờ chạy lại file jar ta có kết quả:

Hình ảnh đã được hiển thị lên===> Ngon như cơm mẹ nấu đúng không các bạn

Giờ thử vào Menu Hệ thống/ chọn mở File bất kỳ xem nó hiển thị được không nhé:

Như vậy là đã tải file thành công.

Bạn đã hoàn thành các bước để tạo file Jar trong Intellij IDEA.

Các bạn cố gắng học tốt các ngôn ngữ lập trình nhé, hãy tự đào tạo mình để có nhiều kiến thức về công nghệ. Tạo ra nhiều cơ hội trong tương lai để tìm tới những Công ty có cơ hội làm việc tốt hơn, lương bổng ổn định hơn.

Để học lập trình tốt các bạn phải chịu khó cày, học ngày học đêm và bắt buộc phải Practice thật nhiều.

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

Trần Duy Thanh (http://communityuni.com/)

Leave a Reply