1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thư viện hỗ trợ thông dịch mã nguồn trên windows phone

56 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 3,71 MB

Nội dung

Thư viện hỗ trợ thông dịch mã nguồn Windows Phone MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU TOÁN HỌC Từ viết tắt DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU Hình vẽ LỜI MỞ ĐẦU Tính cấp thiết Mục tiêu đề tài Nội dung nghiên cứu 10 Đối tượng phạm vi nghiên cứu 10 Kết đề tài 11 Chương – TỔNG QUAN 12 1.1 Tổng quan thông dịch mã nguồn 12 1.1.1 Ngôn ngữ biên dịch 12 1.1.2 Ngôn ngữ thông dịch 13 1.2 Phát biểu toán 13 1.3 Chọn hướng giải 14 Chương - XÂY DỰNG BỘ ĐỌC DỮ LIỆU CHO FRAMEWORK 16 2.1 Xây dựng hàm đọc file từ webservices 16 2.2 Xây dựng thư viện cho việc đọc file class tiêu chuẩn 19 2.2.1 Mơ hình class tiêu chuẩn 19 2.2.2 Xây dựng thư viện core java để đọc class tiêu chuẩn 20 Chương – CHUYỂN ĐỔI SANG JSON TỪ CLASS TIÊU CHUẨN 22 3.1 Giới thiều Json 22 3.2 Cấu trúc Json 22 3.3 So sánh Json XML: 27 Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone 3.4 Chuyển mã nguồn từ Class tiêu chuẩn thành file Json: 28 Chương - XÂY DỰNG WEBSERVICES NHẬN, TRẢ JSON 32 4.1 Giới thiệu mơ hình Spring MVC 32 4.2 Xây dựng Web services 33 Chương V - XÂY DỰNG THƯ VIỆN CHO WINDOWS PHONE 39 5.1 Lập trình Windows Phone 8: 39 5.1.1 Khái niệm Windows phone 39 5.1.2 Kiến trúc Windows phone 39 5.2 Xây dựng chương trình windows phone nhận trả file json 44 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 54 Kết luận 54 Hướng phát triển đề tài 54 TÀI LIỆU THAM KHẢO 55 Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu thân Các kết nghiên cứu luận văn trung thực chưa công bố công trình khác Tác giả luận văn Nguyễn Hùng Anh Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone LỜI CẢM ƠN Luận văn hoàn thành trường Đại học bách khoa Hà Nội, kết khoá cao học CH2013B Đầu tiên cho phép chân thành cám ơn tới Thầy giáo TS.Lã Thế Vinh trực tiếp hướng dẫn sửa chữa suốt thời gian nghiên cứu hoàn thành luận văn Tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy cô giáo Viện đào tạo sau đại học tham gia giảng dạy lớp Cao học ngành công nghệ thông tin Tôi xin cảm ơn gia đình, đồng nghiệp, phịng ban chức bạn bè giúp đỡ động viên suốt thời gian học tập hoàn thiện luận văn Xin chân thành cảm ơn! Người thực Nguyễn Hùng Anh Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU TOÁN HỌC Từ viết tắt Từ viết tắt Tiếng anh Nghĩa tiếng việt JVM Java Virtual Machine Máy ảo Java JRE Java Runtime Environment Môi trường Java JIT Just In Time Tức thời OS Openrating System Hệ điều hành XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng Spring Spring Framework Framework theo mơ hình Spring AOP Aspect Oriented Programming Kỹ thuật lập trình cho phép đóng gói hành vi có liên quan đến nhiều lớp MVC Model View Control Mơ hình Dữ liệu- Hiển thị- Điều khiển JSON Java Script Object Notation Cú pháp để lưu trữ trao đổi thông tin văn SOAP Simple Object Access protocol Giao thức sử dụng XML để định nghĩa liệu dạng văn DAO Data Access Object Đối tượng truy cập liệu Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone DOM Document Object Model Mơ hình đối tượng tài liệu HTML DB Database Cơ sở liệu JDBC Java Database Connectivity Phương thức kết nối sở liệu Java Trang Thư viện hỗ trợ thơng dịch mã nguồn Windows Phone DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU Hình vẽ Hình 1.1: Quá trình biên dịch 12 Hình 1.2: Q trình thơng dịch 13 Hình 1.3: Mơ hình tổng thể giải toán 15 Hình 2.1: Luồng làm việc java 17 Hình 2.2: Mơ hình UML cho việc đọc File 18 Hình 2.3 Thư viện core java 20 Hình 3.1: Mơ hình JSON dạng đối tượng 22 Hình 3.2: Mơ hình JSON kiểu mảng 24 Hình 3.3: Tổng quan dịch vụ với hỗ trợ JSON 25 Hình 3.4: Các mơ hình lưu trữ json 26 Hình 3.5: Lưu liệu Json vào ổ đĩa 29 Hình 3.6: Hướng dẫn mở file Json NotePad 30 Hình 3.7: Kết file Json 30 Hình 4.1: Mơ hình nhận file json từ client 32 Hình 4.2: Tạo web services 34 Hình 4.3: Kết trả web services trình duyệt 37 Hình 4.4: Kết sau sửa đường dẫn URL 37 Hình 4.5: Kết web services sử dụng đường dẫn server 38 Hình 5.1: kiến trúc Windows phone 39 Hình 5.2: Mơ hình điều hướng Windows phone 40 Hình 5.3: Điều hướng trang 41 Hình 5.4: Thiết kế hình đăng nhập 41 Hình 5.5: Cơ chế đăng nhập chứng thực 42 Hình 5.6: Cập nhật CSDL với Web services 42 Hình 5.7: Mối liên kết Code behide với giao diện 43 Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Hình 5.8: Mơ hình lớp MVVM 44 Hình 5.9: Giao diện để nhận trả Json 45 Hình 5.10: Kết Web services trả 48 Hình 5.10: Cách lấy địa máy 48 Hình 5.11: Kết thực chương trình 52 Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone LỜI MỞ ĐẦU Tính cấp thiết Khoa học công nghệ đặc trưng thời đại, nghiên cứu khoa học trở thành hoạt động sôi rộng khắp phạm vi toàn cầu Các thành tựu khoa học đại làm thay đổi mặt giới Khoa học công nghệ trở thành động lực thúc đẩy tiến nhân loại Cùng với nghiên cứu khoa học đại, người ý đến phương pháp nhận thức khoa học, coi đó nhân tố quan trọng để phát triển khoa học Hiện có thể nói thời kỳ phát triển thiết bị di động với tốc độ vũ bão từ trước đến Nếu bàn hệ điều hành cho thiết bị di động có hệ điều hành chiếm thị phần lớn đó IOS Android Sự đời điện thoại dùng hệ điều hành Windows Phone kết việc xây dựng lại hoàn toàn hệ điều hành di động Microsoft mở đầu cho nổ lực hãng để dành lại thị phần di động vốn có tính cạnh tranh Sau Windows Phone Microsoft cho đời Windows Phone ngày khẳng định vị Windows Phone Vì tác giả muốn vận dụng kiến thức để tìm hiểu, phân tích việc thực thi mã nguồn ngơn ngữ lập trình Windows Phone Mặc dù, tác giả cố gắng hoàn thành luận văn khoảng thời gian khả cho phép Tuy nhiên tránh khỏi sai sót, tác giả mong muốn nhận đánh giá khách quan công tâm từ phía hội động để luận văn trở nên hoàn chỉnh Mục tiêu đề tài Trong luận văn tác giả nghiên cứu chuyển đổi ngơn ngữ lập trình Windows phone thơng qua webservices Trang Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Luận văn đưa giải pháp dùng ngơn ngữ lập trình java chuyển đổi chương trình nguồn viết ngơn ngữ (ngơn ngữ đưa để minh họa class tiêu chuẩn) sang dạng file json đặt server, Windows Phone nhận file json thông qua webservice restful sử dụng engine( chế) cài đặt để thực thi nội dung chương trình nguồn ban đầu Nội dung nghiên cứu Luận văn gồm phần mở đầu, 05 chương kết luận Chương 1: Nghiên cứu tổng quan, đưa mơ hình hệ thống hướng giải Chương 2: Xây dựng đọc liệu cho framework Chương 3: Chuyển đổi sang json từ class tiêu chuẩn Chương 4: Xây dựng webservices nhận, trả json Chương 5: Xây dựng chương trình cho Windows Phone thực thi nội dung file json Cuối kết luận, hướng nghiên cứu luận văn Đối tượng phạm vi nghiên cứu Trong luận văn tập trung nghiên cứu chuyển đổi class tiêu chuẩn từ thiết bị vào windows phone thông qua webservices restful Luận văn tập trung nghiên cứu tương thích việc chuyển đổi vào Windows phone, hệ điều hành Microsoft hổ trợ cho thiết bị điện thoại di động Trang 10 Thư viện hỗ trợ thơng dịch mã nguồn Windows Phone Hình 5.5: Cơ chế đăng nhập chứng thực Dựa vào sơ đồ thấy cách thức hoạt động trang với Như vấn đề cần phân tích tiếp theo, lấy liệu, truyền liệu trang với Liên kết liệu(Data Binding) Hình 5.6: Cập nhật CSDL với Web services Trang 42 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Với việc hổ trợ Webservices, windows phone linh hoạt việc cập nhật sở liệu, dựa vào sơ đồ thấy việc kết nối đến CSDL để lấy liệu, ta có thể sử dụng webservices cho việc cập nhật thay đổi trang(page) tại, cập nhật trò chơi, giá trị giao dịch, giá tiền món hàng,vv… , đến thấy hổ trợ mạnh mẽ windows phone việc phân tán liệu Sự liên kết code behind giao diện Hình 5.7: Mối liên kết Code behide với giao diện Cũng C#, có thể theo dõi, điều khiển trang thơng qua Resource file LocalizedStrings.cs sơ đồ Model-View-ViewModel Pattern (MVVM): View: UI(giao diện), định nghĩa thông qua file XAML, lưu file mainpage.xaml Model: chứa đối tượng liệu, kết nối đến data resource ViewModel: tương tự Controller mơ hình MVC, ViewModel phần trung gian View Model Trang 43 Thư viện hỗ trợ thơng dịch mã nguồn Windows Phone Hình 5.8: Mơ hình lớp MVVM Ta thấy có Model, tùy theo mục đích sử dụng, back up(sao lưu) hay dùng cho mục đích khác, biêt, hệ thống chạy online(trực tuyến) khơng có vấn đề gì, ngun nhân đó, hệ thống bị offine lưu liệu nào, biết có khơng ngơn ngữ khác hỗ trợ việc mongo Database, NoSQL Database,…., với mơ hình rõ ràng, Windows phone hỗ trợ cho ta công cụ cho việc lưu liệu trường hợp offline thông qua DB Model sơ đồ Như cấu trúc Windows phone hỗ trợ mạnh mẽ cho người lập trình công cụ để phát triển ứng dụng trường hợp online offine Như tìm hiểu Windowphone 5.2 Xây dựng chương trình windows phone nhận trả file json Thiết kế giao diện để nhận trả json từ windows phone sau: Trang 44 Thư viện hỗ trợ thơng dịch mã nguồn Windows Phone Hình 5.9: Giao diện để nhận trả Json Button(nút) Get Json thực việc lấy liệu từ webservices( liệu json trả thông qua webservices xây dựng chương 4), đọc ghi lại kết chương trình Xây dựng class MapJson nhận thông tin từ webservices sau: public class MapJson { public MapJson() { //TODO } public Dictionary map1 = new Dictionary(); public void setMap1(Dictionary map1) { this.map1 = map1; } public Dictionary getMap1() { Trang 45 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone return this.map1; } public Dictionary map2 = new Dictionary(); public void setMap2(Dictionary map2) { this.map2 = map2; } public Dictionary getMap2() { return this.map2; } public Dictionary map3 = new Dictionary(); public void setMap3(Dictionary map3) { this.map3 = map3; } public Dictionary getMap3() { return this.map3; } public Dictionary map0 = new Dictionary(); public void setMap0(Dictionary map0) { this.map0 = map0; } public Dictionary getMap0() { return this.map0; } public List lstCommand = new List(); public void setLstCommand(List lstCommand) { this.lstCommand = lstCommand; } public List getLstCommand() { return this.lstCommand; } public List lstNameFunction = new List(); public void setLstNameFunction(List lstNameFunction) { this.lstNameFunction = lstNameFunction; } public List getLstNameFunction() { return this.lstNameFunction; } public List lstParamFunction = new List(); public void setLstParamFunction(List lstParamFunction) { this.lstParamFunction = lstParamFunction; } public List getLstParamFunction() { return this.lstParamFunction; } Trang 46 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone public List lstReturnFunction = new List(); public void setLstReturnFunction(List lstReturnFunction) { this.lstReturnFunction = lstReturnFunction; } public List getLstReturnFunction() { return this.lstReturnFunction; } public List list1 = new List(); public void setList1(List list1) { this.list1 = list1; } public List getList1() { return this.list1; } public List list2 = new List(); public void setList2(List list2) { this.list2 = list2; } public List getList2() { return this.list2; } public List list3 = new List(); public void setList3(List list3) { this.list3 = list3; } public List getList3() { return this.list3; } } Thông tin nhận chứa List  lstCommand: chứa danh sách thích  lstNameFunction: chứa tên hàm  lstParamFunction: chứa biến hàm  lstReturnFunction: chứa kết trả Ở lấy liệu từ webservices: Trang 47 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Hình 5.10: Kết Web services trả Chúng ta lưu ý, không dùng địa localhost hay 127.0.0.1 để chạy webservice từ máy local winphone khơng đọc địa này, Json winphone Json.net đó phải chạy địa máy kết nối internet cách, mở command line từ sổ window dùng lệnh ipconfig Hình 5.10: Cách lấy địa máy Trang 48 Địa máy connect internet Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Xây dựng phương thức wc_DownloadStringCompleted get set giá trị cho class JsonMap private void Button_Click(object sender, RoutedEventArgs e) { myJson(); } public void myJson() { String myUrl = "http://169.254.17.175:8080/MVCSpring/api/file/test.json"; //String myUrl = "http://192.168 1.79:8080/MVCSpring/api/file/test.json"; WebClient wc = new WebClient(); wc.Headers["Accept"] = "application/json"; //wc.Headers["ContentType"] = "application/json"; //wc.DownloadStringAsync(new Uri(myUrl), UriKind.Relative); wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); wc.DownloadStringAsync(new Uri(myUrl)); } Trong đó hàm wc_DownloadStringCompleted để gọi thực việc lấy thông tin cho windows phone thông qua webservices private void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { try { var myData = e.Result; if (myData != null) { JObject jsonMap = JObject.Parse(myData.ToString()); MapJson mapJson = new MapJson(); Dictionary setValuemap = new Dictionary(); // get new value // get command function String getValueMap = jsonMap.GetValue("lstCommand").ToString(); JArray jarrayValueMap = JArray.Parse(getValueMap); List getValueFromJson = new List(); foreach (var itemList in jarrayValueMap) getValueFromJson.Add(itemList.ToString()); mapJson.setLstCommand(getValueFromJson); // get name of function getValueMap = jsonMap.GetValue("lstNameFunction").ToString(); jarrayValueMap = JArray.Parse(getValueMap); getValueFromJson = new List(); Trang 49 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone foreach (var itemList in jarrayValueMap) getValueFromJson.Add(itemList.ToString().Replace("\r\nfunction ", "")); mapJson.setLstNameFunction(getValueFromJson); // get parameter of function getValueMap = jsonMap.GetValue("lstParamFunction").ToString(); jarrayValueMap = JArray.Parse(getValueMap); getValueFromJson = new List(); foreach (var itemList in jarrayValueMap) getValueFromJson.Add(itemList.ToString()); mapJson.setLstParamFunction(getValueFromJson); //get function return getValueMap = jsonMap.GetValue("lstReturnFunction").ToString(); jarrayValueMap = JArray.Parse(getValueMap); getValueFromJson = new List(); foreach (var itemList in jarrayValueMap) getValueFromJson.Add(itemList.ToString() Replace("\r\n\treturn", "=").Replace("\r\n\r\n", "")); mapJson.setLstReturnFunction(getValueFromJson); //begin set value for map0 getValueMap = jsonMap.GetValue("map0").ToString(); JObject jsonMapValueMap = JObject.Parse(getValueMap); setValuemap = new Dictionary(); setValuemap.Add("finish", jsonMapValueMap.GetValue("finish").ToString()); mapJson.setMap0(setValuemap); //end set value for map0 //show result in winphone string getValueMap0 = mapJson.getMap0()["finish"]; string getlstCommand = ""; foreach (var itemList in mapJson.getLstCommand()) getlstCommand += itemList.ToString(); string getlstNameFunction = ""; foreach (var itemList in mapJson.getLstNameFunction()) getlstNameFunction += itemList.ToString(); string getlstParamFunction = ""; foreach (var itemList in mapJson.getLstParamFunction()) getlstParamFunction += itemList.ToString(); string getlstReturnFunction = ""; foreach (var itemList in mapJson.getLstReturnFunction()) getlstReturnFunction += itemList.ToString(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } Trang 50 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Để thực việc thực thi lệnh từ webservices sử dụng core python hổ trợ windows phone phương thức sau: /*method getResearch engine excute python *@param functionStr: script function *@param nameFunction: name of function want executing *@param paramStr: name of param *@param valueStr: value of param want executing *@return Int function just demo with standard fuction * **/ public String getResearch(String functionStr, String nameFunction, String paramStr, String valueStr) { var pySrc = @functionStr; var engine = Python.CreateEngine(); var scope = engine.CreateScope(); ScriptSource source = engine.CreateScriptSourceFromString(pySrc, SourceCodeKind.Statements); CompiledCode compile = source.Compile(); String[] getValue = valueStr.Split(','); String[] getParam = paramStr.Split(','); for (int i = 0; i < getParam.Length; i++) { scope.SetVariable(getParam[i], Convert.ToInt32(getValue[i])); } var result = compile.Execute(scope); var calcAdd = scope.GetVariable(nameFunction); return calcAdd.ToString(); } Từ thông tin webservices thông qua phương thức có thể thực thi phương thức class tiêu chuẩn private void executeFunctionDemo(int index, MapJson mapJson) { String functionStr = mapJson.getLstNameFunction()[index] + mapJson.getLstReturnFunction()[index]; String nameFunction = mapJson.getLstNameFunction()[index]; String paramStr = ""; String valueStr = ""; String[] lstTemp = mapJson.getLstParamFunction()[index].ToString().Split(','); for (int i = 0; i < lstTemp.Length; i++) { //Random rnd = new Random(); int a = 10;// if (i == lstTemp.Length - 1) Trang 51 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone { paramStr += lstTemp[i].Split(' ')[1]; //valueStr += rnd.Next(100).ToString(); valueStr += a.ToString(); continue; } a = a + 1; paramStr += lstTemp[i].Split(' ')[1] + ","; //valueStr += rnd.Next(100).ToString() + ","; valueStr += a.ToString()+","; } MessageBox.Show(getResearch(functionStr, nameFunction, paramStr, valueStr)); } Thông qua phương thức cách truyền số index- thứ tự thực hàm class tiêu chuẩn, từ đó ta lấy thông tin cần thiết tên hàm, biến, giá trị trả việc kiểm tra kết việc gán giá trị cho chuổi valueStr để đọc giá trị cần thiết hàm Kết sau truyền tham số sau Hình 5.11: Kết thực chương trình Trang 52 Thư viện hỗ trợ thơng dịch mã nguồn Windows Phone Như xây dựng xong thư viện đọc trả liệu cho windows phone thông qua webservices Trang 53 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN Kết luận Về tác giả xây dựng thành công thư viện cho phép chuyển đổi mã nguồn class tiêu chuẩn đơn giản để có thể thực thi nội dung class Windows phone Đã xây dựng mơ hình class tiêu chuẩn, mơ hình đọc ghi lại file tiêu chuẩn, chuyển đổi class tiêu chuẩn đó dạng file Json thực thi file Json Windows phone Hướng phát triển đề tài Với mơ hình tác giả đề xuất có thể mở rộng cho nhiều ngơn ngữ lập trình khác Ở ta việc mở rộng thư viện đọc file tiêu chuẩn, nghĩa thư viện đọc file có thể đọc chương trình viết Java, C++, … chuyển đổi mã nguồn dạng cụ thể(Json, XML…) từ đó chương trình có thể nhận thực thi mã nguồn Trang 54 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone TÀI LIỆU THAM KHẢO [1] Seventh Edition, P.J Deitel and H.M Deteil, JAVA HOW TO PROGRAM, 2010 [2] Craig Walls, Spring in Action, 3rd Edition [3] WILLIE WHEELER , Spring in Practice [4] Marten Deinum and Koen Serneels, Pro Spring MVC with Web Flow [5] Rod Johnson, Spring Data [6] Carlo Scarioni, Pro Spring Security [7] FalaSel Solt, Pro Windows Phone App Development, 3rd Edition [8] Lori Lalonde, David R Totzke, Windows Phone Recipes [9] Henry Lee, Eugene Chuvyrov, Beginning Windows Phone App Development [10] Tomasz Szostak, Windows Phone Application Development Essentials [11] Andrew Whitechapel, Sean McKenna, Windows Phone Development Internals [12] Shawn Wildermuth, Essential Windows Phone 7.5 [13] Adam Dawes, Windows and Windows Phone Game Development [14] Henry Lee, Eugene Chuvyrov, Beginning Windows Phone Development, 2nd Edition, [15] Massimo Perga,Michael Sync, Windows Phone in Action,Timothy BinkleyJones [16] Adam Nathan, 101 Windows Phone Apps Trang 55 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone [17] Nick Randolph, Christopher Fairbairn, Professional Windows Phone Application Development [18] http://msdn.microsoft.com/library/windows/apps/jj714071(v=vs.105).aspx Trang 56 ... null Trang 23 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Hình 3.2: Mơ hình JSON kiểu mảng Ví dụ Json với tổ chức array: Trang 24 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Tổng quan... 29 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Hình 3.6: Hướng dẫn mở file Json NotePad Chúng ta kết sau: Hình 3.7: Kết file Json Trang 30 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone. .. server Trang 38 Thư viện hỗ trợ thông dịch mã nguồn Windows Phone Chương V - XÂY DỰNG THƯ VIỆN CHO WINDOWS PHONE 5.1 Lập trình Windows Phone 8: 5.1.1 Khái niệm Windows phone Windows Phone hệ điều

Ngày đăng: 28/02/2021, 00:09

w