This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

active windows 10

:info:
Nếu bạn sử dụng ISO cài đặt và Format ổ C thì tức là Windows 10 cài xong sẽ không có bản quyền.
- Mở CMD quyền Admin bằng cách ấn tổ hợp phím Windows + X và ấn A.
- Sử dụng các lệnh này theo thứ tự từ trên xuống, từng lệnh rồi enter nhé:
slmgr /ipk XXXXX-XXXX-XXXX-XXXX-XXXX
slmgr /skms kms.xspace.in
slmgr /ato
Trong đó, XXXXX-XXXX-XXXX-XXXX-XXXX là key cho bản Windows 10 tương ứng bạn đang dùng




☛ Win 10 RTM Professional Retail
BJGVB-BNC9R-FBMJM-FYDWY-8FG6T
BKCNC-GRTKR-DQ9VD-TVDDH-G6PKG
BQ2NT-B37XX-FKGPK-XFD6W-RX8XG
BW9KK-2NXX6-79XJW-K62G3-49CKG
CMBRN-P7Q3J-TJKWY-TQPBH-X766T
CN94X-8R4QD-B9PFW-932X2-8XCKG
CQ4D7-NTQRM-FYPRR-TCGM7-WK8XG
CR7J6-48NJ6-QDYW3-V2Q9Q-GF4C6
CRNHK-6M2R6-YCXD4-P23W8-WB49G
CRNMY-QQQ39-QV44T-HWW3C-D69TT
CXQH2-KNC9G-6GBG4-3YXFK-BKMP6
D3XCX-NQYMQ-VQDTP-7FBC8-MTDGT
D8TMM-N7B8C-QW4K2-WXJ6G-WXCKG
DKXHN-YVJWP-P7HR4-C4283-H22KG
DQWYH-NRXQP-HDTMB-4VC68-TQ726
FG46C-NKBPB-43XQC-9PJTQ-FM49G
FJND7-F3XYQ-FV4KF-JX2KH-B7V26
FNQKX-DPBBT-DFTTB-6XXXJ-RX8XG
GHB2C-N3YG3-F2BPD-B4C24-WFG6T
GRVVK-GJNT6-TQHJJ-8W2RK-YDWXG
GX3B2-BWNR8-7RPY2-CDWR9-RM49G
GYQN7-6Y4YX-8G8VJ-VFDJF-R3KTT
HC69Y-DN8JV-PV4YR-WV7P2-7CFC6
HHRR9-Y3N8P-X4R3D-BX72T-HFR9G
HMY6B-QYNCB-HJKFK-QGB46-QYH26
J9292-9N2FM-67DWF-9QVV8-7FR9G
JJN9D-3BDQG-XHXVP-TYQYP-DDBP6
JN43H-BD8D9-XT9PQ-GBTRX-CDKTT
JNHDY-96KCC-8M2BV-Y8RXM-6VJXG
JNWPT-BMRQB-TBMC2-XX6HJ-BWRC6
JY8NM-2DGD7-PDD94-8Y463-GF4C6
K4JN8-QT8GY-VY9PP-DHJBR-WFG6T
KN622-PB9BC-6X44C-HK4XR-MWRC6
KQNY3-P8V86-M2YBV-GJKP2-RVV26
KQPF4-PDNHW-3TBXK-XT743-WQKTT
KR3NB-F384T-MTMW7-M8XHC-4RG6T
M4JX9-BN4G4-2J8YJ-FWVV4-K4R9G
MFM9R-WWN67-W3FPC-2BTRR-DJ3GT
MT84N-PYRMP-WKHRY-B92KX-9HJXG
N4GKM-KHXTR-MCYWC-D42XK-YDWXG
N4GY4-86W6R-F6VTJ-K8QRK-JXCKG
N9CR9-CFVBG-XPPDQ-6KB6X-YDWXG
NH494-82232-JR4B8-YJKVG-Y98XG
NPPBX-DC7CB-F7F3R-6BQ6P-DDBP6
NXQ6P-C4PM7-9CD3G-J98F9-66PKG
P22MT-DN6QH-C2MTM-VFGY8-JFG6T
P4NDQ-Y4WDJ-7VFDH-HWVXM-WHV26
PT874-QQN8R-4FCGM-PBTK3-C3726
R6FGB-3NFBT-BP3H2-GBT2R-844C6
R6JJN-6Y4TQ-V2PHQ-8BF6V-YY49G
R9KRN-B2DPQ-7VY7W-RP3TF-KBT6T
RNBH6-7YTTV-R697J-MXYQF-W8F9G
RNJCT-VJ393-PB7WT-8282G-GMT6T
RT7NG-CTTBY-YK9V2-WBJ9Y-3GPKG
RVHFT-QN8PP-M9W6V-J2R3X-RM49G
T3KBN-7QPTB-VJC3G-FR2XG-H8RC6
T627Y-DPN82-T23BB-GCX8Y-X4R9G
TRNHC-9HYFV-3M4JB-9R6VR-F6YP6
V3HQ8-FXN8K-J2Y2F-G4QTR-Q9MP6
V9NVD-FYG3M-XRDXG-2MRKJ-29XTT
VKNT9-P399Q-RHCYF-CQX44-X2FC6
WBYPW-XN72Q-H89JH-GTW48-QDBP6
WPV8N-D3GKD-HQ7RJ-98WRX-Y7V26
WTNYW-PX92M-3G22F-P96XP-PGYP6
WWGGN-W677D-DFTMR-PXG6Q-PYT6T
WXNRC-3YRQB-4XF24-CVQP2-MP2KG
X4W98-QTN7V-WXHPD-39TGM-F9CKG
XJJ7J-4NYTT-MFK6Q-MVYW8-K2FC6
XKF27-DNCPW-D3Y99-V2XRR-7H66T
XXN2C-YHRHQ-MCKH8-GWGC3-JTYP6
YB4V2-WQNPK-PK7GF-GRMMW-29XTT
YG8QQ-YN2X7-TBHXY-HQGGF-4X8XG

Dowload HFSS 2015 crack

TRY, CATCH, FINALLY TRONG JAVA



20111020_Java-Xulyngoaile-p2_2

Trước khi vào chi tiết, mình sẽ nêu 1 tình huống như này, đó là lỗi chia cho 0.
Bình thường theo các bài trước, các bạn sẽ dùng if, else để loại bỏ, in ra lỗi. (tất nhiên nếu bạn đã biết try catch rồi thì không nói :D). Đọc xong bài này, các bạn sẽ có thêm 1 cách khác, và tất nhiên nó còn sử dụng để bắt và xử lý nhiều loại lỗi hơn!

Ví dụ: Các bạn xem đoạn code này trước khi đọc lý thuyết, chạy thử nó, có thể nó cũng khá dễ hiểu!
PHP:
package javaandroidvn;

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
int a 5;
        
int b 0;

        
//Cách các bài trước thường làm, dùng if, else:
        
if (== 0) {
            
System.out.println("Lỗi chia cho 0");
        } else {
            
System.out.println("a/b = " b);
        }

        
System.out.println("\nCách dùng try - catch - finally \n");

        
//Sử dụng try, catch để bắt lỗi:
        
try {
            
System.out.println("a/b = " b);
        } catch (
Exception e1) {
            
System.out.println("Có lỗi gì đó xảy ra  ");
            
System.out.println("Tên lỗi là: " e1);
        } 
finally {
            
System.out.println("Có lỗi hay không thì cái dòng cuối cùng này vẫn được in ra!");
        }

    }
}
1, Try - catch:

- Trong ví dụ trên, trong khối try{} là những dòng lệnh chúng ta cần thực hiện!
Khối catch (Exception e1) {} là nơi chứa các dòng lệnh thực hiện khi phát hiện lỗi!
- Ở đây, ta cần hiểu rõ khái niệm Exception:
Exception (Ngoại lệ) là sự kiện xảy ra khi một chương trình đang chạy mà phát sinh ra lỗi. Nó sẽ làm gián đoạn chương trình!
(Exception e1) trong đó "e1" là tên của được gán nếu đối tượng bị lỗi, các bạn có thể đặt tên này bằng các từ khác.
- Bạn có thể in "e1" ra ngoài, sẽ thấy được lỗi cụ thể!
- Exception là lớp cha, nó nói chung, và in ra các lỗi, ngoài ra còn có lớp con cụ thể và các ngoại lệ khác như sau:

Exception | Lớp nền của run-time
NullPointerException | Một đối tượng không tồn tại
ClassNotFoundException | Không tìm thấy Class
FileNotFoundException | Không tìm thấy file
SecurityException | Exception liên quan đến bảo mật
ArrayIndexOutOfBoundsException | Vượt quá chỉ mục của mảng
IllegalAccessException | Truy cập không hợp lệ
IllegalArgumentException | Đối số hàm
ArithmeticException | Lỗi thực thi một phép toán
NumberFormatException | Định dạng số không đúng
IOException | Lỗi nhập xuất
EOFException | Kết thúc một tập tin
NoSuchMethodException | Sai tên phương thức
InterruptedException | Ngắt luồng đang được thực thi

Ví dụ: In ra lỗi cụ thể vượt quá chỉ mục của mảng.
PHP:
package javaandroidvn;

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
int arrInt[] = {124710};
        try {
            
System.out.println("arrInt[6] = " arrInt[6]);

        } catch (
ArrayIndexOutOfBoundsException e2) {
            
System.out.println("Lỗi! Vượt quá chỉ mục của mảng! " e2);
        }

    }
}
Ngoài ra, để in nhiều Exception thì ra làm như sau:
PHP:
try {
    
//Nội dung muốn bẫy lỗi} catch (ExceptionType1 e) {
    
//Khối lệnh cho lỗi}catch (ExceptionType2 e1) {
    
//Khối lệnh cho lỗi} catch (Exception ex) {
    
//Exception cho những cái còn lại}
Trong đó ExceptionType là những loại Exception cụ thể đã nêu ở phía trên!

2, Finally?

Nó nằm ở cuối cùng của khối lệnh try - catch - finally, nó luôn luôn được thực hiện ngay cả khi chương trình có bắt được lỗi
hay không!
Trong khối lệnh đầy đủ như ví dụ ở đầu bài, dòng System.out.println("Có lỗi hay không thì cái dòng cuối cùng này vẫn được in ra!");
Luôn luôn được thực hiện và in ra khi bạn gán bất giá trị nào cho b!

Xem thêm video nói khá đầy đủ về try - catch - finally của Blog StudyAndShare

Thực hành về Toast Notification và Alert Dialog

 

Vì trong tất cả các ứng dụng Tôi thấy rằng chúng ta hay sử dụng Toast và Alert Dialog để kiểm tra một điều gì đó, hay đơn giản chỉ là xuất thông báo. Vì vậy bài tập này Tôi sẽ hướng dẫn các bạn làm quen với Toast & Alert Dialog, sau đó các bạn sẽ được thực hành với các control cơ bản và nâng cao.
- Cả Toast và Alert Dialog khi hiển thị lên thì các tiến trình (hay các lệnh) khác  vẫn cứ tiếp tục làm việc.
1) Toast:
- Toast có thể được tạo và hiển thị trong Activity hoặc trong Servive.
- Không cho phép người sử dụng tương tác
- Khi hiển thị sau khoảng thời gian nào đó sẽ tự đóng lại
- Có 2 giá trị mặc định (ta nên sử dụng 2 giá trị này, không nên gõ con số cụ thể vào): hằng số Toast.LENGTH_SHORT hiển thị trong  2 giây, Toast.LENGTH_LONG hiển thị trong 3.5 giây.
Cách tạo Toast:
Toast toast=Toast.makeText(YourActivity.this, “Hiển thị gì thì ghi ở đây”,   Toast.LENGTH_SHORT);
toast.show();
- Khi nào bạn nên sử dụng Toast?
Theo Tôi thì tùy bạn, bạn có thể sử dụng trong trường hợp hiển thông báo trong các mục thiết lập thông số cấu hình, hay đơn giản chỉ là hiển thị lên để xem thông tin tạm thời nào đó (giống như để kiểm tra một vấn đề sảy ra chẳng hạn).
- Hình dưới đây cho bạn biết 1 Toast đang hiển thị:
9_dialog_02) Alert Dialog:
- Hiển thị và cho phép người dùng tương tác, ví dụ bạn nhìn hình Tôi chụp bên dưới, khi nhấn nút “Cancel”, chương trình sẽ hiển thị Alert Dialog hỏi xem có chắc chắn muốn xóa hay không? Bấm No thì không, bấm Yes thì tắt chương trình.
9_dialog_1- Cách tạo Alert Dialog:
AlertDialog.Builder b=new AlertDialog.Builder(YourActivity.this);
 
b.setTitle(“Question”);
b.setMessage(“Are you sure you want to exit?”);
b.setPositiveButton(“Yes”, new DialogInterface. OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
finish();
}}); b.setNegativeButton(“No”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.cancel();
}
});
b.create().show();
Ý nghĩa của các hàm :
- setTitle : thiết lập tiêu đề cho Dialog
- setMessage: Thiết lập nội dung cho Dialog
-setIcon : để thiết lập Icon
-setPositiveButtonsetNegativeButton thiết lập hiển thị Nút chọn cho Dialog (ở đây bạn không quan tâm Nút chấp nhận hay Nút hủy nó thuộc PositiveButton hay NegativeButton vì đó là tùy thuộc bạn chọn. Chú ý là ở đối số thứ 2 của các hàm này sẽ là DialogInterface. OnClickListener chứ không phải View. OnClickListener
- create() để tạo Dialog
- show() để hiển thị Dialog.

Formatting String

Hướng dẫn sử dụng String.Format

Video hướng dẫn sử dụng string.Format: Click here

Formatting String
example
output
String.Format(“–{0,10}–”, “test”);–      test–
String.Format(“–{0,-10}–”, “test”);–test      –

Formatting number

specifier
type
format
output
(double 1.2345)
output
(int -12345)
ccurrency{0:c}£1.23-£12,345.00
ddecimal
(whole number)
{0:d}System.FormatException-12345
eexponent / scientific{0:e}1.234500e+000-1.234500e+004
ffixed point{0:f}1.23-12345.00
ggeneral{0:g}1.2345-12345
nnumber{0:n}1.23-12,345.00
rround trippable{0:r}1.23System.FormatException
xhexadecimal{0:x4}System.FormatExceptionffffcfc7

 Custom number formatting

specifier
type
format
output
(double 1234.56)
0zero placeholder{0:00.000}1234.560
#digit placeholder{0:#.##}1234.56
.decimal point placeholder{0:0.0}1234.6
,thousand separator{0:0,0}1,235
%percentage{0:0%}123456%
Date formatting
specifier
type
output
(June 8, 1970 12:30:59)
dShort Date08/06/1970
DLong Date08 June 1970
tShort Time12:30
TLong Time12:30:59
fFull date and time08 June 1970 12:30
FFull date and time (long)08 June 1970 12:30:59
gDefault date and time08/06/1970 12:30
GDefault date and time (long)08/06/1970 12:30:59
MDay / Month8 June
rRFC1123 date stringMon, 08 Jun 1970 12:30:59 GMT
sSortable date/time1970-06-08T12:30:59
uUniversal time, local timezone1970-06-08 12:30:59Z
YMonth / YearJune 1970

 Custom date formatting

specifier
type
output
(June 8, 1970 12:30:59)
ddDay08
dddShort Day NameMon
ddddFull Day NameMonday
hh2 digit hour12
HH2 digit hour (24 hour)12
mm2 digit minute30
MMMonth06
MMMShort Month nameJun
MMMMMonth nameJune
ssseconds59
ttAM/PMPM
yy2 digit year70
yyyy4 digit year1970
:seperator, e.g. {0:hh:mm:ss}12:30:59
/seperator, e.g. {0:dd/MM/yyyy}08/06/1970
Culture information
String.Format() cho phép overload chấp nhận tham số CultureInfo. Từ đó, giúp cho các lập trình viên có thể viết được các chương trình phù hợp với những vùng văn hóa khác nhau. Ví dụ, các tên tháng sẽ thay đổi theo thiết lập cục bộ trong máy của bạn. Thay vì gọi đơn giản gọi phương thức String.Format(), bạn nên chú ý đến việc dùng overload này. Nếu bạn không muốn xác định culture, bạn có thể dùng System.Globalization.CultureInfo.InvariantCulture. Điều này sẽ đặt thiết lập định dạng mặc định là English, và sẽ thay thế cho culture trong thread hiện tại.