Android — Как использовать включенные библиотечные проекты в вашем main и вызывать их действия

#android #android-activity #include #project

#Android #android-активность #включить #проект

Вопрос:

У меня есть несколько проектов, которые я пытаюсь объединить в один, и я уже включил все остальные проекты в качестве библиотечных через настройки. На чем я вроде как зациклился, так это на том, как использовать их в моей основной деятельности.

Я немного повозился и чувствую, что у меня почти получилось, но я просто застрял. Я знаю, что должен объявлять все новые activities в главном манифесте, но я не уверен, что включать в main.java activity для вызова из недавно включенного материала.

Это то, что я мог бы выяснить, просмотрев демоверсии Android api, которые поставляются с sdk?

Может ли кто-нибудь указать мне где-нибудь на проект с открытым исходным кодом и объяснить процесс, используемый для включения библиотечных проектов.

Любая помощь была бы высоко оценена.

Комментарии:

1. Хорошо, итак, я понял, что ….. да, вы можете увидеть пример того, как включать действия внутри ApiDemoManifest.xml файл из образцов, включенных в sdk. Однако теперь мне нужно выяснить, как использовать включенные действия в основном действии.

Ответ №1:

Используете ли вы eclipse для управления своими настройками? На самом деле это не имеет значения, но проще убедиться, что пути к вашим библиотекам установлены правильно и доступны вызывающему проекту.

Предполагая, что они доступны, вы просто получаете доступ к классам в библиотеке, как к любому другому классу: импортируете пакет и создаете экземпляр класса, как обычно. Для действия Android это означает, что вы, скорее всего, создадите действие из библиотеки на основе некоторого ответа от вашего основного действия. Не имеет значения, является ли это действие локальным для этого проекта или импортировано из библиотеки. например:

 // import the activity/package/class from your library
import com.mylibrary.activities.ImportedActivity;


public class LocalActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // Button Code
        button = (ImageView) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // create a new intent based on your library activity
                Intent myIntent = new Intent(v.getContext(), ImportedActivity.class);
                startActivityForResult(myIntent, 0);
            }
        });
}
  

обратите внимание, я не пытался скомпилировать приведенный выше код, это просто в целях демонстрации.

Если в eclipse ссылки на ваши библиотеки указаны правильно, это должно сработать. В противном случае вы получите ошибки либо при импорте внешних библиотек (пакет не найден), либо при ошибках сборки, когда требуется фактическая библиотека.

Комментарии:

1. Ок, круто …. да, я использую eclipse. Итак, все, что мне нужно сделать, это включить пакеты из библиотек, которые я импортировал, с помощью инструкций import, а затем я должен иметь возможность запускать их действия, используя намерение?

2. Да, я должен упомянуть, однако, что для вам нужно будет объявить все действия, которые вы планируете использовать в вашем файле манифеста. Ничем не отличается от того, что было бы, если бы activities создавались локально, но этот шаг часто упускается из виду. например: <activity android:name="com.mylibrary.activities.ImportedActivity"></activity>

3. Потрясающий человек. Я попробую это, когда вернусь и дам вам знать, как у меня получается. По какой-то причине я предполагал, что это будет намного сложнее, чем это: P

4. Хорошо, итак, я попробовал что-то похожее на код, который вы использовали в качестве примера выше, но он не выполняет правильное действие для запуска действия. Должен ли я устанавливать возвращаемое действие или что-то в этомроде?

5. Вы добавили действие в файл манифеста библиотеки? например: <manifest> ... <application> ... <activity android:name="LibraryActivity" /> ... </application> </manifest>