2016-07-01 31 views
12

Tôi đang tạo ứng dụng sử dụng AsyncTask để hiển thị thanh tiến trình khi thực hiện thao tác mạng (Google dịch). Tuy nhiên, vấn đề là tôi không thể biết nó có hoạt động hay không vì mạng quá nhanh và nó kết thúc chạy hoạt động ngay sau khi tôi khởi động nó. Vì vậy, có một cách để mô phỏng một mạng chậm để tôi có thể biết nếu thanh tiến trình sẽ thực sự chạy (có thể nhìn thấy) khi nó chờ đợi cho các hoạt động được hoàn thành? Tôi đã gặp các tùy chọn mạng khi tạo trình giả lập Android. Tuy nhiên, có rất nhiều chữ viết tắt mà tôi vẫn gặp khó khăn khi hiểu điều gì cho thấy kết nối mạng chậm và tôi vẫn không chắc chắn nếu đó là cách tôi nên thiết lập một kết nối mạng chậm.Mô phỏng mạng chậm trên trình mô phỏng Android

Cảm ơn trước!

+1

Bạn sử dụng Hệ điều hành nào cho trình giả lập? – Anessence

+0

Tôi đang sử dụng Android –

+0

OSX hoặc Windows? – Anessence

Trả lời

19

Trình mô phỏng cho phép bạn mô phỏng các điều kiện mạng khác nhau. Bạn có thể ước tính tốc độ mạng cho các giao thức mạng khác nhau hoặc bạn có thể chỉ định Đầy đủ, truyền dữ liệu nhanh như máy tính của bạn cho phép.

Chỉ định giao thức mạng luôn chậm hơn Toàn bộ. Bạn cũng có thể chỉ định trạng thái mạng thoại và dữ liệu, chẳng hạn như chuyển vùng. Mặc định được đặt trong AVD.

Chọn loại mạng:

  • GSM - Global System for Mobile Communications
  • HSCSD - High-Speed ​​Circuit-Switched Data
  • GPRS - Generic Packet Radio Service
  • EDGE - Enhanced Data tỷ giá cho GSM Evolution
  • UMTS - Hệ thống viễn thông di động toàn cầu
  • HSPDA - Tốc độ cao đường xuống Pa cket Truy cập
  • Full (mặc định)

GPRS (114Kbps) < EGDE (368Kbps) < 3G (3.1Mbps) < HSDPA (14Mbps) < HSPA + (168Mbps) < 4G/LTE (299.6Mbps)

Chọn trạng thái Voice, tình trạng dữ liệu, hoặc cả hai:

  • Trang chủ (mặc định)
  • Roaming
  • Tìm kiếm
  • Denied (gọi khẩn cấp chỉ)
  • Khách (off)

Để biết thêm thông tin, xem https://developer.android.com/studio/run/emulator.html#extended

+0

Xin cảm ơn! Tôi đã thực sự trên trang này trước đó, nhưng ngay cả sau khi tôi tìm kiếm các loại mạng tôi vẫn không biết cái nào là chậm nhất. Khi tôi thử nghiệm nó, nó vẫn có vẻ khá nhanh. –

2

Với telnet trên dòng lệnh, bạn có thể kết nối với trình mô phỏng của mình và thay đổi tốc độ mạng của thiết bị.

telnet localhost <<port of device>> 
network speed <<network speed, ex: edge, full>> 

Bạn có thể nhận cổng cho thiết bị từ phía trên cùng của cửa sổ trình mô phỏng.

Bạn có thể sử dụng bất kỳ tốc độ nào trong số android docs here. Id đề xuất cạnh cho tốc độ chậm

Nếu bạn đang ở trên cửa sổ, bạn sẽ phải thiết lập telnet, bạn có thể tìm chỉ đường để làm như vậy trong this SO post.

+0

Cảm ơn! Vì vậy, tôi chạy các lệnh sau khi tôi khởi chạy ứng dụng của tôi trong trình mô phỏng? Và đối với tốc độ mạng, tôi nên cung cấp thông số nào để làm cho nó chậm? Cảm ơn! –

+0

Yup, chỉ cần chạy hai lệnh này trong dòng lệnh sau khi trình giả lập của bạn đang chạy (bạn không cần ứng dụng của mình được bật lên). Để làm cho nó chậm tôi khuyên bạn nên sử dụng "cạnh" như tốc độ. Có vẻ như liên kết đến tốc độ không được định dạng đúng để Ill sửa chữa số –

3

Trong OS X, bạn có thể sử dụng Network Link Conditioner, rất hữu ích. Đây là một liên kết làm thế nào để sử dụng nó và làm thế nào để cài đặt. Nó sẽ ảnh hưởng đến tất cả các chương trình sử dụng mạng.

http://nshipster.com/network-link-conditioner/ enter image description here

Ngoài ra bạn có thể gửi tất cả lưu lượng đến proxy và sử dụng throttling. Tôi đã sử dụng Charles (Dùng thử miễn phí 30 ngày, thương mại) https://www.charlesproxy.com/

+0

Cảm ơn! Liệu nó cũng làm việc trên giả lập Android? hoặc là nó tốt vì tôi đang chạy giả lập Android của tôi trên một mac? –

+0

Nó mô phỏng mạng xấu cho mọi thứ đang chạy trong OSX. Tương tự cho proxy. – Anessence

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