sobota, 27 lipca 2013

Aplikacja PackageAssistantPro cz.2

Rozszerzając temat  postu "Aplikacja PackageAssistantPro"

Jeśli mamy już gotowy zestaw ikon (rozmiary) to umieszczamy ikony w folderze np o nazwie icons w zależności od tego jaka ścieżka została podana w deskryptorze aplikacji.

W systemie przewidziano mechanizm rozwiązujący problem zróżnicowania rozmiaru ekranów urządzeń poprzez zastosowanie klasy urządzeń dot. rozdzielczości. Parametry takie jak np rozmiar bardzo wysoki, wysoki, śred
ni, mały którym odpowiadają konkretne specyfikacje  np WQVGA400 dla średniej wielkości ekranu o niskiej rozdzielczości. Ustawienia te znajdują się w pliku AndroidManifest gdzie są wskazywane typy ekranów z jakimi pracuje nasza aplikacja także dotyczy to zestawu ikon, które zawarte w aplikacji powinny być umieszczane w odpowiednich folderach wskazując na rozdzielczość ekranu, dla jakiej aplikacja jest przeznaczona.



Poniżej przykładowy plik manifest z apka (opis aplikacji)

<?xml version="1.0" encoding="utf-8"?>
<manifest package="air.air.test2" android:versionCode="1000000" android:versionName="1.0.0" android:installLocation="auto"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:label="test2" android:icon="@drawable/icon" android:enabled="true">
        <activity android:theme="@android:style/Theme.NoTitleBar" android:label="test2" android:name=".AppEntry" android:excludeFromRecents="false" android:launchMode="singleTask" android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateHidden|adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="aspectRatio" android:value="landscape" />
            <meta-data android:name="autoOrients" android:value="false" />
            <meta-data android:name="fullScreen" android:value="true" />
            <meta-data android:name="uniqueappversionid" android:value="8bae27c1-1785-4e62-84c0-f56b1fdad8f2" />
            <meta-data android:name="initialcontent" android:value="test2.swf" />
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="5" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true" />
</manifest>


Poniżej zawartość pliku -deskryptor aplikacji (XML) uwzględniający zestaw ikon

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/2.5">
    <id>air.Aplikacja</id>
    <filename>Aplikacja</filename>
    <name>Aplikacja</name>
    <versionNumber>1.0.0</versionNumber>
    <initialWindow>
        <content>movie.swf</content>
        <aspectRatio>landscape</aspectRatio>
        <autoOrients>false</autoOrients>
        <fullScreen>true</fullScreen>
        <renderMode>gpu</renderMode>
        <title>Aplikacja</title>
        <visible>true</visible>
    </initialWindow>


    <supportedProfiles>mobileDevice</supportedProfiles>

    <android>

        <manifestAdditions><![CDATA[
            <manifest android:installLocation="auto">

                <uses-permission android:name="android.permission.INTERNET"/>

                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

                <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

                <uses-feature android:required="true"
android:name="android.hardware.touchscreen.multitouch"/>

                <application android:enabled="true">

                    <activity android:excludeFromRecents="false">

                        <intent-filter>

                            <action android:name="android.intent.action.MAIN"/>

                            <category android:name="android.intent.category.LAUNCHER"/>

                        </intent-filter>

                    </activity>

                </application>

            </manifest>

        ]]
></manifestAdditions>

    </android>

   <icon>
        <image128x128>icons/appIcon_128.png</image128x128>
        <image48x48>icons/appIcon_48.png</image48x48>
        <image32x32>icons/appIcon_32.png</image32x32>
        <image16x16>icons/appIcon_16.png</image16x16>
    </icon>

    <fileTypes/>

    <version>1.0</version>

</application>



 Wczytanie pliku deskryptora aplikacji z zestawem ikon