Как я могу использовать файл .apk в моем собственном приложении Android? - PullRequest
1 голос
/ 26 июня 2010

На developer.android.com я прочитал центральную функцию Android: вы можете использовать элементы других приложений в своем собственном приложении. Я заинтересован в этой строке.1) Как мы можем использовать .apk, загруженный предположительно с Android Market в наше приложение?2) Как мы можем использовать наше собственное созданное приложение во вновь созданном приложении?

, пожалуйста, дайте мне руководство по этому вопросу и, если возможно, образец фрагмента?

С уважением, Раджендар

Ответы [ 2 ]

1 голос
/ 26 июня 2010

Полагаю, вы имеете в виду , что :

Главная особенность Android состоит в том, что одно приложение может использовать элементы других приложений (при условии, что эти приложения разрешают это).Например, если ваше приложение должно отображать список прокрутки изображений, а другое приложение разработало подходящий скроллер и сделал его доступным для других, вы можете вызвать этот скроллер для выполнения работы, а не для разработки собственного.Ваше приложение не содержит код другого приложения или ссылку на него.Скорее, он просто запускает ту часть другого приложения, когда возникает необходимость.

Два последних предложения имеют решающее значение.И ссылка предоставляет больше информации об этом.Но вкратце: автор приложения может написать свой код таким образом, чтобы его можно было использовать повторно для других.Он / она может сделать это, вставив «фильтры намерений» в * / 1009 * своего приложения.Например, приложение «Камера Google» (которое также предоставляет функции камеры и галерею изображений - да, приложение может «выставлять» множество «точек входа» = значков на домашнем экране) имеет определение активности (одно из многих) следующим образом:

<activity android:name="CropImage" android:process=":CropImage" android:configChanges="orientation|keyboardHidden" android:label="@string/crop_label">
    <intent-filter android:label="@string/crop_label">
        <action android:name="com.android.camera.action.CROP"/>
        <data android:mimeType="image/*"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.ALTERNATIVE"/>
        <category android:name="android.intent.category.SELECTED_ALTERNATIVE"/>
    </intent-filter>
</activity>

Это означает, что можно использовать функцию обрезки изображения, отправив намерение:

/* prepare intent - provide options that allow 
Android to find functionality provider for you;
will match intent filter of Camera - for matching rules see: 
http://developer.android.com/guide/topics/intents/intents-filters.html#ires */
Intent i = new Intent("com.android.camera.action.CROP");
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setType("image/*");
/* put "input paramters" for the intent - called intent dependent */
i.putExtra("data", /*... Bitmap object ...*/);
i.putExtra( /*... other options, e.g. desired dimensions ...*/ );
/* "call desired functionality" */
startActivityForResult(i, /* code of return */ CROPPING_RESULT_CODE);

CROPPING_RESULT_CODE, которое можно определить в своей деятельности, используется для определения того, какая внешняя активность вернулась (полезно, если вызывается несколько внешних функций) и предоставляется в методе вызова onActivityResult(), который вызывается при завершении «удаленного» приложения - ниже пример:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case CROPPING_RESULT_CODE:
        /* ... crop returned ... */
        if (data != null) {
            /* get cropped bitmap */
            Bitmap bmp = data.getParcelableExtra("data");       
            /* ... and do what you want ... */
        }
    case ANOTHER_RESULT_CODE:
        /* ... another external content ... */

    }
}

Используются другие варианты: другие службы или ContentProviders..

Если у вас есть еще вопросы, не стесняйтесь.

0 голосов
/ 26 июня 2010

Android использует Intents , чтобы позволить программному запросу работать, находясь в других приложениях. См. мой ответ на этот вопрос для получения более подробной информации об Intents и примере того, как ваше приложение может попросить приложение Browser отобразить веб-страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...