2012-04-13 18 views
7

Ben bir üçüncü taraf kavanoz kullanan bir Android uygulaması geliştiriyorum. Bu kütüphane tarafından verilen HTTP isteklerini izlemek ve değiştirmek istiyorum. iOS altında, incelemek ve uygulamanın süreç içinde gerçekleşmesi herhangi bir ağ isteklerini işlemek bir özel NSURLProtocol sınıf kaydederek bunu yapabilir.Android'in iOS SDK'dan NSURLProtocol karşılığı nedir?

Android için benzer bir şey var mı? Kabul ediyorum, Android geliştirme konusunda yeniyim, ancak bu soruna yönelik çalışan bir çözüm bulamadı.

Bu jar için bir kaynağım yok ve onu ayıklamaya dayanamıyorum.

Ben araştırdı ettik birkaç şey:

  • Android ContentProvider. Çözüm işe yaramaz çünkü çözüm "içerik: //" istekleri değil "http: //" isteklerini desteklemelidir.
  • Özel bir org.apache.http.impl.client.DefaultHTTPClient sınıfı oluşturma. (Bu Peşinde olduğum istekleri için kullanılan temel ağ sınıftır.) Android bu sınıfın sistemi sürümünü önbelleğe ve her zaman o benim yerime yükler beri bu daha yüksek ayarlanmış olsa bile, işe yaramaz olduğunu görünüyor yük sıralamasında.

oldukça iyi Apache HTTP kütüphaneden yere baktım ve o bana çok iyi yapmaz HttpRequestInterceptor, HttpResponseInterceptor sınıflar gibi her türlü şeyi sahipken kütüphanesi DefaultHTTPClient örneği ve tayin başlatır beri Özel bir yöntemle erişimim olmayan özel bir yöntemle. Buradaki nihai amacım, birim test amaçları için bu talepleri izlemek ve değiştirmek. Gerçek taleplerin yayınlanmasını istemiyorum; Sahte bir cevap vermek istiyorum.

cevap

2

Maalesef şanstan yoksun: Android uygulamalarında kullanılabilen bu tür bir uygulama genelinde engelleme çerçevesi yok.

Benim önerim, istekleri engelleyen ve sahte yanıtınızı sağlayan bir proxy kurmak olacaktır.

İlgili konular