Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
lavan
52 / 52 / 1
Регистрация: 21.03.2009
Сообщений: 371
#1

AIDL - Программирование Android

07.03.2012, 23:34. Просмотров 1108. Ответов 1
Метки нет (Все метки)

народ,помогите разобраться. пытаюсь сделать AIDL,работаю в netbeans. делаю простейший интерфейс, компилятор его принимает и генерирует заглушку. реализую интерфейс
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MService extends Service{
 F.Stub mrmi=new F.Stub() {//F-это интерфейс
 
        public int getId() throws RemoteException {
            return 1;
        }
 
        public void show(int id, String str) throws RemoteException {
            System.out.println(" "+getId()+" "+str);
        }
    };
public IBinder onBind(Intent mint){
    return mrmi;
}
}
В манифесте так
XML
1
2
3
4
5
<service android:name=".MService">
            <intent-filter>
                <action android:name="com.andrey.androidservicermi.F"/>
            </intent-filter>
        </service>
на клиенте делаю так: вставляю aidl файл и
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sc=new ServiceConnection(){
            public void onServiceConnected(ComponentName cn,IBinder binder){
            mr=F.Stub.asInterface((IBinder)binder);
            }
           public void onServiceDisconnected(ComponentName cm){
             mr=null;
           }
        };
        boolean flag=bindService(new Intent("com.andrey.androidservicermi.F"),sc,
                this.BIND_AUTO_CREATE);//возвращается тру
        try{
            Integer id=mr.getId();//метод не вызывается
            tv.setText(id);
        }catch(android.os.RemoteException e){
            tv.setText(e.getMessage());
        }
 
    }
    public void onDestroy(){
        super.onDestroy();
        unbindService(sc);
    }
Приложение закрывается операционной системой.проходил дебагером к сервису подключается а методы не вызываются.Может кто нибудь объяснить почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 23:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос AIDL (Программирование Android):

Запускаю проект "Hellow world" в андроид студии пишет aidl is missing - Программирование Android
Решил начать учиться программированию на Android. Посмотрел несколько видео по установке Android Studio. Все вроде установилось, но вот...

Запускаю проект "Hellow world" в андроид студии пишет aidl is missing - Программирование Android
Решил начать учиться программированию на Android. Посмотрел несколько видео по установке Android Studio. Все вроде установилось, но вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lavan
52 / 52 / 1
Регистрация: 21.03.2009
Сообщений: 371
10.03.2012, 14:34  [ТС] #2
Проследив все в дебаге,сбой происходит в
Java
1
2
3
public void onServiceConnected(ComponentName cn,IBinder binder){
            mr=F.Stub.asInterface(binder);
            }
происходит вызов и инициализация, но не выходит из неё. Может ли это быть от того,что работаю в эмуляторе и просто выход берет больше времени?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru