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

Настройка Dagger 2 - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как в адаптивном дизайне Android Studio сделать так, чтобы графические элементы (различные кнопки, поля ввода http://www.cyberforum.ru/android-dev/thread1671859.html
могли находится на одной линии?
Программирование Android Обновление виджета в заданное время Добрый день! Подскажите как можно заставить обновляться виджет не раз в сутки (с помощью updatePeriodMillis), а в заданное время, хочу что бы обновлялся в 0:00 ровно http://www.cyberforum.ru/android-dev/thread1671832.html
Программирование Android При покупке ошибка "Не удалось купить этот продукт. (Код ошибки : IAB-DPTL)"
Пробую подключить покупки к своему приложению и столкнулся с вышеописанной ошибкой. Код использовал из официальной документации. IInAppBillingService mService; private String myPublicKey="oui4Wd2ZFy7WF5kIv6dTUA2JiRwpETqgqP5GHO0xAB+GEAzk/KS5H4cPD2YA5aA+"; Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), "coin3", "inapp", myPublicKey); PendingIntent pendingIntent =...
Программирование Android Получение значения checkBox
Приветствую. Подскажите, плиз. У меня есть некий сервис. Так же есть активити с настройками программы. В этом активити есть чекбоксы. Как мне из сервиса получить информацию о состоянии этих чекбоксов?
Программирование Android Как поменять цвет нажатой кнопки в runtime? http://www.cyberforum.ru/android-dev/thread1671308.html
Надо для кнопки менять цвета в нажатом/ненажатом состоянии. Во время работы программы. Цвет бордюра тоже надо менять. Как это делать?
Программирование Android Как нарисовать анимированную линию Добрый день, форумчане. Есть интересная задача! Необходимо анимировано нарисовать стрелочку из одной точки к другой. Ясно, что программно, чтоб именно в определенный момент. Есть предложения как это можно сделать? подробнее

Показать сообщение отдельно
iceglen
24 / 24 / 2
Регистрация: 24.06.2013
Сообщений: 105

Настройка Dagger 2 - Программирование Android

27.02.2016, 17:45. Просмотров 248. Ответов 0
Метки (Все метки)

Есть простая activity.

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Spinner;
import android.widget.TextView;
 
import java.util.List;
 
import javax.inject.Inject;
 
import ru.niicps.beeradviser.BeerExpert;
import ru.niicps.beeradviser.R;
 
public class FindBeerActivity extends AppCompatActivity {
 
    @Inject
    BeerExpert beerExpert;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_beer);
    }
 
    public void onClickFindBeer(View view) {
        TextView brands = (TextView) findViewById(R.id.brands);
        Spinner color = (Spinner) findViewById(R.id.color);
 
        String beerType = String.valueOf(color.getSelectedItem());
        List<String> beers = beerExpert.getBrands(beerType);
        StringBuilder builder = new StringBuilder();
        for (String beer : beers) {
            if (builder.length() == 0) {
                builder.append(beer);
            } else {
                builder.append("\n").append(beer);
            }
        }
        brands.setText(builder.toString());
    }
}


Есть "сервис".

Кликните здесь для просмотра всего текста
Java
1
2
3
public interface BeerExpert {
    List<String> getBrands(String color);
}


Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class BeerExpertImpl implements BeerExpert {
 
    @Override
    public List<String> getBrands(String color) {
        List<String> brands = new ArrayList<>();
        if (color.equals("amber")) {
            brands.add("Jack Amber");
            brands.add("Red Moose");
        } else {
            brands.add("Jail Pale Ale");
            brands.add("Gout Stout");
        }
        return brands;
    }
}


Что мне нужно сделать, чтобы заинжектить сервис в активити? Пытался настроить самостоятельно, но не взлетело (сделал модуль и "компонент"). Вот как пытался сделать:

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
@Singleton
@Component(modules = BeerExpertModule.class)
public interface BeerComponent {
 
    BeerExpert provideBeerExpert();
}
Java
1
2
3
4
5
6
7
8
9
@Module
public class BeerExpertModule {
 
    @Provides
    @Singleton
    public static BeerExpert provideBeerExpert() {
        return new BeerExpertImpl();
    }
}


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