Frequently Asked Questions - List My Apps

(Stock)Android does not come with a filemanager because most users have trouble navigating directory trees. Adding a "save to file" option would result in files being created and immediately getting lost on many devices. Adding file management capabilities to the app would make the user interface too confusing for the casual user.

The template editor and the annotations both support variable expansion. The following variables will the expanded for every app item in both editors (note: case matters):

${packagename}

This is the unique key by which an app is identified. For example, the key for List My Apps is 'de.onyxbits.listmyapps'. The packagename plays a major role in finding apps on markets.

${displayname}

This is how the app identifies itself to the user. Unlike the packagename, the displayname is not required to be unique and an app may even have several displaynames (e.g. when translated into different languages).

${source}

A HTTP/HTTPS URL that will link to where the app was installed from (or Google search if no source could be determined).

${comment}

Whatever was entered as a comment in the "Annotations" screen.

${uid}

The user id that was assigned to the app by the Android system upon installation.

${version}

The version label of the app as it is shown to the user (e.g. a string like 'v2.1')

${versioncode}

Numerical (internal) version name of the app. The general contract is: the latest release has the highest number.

${firstinstalled}

The time (formated according to the system's locale setting) when the app was installed.

${lastupdated}

The time (formated according to the system's locale setting) when the ap was last updated.

${datadir}

Directory that was assigned to the app by the Android system for storing it's private files.

${targetsdk}

Version number of the Android platform, the app was designed to run on. The app may run on lower platform levels, but is guaranteed to run on higher ones.

${tags}

The tags, the app was annotated with.

${marketid}

Identifier of the market app that installed the app. For Google Play, this is 'com.google.vending'. Not all market apps set this. Sideloaded apps will always have an empty id.

${now}

The current time (when the list was created), formated according to the system's locale setting (Only available for headers/footers).

${count}

Number of apps in the list (Only available for headers/footers).

Tags can be assigned per app from the 'Annotations' screen. An app can have any number (including none) of tags which must be separated from each other by a comma (spaces around commas will be stripped away and ignored). Tags effectively group apps. Their main purpose is to select a collection of apps from the main screen.

Care should be taken in choosing tag names. Tags that are too specific to group apps are as useless as tags that are so general that they group all apps. Here are some suggestions:

Free

Apps that come free of charge.

Paid

Alternative to free.

Social

Apps that bind into social networking services or general communication apps.

System

Apps that perform system level duties (e.g. backup, firewall, etc) and other utilties

Must have

Apps that are simply required to make the device usable/useful

Game

All games. 

List My Apps only lists what you installed yourself. Anything that came pre-installed is excluded on purpose. The rationale behind this is that pre-installed apps are mostly system tools (often with cryptic names) with no download source or bloatware you wouldn't want to share with anyone anyways.

Android's packagemanager is to blame for this. It doesn't deliver faster. Unfortunately, the process can't be sped up since the entire list needs to be read in order to sort it alphabetically by name.