2011-11-22 50 views
6

Dường như có độ dài tối đa cho số chuỗi ký tự có thể giữ. Trong trường hợp của tôi nó được phổ biến với HTML thông qua JSON và khoảng 1500 ký tự nó bị treo.Độ dài tối đa của biến chuỗi trong Android

Không có ký tự đặc biệt nào trong văn bản ngoài HTML.

Có cách nào khác hay không?

Chúc mừng,

Mike.

+2

Đăng nhật ký lỗi của bạn Tôi nghĩ bạn có một vấn đề khác. – user370305

Trả lời

4

Giá trị tối đa (cả thực tế và lý thuyết) cao hơn nhiều. Về mặt lý thuyết, nó là 2^31 - 1 ký tự. Trong thực tế, bạn sẽ bị giới hạn trong bộ nhớ có sẵn, nhưng ngay cả trên một hệ thống di động, bạn sẽ có nhiều hơn 1.5KB.

Bạn có vấn đề khác. Sử dụng JSON Lint để trước tiên kiểm tra xem bạn có JSON hợp lệ không.

+0

Tôi thích JSON Lint, cảm ơn những người đứng đầu về điều đó. Nó là hợp lệ mặc dù! –

1

Giống như những gì Java cung cấp. Nếu tôi hiểu câu hỏi của bạn một cách chính xác, bạn đang cố gắng đọc dữ liệu HTML (dưới dạng JSON) từ một dịch vụ và nó đang gặp sự cố sau khi nhận được phản hồi nhất định. Nếu đúng như vậy, hãy thử xem thao tác tương tự có hoạt động từ trình duyệt của bạn hay thông qua biểu mẫu HTML đơn giản hay không.

+0

Cảm ơn các bạn, nó đến từ một dịch vụ và nó hoạt động tốt trong một ứng dụng dựa trên trình duyệt của khách hàng và nếu tôi truy cập trực tiếp phương thức thông qua một URI trong một trình duyệt ví dụ… articles.svc/GetArticles và Fiddler, nhưng nó không làm việc nếu chuỗi quá dài trên điện thoại của tôi hoặc trình giả lập. Điều này làm thế nào tôi đã thu hẹp nó xuống và nghĩ rằng phải có một hạn chế về độ dài chuỗi trong Java. Tôi không nghĩ đó là vấn đề về bộ nhớ vì nó chỉ là 1500 ký tự. Ngoài ra, HTML duy nhất trong chuỗi là

. –

+0

Ngoài ra nó đi qua một ArrayAdapter trước khi được đưa vào chuỗi! và nó bị treo trước khi nó được yêu cầu hiển thị nó ở bất cứ đâu! –

0

Ở những nơi khác trong Stack Overflow có đề cập đến giới hạn kích thước trên nội dung ArrayAdapter. Đây có thể là vấn đề của bạn, không phải là chuỗi XML hoặc Java nói chung.

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