No changes recorded yet. We compare every crawl with the previous one and list title, icon, screenshots, description, version, price and availability changes here.
Country availability
Availability has not been checked for this app yet. “Check all countries” looks the app up in about 140 Google Play storefronts and shows where it is live, listed but not installable, or missing — plus any country-specific (custom) store listings.
Top countries
🌍
Country data will be available soon.
We estimate where downloads come from using the app’s position in Google Play’s top charts in about 140 countries. This app is not in any chart we have collected yet; the estimate appears as soon as it is.
Top chart positions
Not in any tracked top chart.
App manifest
Read this app's manifest from Google Play: permissions, declared SDKs, components and AdMob app ID. Saved analysis appears here automatically.
Data safety
declared by the developer on Google Play
✓No data shared with third parties
✓No data collected
This is the developer's own declaration, summarised from the Play listing. The permissions below show what the app is technically able to access.
Permissions
6 in 2 groups
1 Sensitive1 Notable4 Routine
What this app can do with your phone
Use your camera to take photos and record videos
CameraSensitive1
Access to your camera to take photos and record video
Use your camera to take photos and record videostake pictures and videos · CAMERA
OtherNotable5
Access to miscellaneous device features that don't fit other categories
Keep your phone's processor or screen from going to sleep, which can use more batteryprevent device from sleeping · WAKE_LOCK
Check whether you are online and whether you use Wi-Fi or mobile dataview network connections · ACCESS_NETWORK_STATE
Connect to the internet to load content and send datafull network access · INTERNET
Make your phone vibratecontrol vibration · VIBRATE
Check with Google Play that you got this app legitimatelyGoogle Play license check · com.android.vending.CHECK_LICENSE
Sensitive = can reach personal data, location, camera/mic or act on your behalf. Notable = changes how your device behaves. Routine = normal for almost every app. Source: Google Play's permission list for all versions of this app.
1. Measuring Distance
Distance is the most fundamental AR measurement. It is calculated as the Euclidean distance between two 3D coordinates (Anchors) placed in the AR scene.
2. Measuring Area
To measure area, the user must place at least three anchors to form a polygon. Most AR area measurements assume the surface is a flat plane (2D surface in 3D space).
The Algorithm:
The most common approach is the Shoelace Formula (Surveyor's Formula). Since the points are in 3D, you should first project them onto a 2D plane (using the plane's normal) or ensure all points lie on the same detected AR Core Plane.
3. Measuring Volume
Volume is significantly more complex because it requires depth. There are two primary ways to approach this:
- Box Method (Extrusion):Measure the floor area (as described above) and then measure a vertical distance (height).
Formula: Volume = Area*Height
- Bounding Box Method: Use two diagonal corner points to define a 3D cube.
- Depth API (Advanced): Use AR Core to create a point cloud of an object and calculate volume via a convex hull or voxelization. This is much more accurate for irregular objects but requires a device with a Time-of-Flight sensor or high-quality depth support.
Since you're diving into the implementation, the real challenge in AR Core isn't just the math—it's the UX and precision. Measuring a 3D space on a 2D screen can be finicky for users.
Here is a breakdown of how to structure your Java logic for these features:
1. Distance (The Foundation)
To get a clean measurement, you should use Session hit Test() to place Anchors. Using anchors ensures that even if the camera drifts, the points stay "locked" to the physical world coordinates.
2. Area (Planar Geometry)
For area, users usually want to measure a floor or a wall. You should restrict your points to a single Plane. If the points are on the same horizontal plane (y values are nearly identical), you can ignore the y-axis and treat it as a 2D polygon calculation.
Implementation Tip: Store your points in a List. As the user adds a new point, dynamically update a "current area" preview. The Shoelace Formula is the standard here because it works for any non-self-intersecting polygon (irregular shapes).
3. Volume (The "Box" Method)
Calculating the volume of an arbitrary 3D object is very difficult without a LiDAR sensor. For a standard Java AR Core app, the most reliable way is the Extruded Polygon method:
1. Define the Base: User clicks points to define the floor area (A).
2. Define the Height: User clicks a point on the floor and drags a line upward, or clicks a point on the ceiling (h).
3. Calculate: V = A * h.
Pro-Tips for Accuracy
The Depth API: If the device supports it, enable the Raw Depth API. It allows you to perform hit-tests against "non-planar" objects (like a couch or a ball) which standard plane-finding might miss.
Smoothing: AR coordinates can jitter. Use a simple Moving Average Filter on the camera pose or the hit-test results to prevent the measurement numbers from jumping around rapidly.
Suggested Architecture
Measurement Manager: A singleton or helper class to store the list of active anchors.
Renderer: Handles drawing the lines and text labels in the AR overlay.
Unit Converter: A utility to toggle between Metric (meters/cm) and Imperial (feet/inches).
The application has, along with the specified functions, additional functions such as localization: English, Spanish, French, Bulgarian and German. Calculated distance, area and volume are in meters, which can be converted to centimeters, inches, feet.