0

ここにあるAndroid APIをラップしようとしています https://github.com/noke-inc/noke-mobile-library-android/blob/c95e45aeba686ec4c5cca932c9b47240d0ebc9cd/README.md

私はすべてを理解したと思う この行を受け入れる

public void onServiceConnected(ComponentName className, IBinder rawBinder) {

    //Store reference to service
    mNokeService = ((NokeDeviceManagerService.LocalBinder) rawBinder).getService();

そして、これはアクセスする API コードです。ジャワ

    public class LocalBinder extends Binder{
        public NokeDeviceManagerService getService(){
            return NokeDeviceManagerService.this;
        }
}

私が現在pyjniusでやろうとしていることはこれです

NokeDeviceManagerService = autoclass('com.noke.nokemobilelibrary.NokeDeviceManagerService')
NokeDevice = autoclass('com.noke.nokemobilelibrary.NokeDevice')
NokeMobileError = autoclass('com.noke.nokemobilelibrary.NokeMobileError')
NokeServiceListener =autoclass('com.noke.nokemobilelibrary.NokeServiceListener')

class ServiceConnection(PythonJavaClass):
    __javainterfaces__ = ('android.content.ServiceConnection')
    __javacontext__ = 'app'

    @java_method('(Landroid/content/ComponentName;Landroid/os/IBinder;)V')
    def onServiceConnected(className, rawBinder):
        nokeDeviceManagerService = NokeDeviceManagerService()
        nokeService = cast(nokeDeviceManagerService.LocalBinder,rawBinder)
        mNokeService = nokeService.getService()
        #mNokeService = ((NokeDeviceManagerService.LocalBinder)rawBinder).getService()

        mNokeServiceListener = NokeServiceListener()
        mNokeService.registerNokeListener(mNokeServiceListener)

        mNokeService.startScanningForNokeDevices()

このステップで何をすべきか迷っています。サービスを結合する例はあまりありません。

NokeDeviceManagerService クラス内には、これがあります

public class NokeDeviceManagerService extends Service {
   .
   .
   .
   /**
     * Class for binding service to activity
     */
    public class LocalBinder extends Binder{
        public NokeDeviceManagerService getService(){
            return NokeDeviceManagerService.this;
        }
}

そして、エラー AttributeError: 'com.noke.nokemobilelibrary.NokeDeviceManagerServic' object has no attribute 'LocalBinder' が表示されます

4

0 に答える 0