Category Archives: Database programming

Kiến thức cần biết về in app purchase

  1. Thông tin chung:
  2. Giới thiệu:

– In game purchase là phương thức thanh toán cho phép bạn có thể cung cấp nội dung thành từng phần chứ không phải một gói duy nhất. Nó còn bao gồm cả những dịch vụ và những nội dung ảo ở trong game (Các màn chơi trong một game hay tiền ảo).

– In game purchase cho phép các doanh nghiệp có thể linh động trong cách cung cấp các dịch vụ và những gì cần thiết dành cho các game thủ hay người sử dụng. Với In game purchase, bạn có thể cụng cấp cho các khách hàng những nội dung số, các chức năng hay thậm chí là các thuê bao hàng tháng (báo chí hay thông tin khuyến mãi)

* Sau đây là những ví dụ về In-App Purchase:

– Sách kĩ thuật số hay hình ảnh

– Các màn chơi mới

– Các thuê bao hàng tháng (Báo chí hay thư từ)

 

* In-App Purchase được thực hiện thông qua StoreKit framework được cung cấp theo kèm trong công cụ hỗ trợ lập trình Xcode chỉ việc include vào và sử dụng. Trong StoreKit framework sẽ có các lệnh cho phép bạn thực hiện các giao dịch thông qua App Store và Mac App Store.

– Những điều luật của In-App Purchase tương đương với App Store và bạn sẽ được nhận 70% số tiền mà người sử dụng phải trả vào mỗi tháng và không tính phí của thẻ tín dụng (đã được tính trong 30% mà Apple lấy)

 

* Tóm lại:

+ Có 4 thể loại của In-App Purchase mà bạn có thể bán:

– Nội dung (Content)

– Chức năng (Functionality)

– Dịch vụ (Services)

– Thuê bao (Subscriptions)

+ Có 5 loại mà In-App Purchase phải xác định rõ:

– Tiêu hao (Consumables)

– Không tiêu hao (Non-Consumables)

– Thuê bao tự động (Auto-Renewable Subscriptions)

– Thuê bao miễn phí (Free Subscriptions)

– Thuê bao định kì (Non-Renewable Subscriptions)

* Sau đây là những lưu ý khi bạn thiết kế In-App Purchase trong ứng dụng của bạn:

– Các In-App Purchase chỉ được cung cấp trong ứng dụng hay game của chính bạn. Không sử dụng các các đồ vật hay dịch vụ thực tế (real-world goods and services)

– Đối với các In-App Purchase (trừ loại tiêu hao ra), bạn phải có biện pháp để những In-App Purchase này có tác dụng với tất các các thiết bị của người sử dụng đó (Ví dụ: Một người đã mua chức năng chỉnh hính trong ứng dụng của bạn trên Ipod thì vẫn có thể sử dụng được chức năng này trên Iphone của họ)

– Bạn không được đưa ra những vật phẩm làm các đơn vị tiền tệ trung gian để mua bán vì Apple muốn các người dùng xác định rõ những hàng hóa hay dịch vụ mà họ có thể mua một cách rõ ràng).

* Nói đơn giản, những mặt hàng của bạn phải có sẵn trong ứng dụng hay game trước và được Apple duyệt qua trước khi được bày bán. Ví dụ, bạn muốn bán các album ảnh thì bạn phải tạo ra các album ảnh này trong ứng dụng và được Apple cấp phép để bán. Bạn không thể đưa ra một danh sách trên website và dùng một đơn vị tiền tệ trung gian để mua bán những album đó. Một danh sách những vật phẩm số tùy chỉnh là không được phép.

– Những nội dung bạn cung cấp không đươc chứa hay liên quan đến khiêu dâm hay, đả kích, làm tổn hại với người khác hay đánh bài ăn tiền (tuy nhiên giả lập đánh bài thì có thể được chấp nhận)

– Các In-App Purchase không thể chia sẻ lẫn nhau giữa các ứng dụng hay các hệ máy khác nhau.

 

  1. Nội dung chính:
  2. Những điều kiện để làm việc với In-App Purchase:

– Bạn cần phải có account phát triển của Apple vì bạn bắt buộc phải tạo In-App Purchase trên server để có thể kết nối và thực hiện giao dịch về tiền bạc

– Chương trình/ Ứng dụng phải được tạo ra trước trên Itune Connection sau đó mới có thể thêm các phần về In-App Purchase.

* Account test có 2 chức năng:

– Thử nghiệm những game chúng ta đang muốn

– Chạy những ứng dụng Ingame Purchase để test

 

* Lưu ý khi làm việc với In-App Purchase:

 

2. Các bước thực hiện:

– Đầu tiên phải lên Development tạo một chương trình, sau đó vào phần Manage In-App Purchase để tạo một In-App Purchase. Đây là quá trình tạo một In-App Purchase

– Để chạy được chương trình ta cần phải có một account test để thử nghiệm tính năng của chương trình này bằng cách vào Ingame Purchase để add một account test.

 

– Mã nguồn cho việc chạy một ingame purchase là

– Nếu không bạn có thể dùng thư viện sau đây để chạy In-App Purchase

 

  1. Kết luận:

– Đây là chương trình để thử nghiệm

– Chúc vui vẻ với ingame purchase

Advertisements

Thể hiện dữ liệu dưới dạng UICollectionView

*  IOS 6 có rất nhiều cải tiến trong đó hệ thống liệt kê theo danh mục đã có bước chuyển biến mới khi có thêm công cụ giúp cho các lập trình viên có thể nhanh chóng tạo một danh sách cho phép người dùng lựa chọn.

– UICollectionView không những nhanh chóng, tiện lợi lại còn mang rất nhiều chức năng mới cho phép việc lập trình ứng dụng trở nên đơn giản và nhanh chóng hơn rất nhiều lần.

* Khái niệm chung:

– UICollectionView có cách sử dụng khá là giống với UITableView. Tuy nhiên UITableView quản lý và hiển thị dữ liệu trên một cột (1 column, dĩ nhiên là bạn có thể làm được nhiều thứ với 1 column này nhưng thực sự nó rất khó khăn). Với UICollectionVIews bạn có thể tùy biến nó một cách cực kỳ linh động. Tất cả đều phụ thuộc vào bạn, bạn làm nó hình vuông hay hình tròn hay mọi dạng mà bạn có thể nghĩ ra được. Mặc định, SDK IOS cung cấp cho bạn một UICollectionViewFlowLayout để bạn có thể tổ chức quản lý những đối tượng của bạn và một đầu đề, một kết ở cuối mỗi khu vực để bạn có thể thêm vào các ghi chú và tách từng khối với nhau

* Có 3 cách để sử dụng một UICollectionView thể hiện thông tin bạn cần:

+ Dùng Code để sinh ra toàn bộ UICollectionView thì sẽ không đụng tới các Tool của Xcode. Cách này không được trực quan cho lắm tuy nhiên nếu dùng một cách máy móc thì sau này bạn không cần thêm một dòng code nào để thể hiện nó mà chỉ cần truyển database tới mà thôi.

+ Dùng UIColllectionViewController để thể hiện thì bạn sẽ được tạo sẵn hầu như mọi thứ dành cho việc thể hiện dữ liệu. Bạn chỉ cần vài dòng code để đưa database vào mà thôi.

+ Dùng UICollectionView thêm vào trong một ViewController để thể hiện thông tin. Cách này là một nữa của những cách trên.

 

+ Làm việc với UICollectionView bạn sẽ tạo ra được những cách chọn rất tuyệt dành cho game/ ứng dụng của bạn đấy. Cụ thể từng loại thì những bài sau vậy 😀 (Hôm nay viết quá trời roài).

Hashtable trong C#

I. HashTable là gì?

HashTable là một kiểu dữ liệu danh sách dùng để lưu dữ liệu theo một từ khóa và giá trị của nó.

 

– Muốn sử dụng được HashTable bạn cần phải khai báo Thư viện Collection.

Với HashTabel, dữ liệu luôn đi kèm một cặp [Key  – Value].

– Về cơ bản, HashTable có tính năng tương tự như Dictionary. Tuy nhiên với Dictionary ta cần phải khai báo kiểu dữ liệu cho Key và Value còn HashTable thì không cần thiết.

 

Với HashTable, ta có thể thêm dữ liệu thông qua Key và lấy dữ liệu thông qua Key một cách dễ dàng hơn rất nhiều nếu dùng các kiểu dữ liệu khác.

 

II. Cách sử dụng:

 

Cần phải thêm thư viện vào chương trình trước:

 

using System.Collections;

 

Đây là phần tạo và thêm những phần tử vào trong HashTable:

 

var hashTable = new Hashtable();

 

           hashTable.Add(“lapKan”, “Website tham khảo lập trình”);

           hashTable.Add(“Author”, “Huygamer”);

           hashTable.Add(“HoTen”, “Nguyễn Ngọc Huy”);

 

           String lk = “lapKan của Author”;

           foreach (DictionaryEntry item in hashTable)

           {

               lk = lk.Replace(item.Key.ToString(), item.Value.ToString());

           }

 

Ta sẽ có kết quả là:

 

Website tham khảo lập trình của Huygamer

 

III. Các thuộc tính của HashTable:

 

1. Truy xuất một phần từ bất kỳ trong HashTable thông qua từ khóa (Key);

txtThongBao.Text = hashTable[“HoTen”].ToString();

 

2. Xóa một phần tử trong HashTable:

HashTable.Remove(“HoTen”);

 

3. Kiểm tra phần tử trong HashTable thông qua ContainsKey và ContainsValue:

hashTable.ContainsKey(“HoTen”);

hashTable.ContainsValue(“lapKan”);

 

4. Kiểm tra số lượng và làm mới HashTable:

– Chúng ta có thể kiểm tra số lượng phần tử trong danh sách thông qua hàm Count.

txtThongBao.Text = “Số lượng phần tử: ” + hashTable.Count.ToString();

 

– Chúng ta cũng có thể xóa sạch HashTable bằng hàm Clear():

hashTable.Clear();

5. Tạo ra một phiên bản của HashTable thông qua ham Clone();

var cloneHashTable = hashTable.Clone();

 

=> Tuy nhiên cần phải lưu ý cloneHashTable không phải là một HashTable mà là một object và object này không thể sử dụng được. Ứng dụng của nó là bạn có thể sử dụng nó như một bản lưu trữ mà không phải truy vấn ngược lại hashTable trước đó.

var cloneHashTable = hashTabel.Clone();

hashTable.Remove(“HoTen”);

hashTable.Clear();

hashTable = (HashTable)cloneHashTable;

 

Bạn sẽ có lại một HashTable như ban đầu mà không cần phải khởi tạo lại hay moi dữ liệu từ database. Đây là một tính năng khá hay của các danh sách (Collection).

* Lưu ý: Bạn clone là bạn tạo bản sao của HashTable chứ không phải là nội dung bên trong nó.

AutoComplete dành cho DataGridView và ComboBox bình thường trong C#

* Lệnh cần để thể hiện ComboBox và DropDown dành cho DataGridView 

private void dgv_list_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl)
{
((ComboBox)e.Control).DropDownStyle = ComboBoxStyle.DropDown;
((ComboBox)e.Control).AutoCompleteSource = AutoCompleteSource.ListItems;
((ComboBox)e.Control).AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
}
}

* Lệnh dành cho ComboBox bình thường (Tool Box) 

partial class lkClass
{
public String LKDisplay
{
get
{
return String.Format(“{0} – {1}”, this.Ma, this.Ten);
}
}
}

 

* Đoạn code để giúp Combobox có thể auto complete được:

 

lkComboBox.DataSource = lkList;
lkComboBox.ValueMember = “Ma”;
lkComboBox.DisplayMember = “LKDisplay”;

lkComboBox.AutoCompleteMode = AutoCompleteMode.Suggest;

 

lkComboBox.AutoCompleteSource = AutoCompleteSource.ListItems;