Archive for November 2013

API là gì? Ứng dụng của nó như thế nào?


thuvienwinform - Đơn giản như thế này, hiện nay nhiều người dùng mạng xã hội facebook và bạn muốn viết một ứng dụng để đăng tin lên mạng xã hội này. Vậy làm sao để làm một ứng dụng như vậy khi facebook là của người khác? Hiểu được nhu cầu này của các lập trình viên facebook sẽ đưa ra các thư viện chứa các hàm đăng, like, share...trên trang của mình để các lập trình viên khai thác! Đó chính là API
Google+, Gmail, Blogger, Youtube, các ứng dụng của windows (Windows media player, Internet Explorer,..), nhaccuatui, zingmp3,...rất nhiều các trang web, ứng dụng đưa ra các API để hỗ trợ các lập trình viên

- API (Application Programming Interface - Giao diện lập trình ứng dụng). Mỗi hệ điều hành, ứng dụng đều có những bộ API khác nhau. Nó cung cấp cho người lập trình các hàm tương tác với CSDL, lập trình thực hiện các thao tác với hđh hay phần mềm đó. Hầu hết các hàm API được chứa trong các file DLL
- Ví dụ: Các hàm API của hđh windows cho phép chúng ta lập trình ứng dụng thay đổi icon màn hình, xem thông tin máy tính, ... hay các hàm API của google cho phép lập trình viên lấy thông tin, sửa thông tin người dùng,...Các hàm API của facebook cho chúng ta đăng stt, ảnh, cmt,...
- Vậy API có phải một ngôn ngữ lập trình không? Câu trả lời là không các bạn ạ. Các hàm API cũng như các hàm bình thường mà chúng ta hay viết và trên từng ngôn ngữ khác nhau cũng có các bộ API tương ứng khác nhau.
- Ví dụ: Google API có bộ cho .NET, PHP,..
- Và mỗi bộ API hầu như đều có hướng dẫn sử dụng rất cụ thể và chi tiết. Ví dụ của hướng dẫn sử dụng các hàm API đối với blogger: https://developers.google.com/blogger/docs/2.0/developers_guide_dotnet rất hữu ích cho ai muốn viết ứng dụng quản lí blog


- Ví dụ một đoạn code đăng bài cho blog sử dụng API của google:

void DangBai(Service service, string bID, string title, string content, bool isDraft)
        {
            //Tạo các thuộc tính của bài đăng
            Uri blogPostUri = new Uri("http://www.blogger.com/feeds/" + bID + "/posts/default");
            AtomEntry newPost = null;
            newPost = new AtomEntry();
            newPost.IsDraft = isDraft;
            newPost.Title.Text = title;

            newPost.Content = new AtomContent();
            newPost.Content.Content = content;
            newPost.Content.Type = "html";
            newPost.Updated = new DateTime(2011, 1, 1, 10, 0, 0);
            newPost.Published = new DateTime(2011, 1, 1, 10, 0, 0);
            //Đăng bài
            AtomEntry CreateEntry = service.Insert(blogPostUri, newPost);
        }

Một số bài về API:
- Phát nhạc: http://thuvienwinform.blogspot.com/2014/04/api-phat-nhac-mp3_13.html
- Kiểm tra kết nối mạng: http://thuvienwinform.blogspot.com/2014/04/api-kiem-tra-ket-noi-internet.html
- Facebook API: http://facebooksdk.net/
- Google API: https://code.google.com/p/google-api-dotnet-client/wiki/APIs
+ Hướng dẫn A-Z Google API cho Blogspot: http://garyngzhongbo.blogspot.com/2013/10/bloggerc-blogger-api-v31.html
- Tìm trên nhaccuatui: http://diendan.congdongcviet.com/threads/t57486::lay-link-nhac-an-tu-trang-nhaccuatui-com.cpp

11/27/2013
Đăng bởi :
Nhãn : ,

Code lấy thông tin máy tính bằng C# (Tên máy, tài khoản người dùng, phiên bản hệ điều hành, địa chỉ MAC,...)



Code lấy tên máy, phiên bản HĐH, địa chỉ IP, địa chỉ MAC bằng C#

- Demo: https://www.dropbox.com/s/8xw85oo6xg8v86c/ThongTinHeDieuHanh.rar (52KB)
- Để lấy thông tin cơ bản như tên máy, tài khoản đăng nhập vào máy, phiên bản hệ điều hành ta sử đụng lớp Environment sẵn có để lấy những thông tin đó. Ví dụ: Environment.MachineName để lấy tên máy, Environment.UserName để lấy tài khoản đăng nhập vào máy,...

- Để lấy các địa chỉ IP mà máy đang có (Đang kết nối đến bao nhiêu mạng thì có bằng đó IP): http://www.thuvienwinform.tk/2013/10/code-lay-username-va-ip-cua-may.html

- Để lấy địa chỉ MAC ta sử dụng thêm using System.Net.NetworkInfomation;
Code lấy địa chỉ MAC như sau: (cảm ơn anh LNT đã share cho mình code này)

            /////////////////
            //Lấy địa chỉ MAC
            ////////////////  
            string DanhSachMAC = "";
            NetworkInterface[] DanhSachCardMang = NetworkInterface.GetAllNetworkInterfaces();
            for (int i = 0; i < DanhSachCardMang.Length; i++)
            {
                PhysicalAddress DiaChiMAC = DanhSachCardMang[i].GetPhysicalAddress();
                DanhSachMAC += DanhSachCardMang[i].Name + " : ";
                byte[] ByteDiaChi = DiaChiMAC.GetAddressBytes();
                for (int j = 0; j < ByteDiaChi.Length; j++)
                {
                    DanhSachMAC += ByteDiaChi[j].ToString("X2");
                    if (j != ByteDiaChi.Length - 1)
                    {
                        DanhSachMAC += "-";
                    }
                }
                DanhSachMAC += "\r\n";
                txtMAC.Text += DanhSachMAC;
            }

hoặc

            /////////////////
            //Lấy địa chỉ MAC
            ////////////////
            int l, i, j=0;
            string MAC;
            while (true)
            {
                try
                {
                    MAC = NetworkInterface.GetAllNetworkInterfaces()[j].GetPhysicalAddress().ToString(); //đến đây đã lấy được địa chỉ rồi nhưng chưa có dấu phân cách
                    l = MAC.Length - 1;
                    for (i = 0; i <= l; i++)
                    {
                        if (i % 2 == 0 && i != 0) txtMAC.Text += "-";
                        txtMAC.Text += MAC[i];
                    }
                    j++;
                    txtMAC.Text += "\r\n";
                }
                catch
                {
                    break;//Hết địa chỉ MAC rồi thì ngắt vòng lặp
                }
            }
Với cách 2 chạy lâu hơn rất nhiều :) khuyến cáo không nên dùng.

11/20/2013
Đăng bởi :
Nhãn :

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -