Skip to content

App Configuration

App Configuration in Shipedge Warehouse Pro refers to how the app stores and manages settings, preferences, and system information. The app uses a combination of local database storage, in-memory variables, and system settings to configure behavior.

Understanding app configuration helps you know what settings are stored, how they’re managed, and where to find configuration information when troubleshooting.

The app uses three main types of configuration storage:

SQLite Database

Permanent settings stored locally on your device. Includes warehouse connection info, capacity, tray settings, and login date.

In-Memory Variables

Temporary settings loaded during app use. Includes user ID, picking preferences, and current session data.

System Configuration

Android system settings from AndroidManifest.xml. Includes app permissions, activity configurations, and device capabilities.


The app stores permanent configuration in a local SQLite database table called Settings. This table is created automatically when you first open the app.

The Settings table contains these fields:

nameWarehouse (Text)

  • Your warehouse identifier
  • Set during initial setup
  • Used to connect to the correct warehouse server

status (Text)

  • Values: “ON” or “OFF”
  • Only one warehouse can have status “ON” at a time
  • Determines which warehouse configuration is active

keyWh (Text)

  • Warehouse authentication key
  • Set during initial setup
  • Used to authenticate with the warehouse server

externalOrder (Text)

  • Values: “Y” or “N”
  • Determines if external order integration is enabled
  • Set during initial setup or when changing warehouse

tray (Integer)

  • Default: 0
  • Determines if tray functionality is used in Quality Control
  • Loaded from server when you log in

capacity (Text)

  • User capacity setting
  • Loaded from server when you log in
  • Used in various operations to limit quantities

dateLoguin (Text)

  • Date of last login
  • Format: “YYYY-MM-DD”
  • Updated automatically when you log in

When the app starts (ReplenishmentActivity.java):

  1. Check for Settings: App checks if Settings table exists and has data
  2. Load Active Settings: Queries for warehouse with status “ON”
  3. Apply Configuration: Loads settings into memory variables
  4. Update Variables: Sets Users.warehouse, Users.capacity, Users.tray, etc.

If no settings exist, the app shows the settings window automatically.


The app uses static variables in the Users class to store current session configuration:

userId (String)

  • Current user ID from server
  • Set during login
  • Used for all API requests

userName (String)

  • Current user name
  • Set during login
  • Displayed in app interface

token (String)

  • Authentication token
  • Set during login
  • Used for API authentication

doublePick (String)

  • Default: “no”
  • Values: “no” or “yes”
  • Determines if double picking is enabled
  • Set by server based on user permissions

pickRoute (String)

  • Default: “bin”
  • Values: “bin” or “location”
  • Determines picking route type
  • Set by server based on warehouse configuration

batchSerial (Boolean)

  • Default: true
  • Determines if batch serial number entry is enabled
  • Used in picking and packing operations

warehouse (String)

  • Current warehouse identifier
  • Loaded from Settings table
  • Used in all API requests

capacity (String)

  • User capacity limit
  • Loaded from Settings table
  • Used to limit quantities in operations

recount (String)

  • Default: “1”
  • Number of recount attempts allowed
  • Used in cycle count operations

tray (Integer)

  • Default: 0
  • Determines if tray functionality is used
  • Loaded from Settings table
  • Used in Quality Control operations

localhost (String)

  • Default: “192.168.2.104”
  • Used for local development/testing
  • Not used in production

The app stores device information in the Device class:

serialDevice (String)

  • Unique device serial number
  • Obtained from Android system
  • Used for device identification

appVersion (String)

  • Current app version
  • Example: “25.7.1”
  • Set in AndroidManifest.xml

systemVersion (String)

  • Android OS version
  • Obtained from Android system
  • Used for compatibility checks

currentActivity (String)

  • Currently active Activity name
  • Default: “login”
  • Updated as you navigate

dateLoguin (String)

  • Date of last login
  • Loaded from Settings table
  • Format: “YYYY-MM-DD”

keyWh (String)

  • Warehouse key
  • Loaded from Settings table
  • Used for authentication

token (String)

  • Authentication token
  • Set during login
  • Used for API requests

listActivity (String)

  • Comma-separated list of available activities
  • Default includes: Wall, Inventory control, Pick and pack, Quality control, Cycle count, Blind count, Returns, Replenishments, Labels out verify, Label ready, Transfers(Torch), Project Clock, Lpn, Load and move
  • Determined by user permissions from server

The app configuration in AndroidManifest.xml includes:

Package Name: shipedge.rep

  • Unique identifier for the app

Version Code: 203

  • Internal version number for updates

Version Name: 25.7.1

  • User-visible version number

App Icon: @drawable/logoshipedge

  • App icon displayed on device

App Label: @string/app_name

  • App name displayed to users

The app requires these Android permissions:

Network Permissions:

  • INTERNET - Connect to warehouse server
  • ACCESS_NETWORK_STATE - Check network availability
  • ACCESS_WIFI_STATE - Check WiFi status
  • CHANGE_WIFI_STATE - Modify WiFi settings
  • CHANGE_NETWORK_STATE - Modify network settings

Bluetooth Permissions:

  • BLUETOOTH - Use Bluetooth features
  • BLUETOOTH_ADMIN - Manage Bluetooth connections
  • BLUETOOTH_CONNECT - Connect to Bluetooth devices

Hardware Permissions:

  • CAMERA - Use device camera
  • VIBRATE - Use device vibration
  • READ_PHONE_STATE - Read device information
  • WRITE_EXTERNAL_STORAGE - Save files to device storage

Other Permissions:

  • com.google.android.gms.permission.AD_ID - Google Play Services

All activities are configured with:

Screen Orientation: portrait

  • App only supports portrait mode
  • Prevents rotation during use

Theme: Theme.AppCompat.NoActionBar or AppTheme

  • Consistent app appearance
  • Material Design components

Window Soft Input Mode: Various settings

  • Controls keyboard behavior
  • Examples: adjustPan, adjustNothing, stateAlwaysHidden

Launch Mode: singleTop (for some activities)

  • Prevents multiple instances
  • Used for main activities like MyRep

  1. First Launch

    When you open the app for the first time, it checks for the Settings table in the local database.

  2. Settings Window Appears

    If no settings exist, the settings window appears automatically. You must enter warehouse name and key to continue.

  3. Settings Saved

    When you tap “Proceed”, settings are saved to the Settings table with status “ON”.

  4. Configuration Loaded

    Settings are loaded into memory variables (Users.warehouse, Users.capacity, etc.).

  5. Login Process

    App connects to server using warehouse settings and loads user-specific configuration.

When Settings Change:

  • Warehouse Switch: If you change warehouse, new settings are saved and old warehouse status is set to “OFF”
  • Login: User-specific settings (capacity, tray, etc.) are loaded from server
  • Session: In-memory variables are updated based on server response

Settings Persistence:

  • Database settings persist between app sessions
  • In-memory variables reset when app closes
  • System configuration only changes with app updates

Keep Settings Current

Settings are loaded automatically, but ensure your warehouse name and key are correct. Incorrect settings prevent login.

Don't Modify Database Directly

The Settings table is managed by the app. Don’t modify it directly - use the settings window instead.

Check Permissions

Ensure all required permissions are granted. Missing permissions can prevent features from working.

Verify Warehouse Key

Warehouse key is case-sensitive. Enter it exactly as provided by your administrator.

Update App Regularly

App updates may include configuration changes. Keep the app updated to latest version.

Backup Settings

Settings are stored locally. If you reset your device, you’ll need to reconfigure warehouse settings.


Problem: Settings window doesn’t save your configuration.

Solutions:

  • Ensure warehouse name is not empty
  • Verify warehouse key is correct
  • Check device storage space
  • Restart the app and try again
  • Clear app data if problem persists (you’ll need to reconfigure)

Problem: App doesn’t load your saved settings.

Solutions:

  • Check if Settings table exists in database
  • Verify warehouse status is “ON” in database
  • Check device storage permissions
  • Restart the app
  • Reconfigure settings if needed

Problem: App connects to wrong warehouse or uses wrong settings.

Solutions:

  • Verify warehouse name matches your account
  • Check warehouse key is correct
  • Ensure only one warehouse has status “ON”
  • Reconfigure settings if needed

Problem: Features requiring permissions don’t work.

Solutions:

  • Check Android Settings → Apps → Shipedge Warehouse Pro → Permissions
  • Grant all required permissions
  • Restart the app after granting permissions
  • Check Android version compatibility

Problem: User-specific settings (capacity, tray) don’t match server.

Solutions:

  • Log out and log back in to refresh settings
  • Check server configuration matches app settings
  • Verify user permissions on server
  • Contact administrator if settings don’t match

The Settings table is created with this SQL:

CREATE TABLE IF NOT EXISTS Settings(
Id INTEGER PRIMARY KEY,
nameWarehouse TEXT,
status TEXT,
keyWh TEXT,
externalOrder TEXT DEFAULT 'N',
tray INTEGER DEFAULT 0,
capacity INTEGER DEFAULT 1,
dateLoguin TEXT DEFAULT '0000-00-00'
)

Settings are loaded in ReplenishmentActivity.java:

select = dB.rawQuery("SELECT *FROM Settings WHERE status='ON'", null);
if(select.moveToFirst()){
warehouse = select.getString(1);
keyWh = select.getString(3);
Users.tray = select.getInt(5);
Users.capacity = select.getString(6);
Device.dateLoguin = select.getString(7);
Users.warehouse = select.getString(1);
Device.keyWh = keyWh;
if(select.getString(4).equals("N"))
externalOrder = false;
else
externalOrder = true;
}

Settings Management: ReplenishmentActivity.java

  • Creates Settings table
  • Manages settings window
  • Loads and applies configuration

User Variables: Users.java

  • Static variables for current session
  • Updated during login
  • Used throughout app

Device Information: Device.java

  • Device-specific information
  • App version and system info
  • Activity list

Next Steps:

Related Activities:

  • ReplenishmentActivity.java - Manages Settings table and configuration loading
  • Users.java - Stores user configuration variables
  • Device.java - Stores device information
  • AndroidManifest.xml - System-level app configuration

App Configuration manages how Shipedge Warehouse Pro stores and applies settings:

Database Storage - Permanent settings in SQLite Settings table
Memory Variables - Temporary session configuration in Users class
Device Info - Device and app information in Device class
System Config - Android permissions and activity settings
Automatic Loading - Configuration loads automatically on app start
Server Sync - User-specific settings loaded from server during login

Configuration happens automatically, but understanding how it works helps troubleshoot issues and ensures settings are correct.