Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ 2013

[ Android ] Sử dụng hộp thoại Alert Dialog trong Android [Android Alert Dialog]

Một số lần trong ứng dụng của bạn, nếu bạn muốn yêu cầu người dùng đưa ra quyết định lựa chọn giữa Yes hoặc No đáp ứng của bất kỳ hành động cụ thể thực hiện bởi người sử dụng, bởi còn lại trong các hoạt động tương tự và không có thay đổi màn hình, bạn có thể sử dụng Alert Dialog.

Để sử dụng Alert Dialog bạn cần khai báo đối tượng AlertDialogBuilder. Cú pháp như sau:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
Bây giờ bạn phải thiết lập các nút Yes hoặc No bằng cách sử dụng đối tượng của lớp AlertDialogBuilder. Cú pháp như sau:
alertDialogBuilder.setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener) alertDialogBuilder.setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener)

Ngoài ra, bạn có thể sử dụng các chức năng khác được cung cấp bởi các lớp xây dựng để tùy chỉnh các hộp thoại cảnh báo. Dươi đây là những thuộc tính hay sử dụng:

Phương thức - mô tả

1- setIcon(Drawable icon)
Phương thức này để đặt icon cho hộp tho…

[ Java ] Sử dụng Interface trong Java

Ví dụ sử dụng Interface trong lập trình Java:    - Xây dựng interface Tinh1, Tinh2 như sau: interface Tinh1 {         void Nhap();
        long GiaiThua(int n);
    }    // interface Tinh2 kế thừa Tính1    interface Tinh2 extends Tinh1 {
     float S1(int n);
     float S2(int n);
     float S3(int n, float x);
   }   - Xây dựng class TinhTong implements Tinh2, trong đó:     S1 = 1!+2!+3!+...+n!     S2 = 2!+4!+6!+...+(2n)!     S3 = x^1 / 1 + x^2 / 2 + x^3 / 3 +...+ x^n / n    (1 < x < 5; 1 < n < 100, nhập vào từ bàn phím)

[Code Java]
/* Sử dụng interface */
package interface_vd1;
import java.util.Scanner;

/************interface Tinh1****************/

interface Tinh1 {
  void Nhap();
  long GiaiThua(int n);
}

/***********interface Tinh2****************/

interface Tinh2 extends Tinh1 {
  float S1(int n);
  float S2(int n);
  float S3(int n, float x);
}

/************class TinhTong*****************/

class TinhTong implements Tinh2 {
  private int n;
  private float x;
// Set x (thiet lap x)
public void…

[ XML ] Cú pháp căn bản trong XML [ XML syntax rules ]

Nói chung các quy tắc của XML rất đơn giản hợp lý, dễ học và dễ sử dụng.


1. Tất cả các yếu tố của XML phải có thẻ đóng (closing tag).
- Các yếu tố trong HTML không cần phải có thẻ đóng.
  <p>This is a paragraph
  <p>This is another paragraph

- Trong XML, việc bỏ qua thẻ đóng là không hợp lệ. Tất cả các yếu tố phải có thẻ đóng. Do dó với ví dụ trên trong XML sẽ là:
  <p>This is a paragraph</p>
  <p>This is another paragraph</p>

* Lưu ý: Những phần khai báo ở đầu tài liệu XML không có thẻ đóng. Đó không phải là lỗi. Khai báo đó không phải là một phần trong chính tài liệu XML đó, và nó không có thẻ đóng.

2. Yếu tố chính xác các thẻ của XML.
- Các thẻ trong XML yêu cầu một sự chính xác. Ví dụ thẻ <Letter> sẽ khác với thẻ <letter>.

- Thẻ đóng và thẻ mở phải được viết cùng một trường hợp.
   <message>This is incorrect</message>
   <message>This is correct</message>

* Lưu ý: thẻ mở và thẻ đóng cũng thường được gọi là thẻ bắt đầu và t…

[ Java ] Code Java tải website về máy tính [ Download URL ]

Chương trình Java download URL:
- Nhập địa chỉ URL cần download
- Kết quả download được lưu tại output.htm, trong thư mục chứa Project

* Để download từ địa chỉ URL cần sử dụng 2 thư viện:     + java.net.URL
    + java.net.URLConnection
[Code Java]

/******************************************************************************
 http://lap-trinh-may-tinh.blogspot.com/
******************************************************************************/

package download_java;
import java.util.Scanner;

public class  Download_java
{
  public static void main(String[] args) throws Exception
  {
    // Nhập địa chỉ URL cần download
      Scanner in=new Scanner(System.in);
    System.out.print("\n Nhập URL: ");
    String str_url=in.nextLine();
    // Địa chỉ URL cần download
    java.net.URL url = new java.net.URL(str_url);
    java.net.URLConnection con = url.openConnection();

    java.io.InputStream is=con.getInputStream();

    // Kết quả được lưu trên output.htm trong thư mục chứa Pro…

[Thuật toán Tìm kiếm tuần tự] Ví dụ sử dụng thuật toán tìm kiếm tuần tự [C\C++]

Thuật toán tìm kiếm tuần tự 

Ví dụ sử dụng thuật toán tìm kiếm tuần tự: Viết các hàm thực hiện
 1. Nhập dãy số nguyên có n số (1<n<100).  2. In dãy vừa nhập  3. Tìm giá trị x trong dãy số (x nhập từ bàn phím)  4. Đếm số lần xuất hiện của y (y nhập từ bàn phím)  5. Tính giá trị phần trăm các số >=5.  6. In ra vị trí xuất hiện các số nguyên tố có trong dãy.

[Code Turbo C++]
/*
http://lap-trinh-may-tinh.blogspot.com/
*/ #include<iostream.h>
#include<conio.h>
#include<stdio.h>

// khai bao
int a[100],n;

// Nhap mang
void Nhap(){
  cout<<"\n + NHAP MANG : ";
  cout<<"\n - Nhap so phan tu: ";
  do{
       cout<<"\n n= "; cin>>n;
       if(n<1||n>100)
             cout<<"\n Nhap lai n!";
  } while (n<1||n>100);

  // Nhap mang
  cout<<"\n - Nhap mang : ";
  for (int i=0;i<n;i++)
   {
       cout<<"\n a["<<i<<"]= ";
       cin>>a[i…

[C#] Ý nghĩa của ký tự @ trong C#

Ký tự @ có một số ý nghĩa đặc biệt trong một chương trình được viết bằng C#. 
Có hai ý nghĩa cơ bản:
1. Cho phép sử dụng các từ khóa (keyword) trong C# như là tên biến hoặc kiểu dữ liệu
      Khi viết một ứng dụng bằng C#, không phải lúc nào chúng ta cũng tự tạo ra một thành phần nào đó để sử dụng mà chúng ta có thể sử dụng các thư viện, lớp có sẵn. Tuy nhiên, các thành phần này có thể đã được viết bằng một ngôn ngữ lập trình khác (như VB, C++…) dẫn đến việt một số tên kiểu dữ liệu trong thành phần đó trùng với từ khóa của C#. Khi đó, chúng ta phải sử dụng ký tự @ để đặt phía trước tên kiểu dữ liệu đó. Ví dụ như chúng ta đang viết một chương trình C# có sử dụng một lớp chứa trong thư viện được viết bằng ngôn ngữ khác, và lớp này có tên là “public”.        Vậy làm thế nào để sử dụng khai báo được một đối tượng của lớp đó. Cú pháp cần sử dụng của chúng ta sẽ là:      @public P = new @public(); 
2. Đặt tên cho biến bằng cách đặt ký hiệu @ phía trước tên biến đó.
Ví dụ:         int @new = 10…

[Đồ họa máy tính] Code: Vẽ ÔTÔ sử dụng thuật toán Bresenham và Midpoint [C\C++]

Ví dụ: Sử dụng thuật toán Bresenham và Midpoint vẽ các đường tròn và đoạn thẳng

Viết chương trình C\C++ vẽ hình OTO:



[Code Turbo C++]

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<math.h>

/***** VE DUONG THANG ****/

// Ve duong doc (// 0y)

void Line_OY(int y1, int y2, int x,int c){
  for(int y=y1;y<=y2;y++)
   putpixel(x,y,c);
 }

// Ve duong ngang (// 0x)
void Line_OX(int x1, int x2, int y,int c){
for(int x=x1;x<=x2;x++)
   putpixel(x,y,c);
}

// Bresenham_Line
void Bre_Line(int x1, int y1, int x2, int y2, int c)
{
   int x, y, dx, dy,p,const1,const2;
   y = y1;
  dx = x2 - x1;
  dy = y1 - y2;
  p = 2*dy - dx;
  const1 = 2*dy;
  const2 = 2*(dy-dx);
  for (x=x1; x<=x2; x++) {
   putpixel(x, y, c);
   if (p<0)
     p += const1; // p=p + 2dy
   else {
     p +=const2; //p=p+2dy-2dx
     y--;
  }
 }
}

// ve duong than voi Midpoint
void Mid_line(int x1, int y1, int x2, int y2, int c)
{
  int x, y, dx, dy,d;
  y…

[Java] Xử lý mảng 2 chiều trên Java [Kế thừa trong Java]

Bài tâp: Xây dựng class theo mô hình




[Code Java]

// Class Matran.java
package xuly_matran;
import java.util.Scanner;
public class Matran {
    int [][] a=new int[7][7];
    int n;

    // nhap ma tran
    void NhapMT(){
        Scanner t=new Scanner(System.in);
        // nhap kich thuc mang
        System.out.print("\n + Nhap kich thuoc ma tran: \n");
        do{
            System.out.print("\n n= ");
            n=t.nextInt();
            if((n<2||n>7))
                System.out.print("\n Nhap lai n! ");
        }while(n<2||n>7);
        System.out.print("\n + Nhap ma tran: \n");
        for (int i=0;i<n;i++)
            for (int j=0;j<n;j++)
            {
                System.out.print("\n a["+i+"]["+j+"]= ");
                a[i][j]=t.nextInt();
            }
    }
    // In ma tran
    void InMT(){
        System.out.print("\n + In ma tran \n");
        for (int i=0;i<n;i++){
 …

[ C\C++ ] Bài toán người đưa thư sử dụng giải thuật Heuristic [ Giải thuật - Trí tuệ nhân tạo ]

1. Phát biểu bài toán:

Bài toán: Để tiết kiệm thời gian đi đưa thư trong một địa phương. Người đưa thư phải đi qua tất cả các điểm cần phát thư rồi trở về vị trí ban đầu với đường đi ngắn nhất.

Bài toán có thể phát biểu lại như sau: Giả sử có một đồ thị có trọng số dương, tìm đường đi ngắn nhất qua tất cả các đỉnh của đồ thị rồi trở về đỉnh ban đầu.

2. Hạn chế khi sử dụng thuật toán tối ưu:

Đồ thị có n đỉnh, khi đó thuật toán tối ưu cho bài toán này sẽ là thuật toán tìm đường đi ngắn nhất cho chu trình Haminton. Do đó thuật toán tối ưu sẽ có độ phức tạp là O(n!).

ĐI TÌM một thuật giải Heuristic cho bài toán này.

3. Sử dụng thuật toán Heuristic cho bài toán người đưa thư:

- Theo kinh nghiệm của con người trong thực tế thì khi ta đi trên những đoạn đường ngắn nhất thì cuối cùng ta sẽ có một hành trình ngắn nhất à sử dụng nguyên lý tham lam.

- Thuật giải bài toán sử dụng nguyên lý tham lam:

- Ví dụ về thuật giải trên:

Với một đồ thị trọng số dương như hình bên. Nếu ta xuất phát từ đỉnh sổ 1, thì…

[ Lập trình Android ] Ví dụ: Xây dựng ứng dụng MÁY TÍNH ĐIỆN TỬ [ ứng dụng Android cơ bản ]

Xây dựng ứng dụng mô phỏng máy tính điện tử đơn giản trên Android:


Để xây dựng ứng dụng trên, chúng ta tiến hành như sau (Cài đặt trên môi trường Eclipse đã plugin SDK, xem thêm tại đây):

Bước 1: Tạo Project Vidu1 với các thành phần như hình vẽ


 Bước 2: Viết nội dung các file:  PhepTinh.java (chứa các xử lý tính toán); Vidu1.Activity.java (file chạy Android); main.xml (thiết kế giao diện); color.xml (thiết lập màu sắc); string.xml (thiết lập các giá trị cho string). Nội dung cụ thể:

+ color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="title_color">#0000FF</color>
<color name="text_color">#DC143C</color>
<color name="resul_color">#FFD700</color>
<color name="backg_color">#F0F8FF</color>
<color name="btn_color">#FF0000</color>

</resources>

+ string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>…