2010-05-05 31 views
5

Có ai biết cấu trúc dữ liệu nào được sử dụng cho thông điệp lưu trữ trong ứng dụng SMS khách hàng hay không và liệu có API hiện tại cho điều này hay không. Tôi có lẽ đang xem xét việc thực hiện một danh sách liên kết cho mục đích nhưng nếu công việc đã được thực hiện trong một API thì có lẽ sẽ không cần thiết phải dành thời gian cho công việc có thể được dành cho việc lập trình các phần khác.Cấu trúc dữ liệu được sử dụng cho tin nhắn SMS Trong Android

Rất cám ơn

Trả lời

1

Trong android có android.telephony.SmsMessage. Đây là đối tượng được sử dụng trong Android để lưu trữ một tin nhắn SMS. Bạn có thể nhìn vào đó và xây dựng một cái gì đó tương tự như nó, hoặc tái sử dụng nó.

Theo cấu trúc dữ liệu để lưu trữ chúng, tôi khuyên bạn nên sử dụng java.util.List<E>, mang lại cho bạn sự linh hoạt hơn nhiều so với một số cấu trúc dữ liệu khác, như mảng chuẩn [].

Nếu bạn đang xem lưu trữ tin nhắn SMS của mình trong một khoảng thời gian dài hơn, thì tôi cũng khuyên bạn nên xem xét sự kiên trì bằng cách sử dụng SQLlite, which is also a part of the Android platform.

1

Đối với ứng dụng Nhắn tin tích hợp, nó lưu trữ tất cả các thư trong cơ sở dữ liệu. Bạn có thể kiểm tra mã nguồn Android để xem nó có tác dụng gì nhưng tôi khuyên bạn nên đọc dữ liệu này - nó không phải là một phần của SDK chính thức, vì vậy nó có thể thay đổi hoặc một số điện thoại có thể không có.

Để tự lưu trữ - tôi sẽ không sử dụng danh sách được liên kết. Sử dụng cơ sở dữ liệu, đó là cách ưu tiên để lưu trữ bất kỳ dữ liệu liên tục nào (ngoài các giá trị riêng lẻ nhỏ mà bạn sử dụng SharedPreferences).

1
Uri uriSMS=Uri.parse("Content://sms/inbox"); 
     Cursor cur=getContentResolver().query(uriSMS,null,null,null,null); 
     String[] sender=new String[100];String[] content=new String[100];int ct=0; 
     While(cur.moveToNext()){ 
      sender[ct]=cur.getString(2);//arg2: this is address 
      content[ct]=cur.getString(11);//arg11: this is body of SMS 
//[0: _id,1: thread_id,2: address,3: person,4: date,5: protocol,6: read,7: status,8: type,9: reply_path_present,10: subject,11: body,12: service_center,13: locked,14: error_code,15: seen] 
     } 

Đây là cấu trúc nội dung trong SMS, ví dụ: tôi nhận được arg2 và arg11 đây là địa chỉ và nội dung của sms. Sử dụng mẫu này, bạn có thể đọc tất cả SMS được lưu trữ trong điện thoại

Các vấn đề liên quan