SORU
28 NİSAN 2010, ÇARŞAMBA


Android ™ Java ve Javascript arasındaki iletişim?

Olası (™) Javascript, Java yöntemleri aramak olduğuna inanıyorum.

Herkes bunu nasıl biliyor?? (™Kaynak kodunu değiştirerek bunu nasıl biliyorum, ama bunu önlemek anlatmak istiyorum

CEVAP
29 NİSAN 2010, PERŞEMBE


Sonunda bunu çalıştırabildim.

  • Kullanmak istediğiniz yöntem ile bir sınıf oluşturun

    public class MyClass {
      private WebView mAppView;
      private DroidGap mGap;
    
      public MyClass(DroidGap gap, WebView view)
      {
        mAppView = view;
        mGap = gap;
      }
    
      public String getTelephoneNumber(){
        TelephonyManager tm = 
          (TelephonyManager) mGap.getSystemService(Context.TELEPHONY_SERVICE);
        String number = tm.getLine1Number();
        return number;
      }
    }
    
  • Ana faaliyet eklenti bir Javascript bu sınıf için arayüz

    public class Main extends DroidGap
    {
        private MyClass mc;
    
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            super.init();
    
            mc = new MyClass(this, appView);
            appView.addJavascriptInterface(mc, "MyCls");
    
            super.loadUrl(getString(R.string.url));
        }
    }
    
  • Javascript arama penceresi.MyCls yöntemleri:

    <script>
      $(function(){
        $("#phone").text("My telephone number is: "   
                window.MyCls.getTelephoneNumber());
      });
    </script>
    

Not:

Açıklamada belirtildiği gibi, Android sürümü 4.2 ve üzeri, HTML sayfasından istediğiniz yöntemi @JavascriptInterface ekleyin. Reference.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009