LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
You are reading "Goobar," an Android development newsletter exploring the latest tools, tips, and trends from the world of Android. We're dedicated to helping you learn and grow in your career as an Android developer, so if you like what you see, be sure to subscribe.
In the spirit of sharing our dev toolboxes, I want to share a handful of the tools that I use and find helpful during my day to day work as an Android developer, as well as some related/alternative tools to help provide some additional choices to you.
Oh My Zsh is an awesome tool for customizing, and superpowering, your command line. You can use it to configure the color scheme of your terminal, your bash prompt, you can add a git plugin to display your git repo information in your prompt, and many other things. In particular, I find that having my git repository info as a part of my prompt is incredibly helpful.
When I want to reference Material Design guidelines, look for a nice color palette, or find accessibility guidance, Material.io is a great place to start. In particular, I find the Color Tool to be really helpful.
Postman is a really powerful tool for api development and testing. For me, I tend to use it as a more GUI based Curl alternative. It makes building a request very simple when UI elements dedicated towards adding requests, add request body data, authentication, and more. It also provides a request history, and enables you to save requests for later. You can create team workspaces and share these requests with others. On a large team with multiple apis to work on, this can be a really valuable asset.
Hi, weird issue. I am using the nRF toolbox to connect the nRF52832 (configured for HRM) for use on android. The thing is, on my personal phone ( Samsung galaxy s10+) everything is working as expected and fine. I have a dev phone (no SIM card atttached), a samsung Galaxy A10, that i try to run the same thing on, no changes. It cannot find the Ble device. I used nRF connect to try and find it but no luck, it can see a lot of other devices though. The A10 dev phone has been completely updated to most recent software, and is connected to wifi. It can even grab a gps location, I have tested it. What should I do?
Yes. I went into settings and gave the app full permissions manually. I'm pretty sure You don't need to request permission to access Bluetooth as it is a normal permission. Nonetheless, I have accepted any request given on said device. And yes i have disconnected the other phone from the nrf device.
hi simon, yes this is a sparkfun nrf52832 breakout board. The board is advertising, it can be seen on the bluetooth menu of another phone, i can check with a 3rd phone if need be but I'm fairly certain that is not the problem. The chip is programmed with the ble_app_hrs example. The galaxy A10 can see other devices with the nRF connect and can see my personal phone and some other bluetooth devices, just not the board. This is where i'm stumped. I restarted the phone, updated the software, turned bluetooth on and off, enabled bluetooth HCI snoop log, enabled show ble devices without names, all without luck. Not sure where to go next. I'll see if I can find it on a 3rd phone
Thanks for clarifying your predicament! Can you please go through these "fixes" for the Samsung Galaxy Bluetooth issues? Even though it says S10, the procedure should be rather similar on the A10 as well. In the meantime, I'll ask internally if anyone has had similar experiences using the Galaxy A10.
HTC Magic, rooted with CyanogenMod 5. Tried to install busybox using "Busybox Installer" from the Market, ended up with a strangely borked system. Android does not boot, freezes on the splash screen. ADB shell, however, works. On the other hand, almost none of the commands work.
/system/bin/toolbox is there, but it refuses to do most useful commands with a uniform message "No such tool". Ls, cp, mount, chmod, chown - "No such tool". Experimentally I found that set, ps, kill, reboot work. Is there a list of toolbox commands out there?
EDIT: funny data point. When I boot into recovery, I still can do ADB shell. And I get a completely different environment - there's command line with ls, busybox (!) and stuff. /system is almost empty. From that environment, can I somehow go back to the regular /system? The mount command is available.
the 'toolbox' command in Android is a multi-function program. It encapsulates the functionalityof many common Linux commands (and some special Android ones) into a single binary. This makesit more compact than having all those other commands installed individually. However, the toolboxversions of these commands (e.g. 'ps', or 'ls') have less functionality than their full-sizedLinux counterparts.
vss = virtual set size = the total amount of memory allocated to this process by the CPUrss = resident set size = the amount of memory currently actually residing in main memory (vs. swap, orallocated but not actually instantiated yet), for a process.
The advent of smartphones featuring built-in GNSS receivers has revolutionized the field of positioning technology, granting users the ability to access accurate location data on a global scale. The development of cost-effective GNSS chips has sparked a significant revolution in the realm of positioning and navigation devices. The widespread availability of GNSS-enabled smartphones has opened up new and exciting opportunities across various domains, including but not limited to location-based services, transportation management, disaster response, and environmental monitoring. (Realini et al. 2017).
Zangenehnejad et al. (2023) offer a comprehensive examination of contemporary smartphone positioning research in their work. They delve into recent breakthroughs, existing challenges, and prospective outlooks in the field. The discussion encompasses the availability of raw GNSS measurements, especially with the advent of Android 7 and the creation of Android GNSS loggers. The paper underscores the significance of scrutinizing the quality of smartphone GNSS observations for achieving high-precision positioning. Furthermore, it sheds light on the hurdles associated with smartphone GNSS positioning, encompassing factors like observation quality, device variations, environmental influences, and algorithmic advancements.
With the ubiquity of smartphones and the increasing accuracy of GNSS receivers embedded in these devices, the demand for utilizing GNSS data from Android platforms in research and applications has grown. However, the proprietary nature of the raw GNSS data collected by Android devices often poses a challenge for researchers and developers seeking to integrate this data into standard GNSS processing workflows. Hence, there is a necessity to develop a tool facilitating the conversion of raw GNSS data obtained from smartphones into a standardized format, such as RINEX.
RINEX is widely recognized as the standard for storing GNSS data, enabling the seamless exchange of raw satellite measurements across various GNSS processing software platforms. RINEX is a data interchange format for raw satellite navigation system data used in the field of geodesy. It allows the storage of measurements of pseudorange, carrier phase, Doppler, and signal-to-noise from various satellite navigation systems, including GPS, GLONASS, Galileo, BeiDou, SBAS, QZSS, and IRNSS. RINEX files are the industry standard for GNSS data, enabling software-independent processing and sequential file combination (Romero 2020).
However, recent updates to the Google Application Programming Interface (API) for accessing raw data and enhancements to the GNSSLogger app (Raw GNSS Measurements 2023) have prompted the development of new conversion tools. These tools aim to accommodate the updated input data while maintaining backward compatibility with previous versions.
Hence, this article introduces raw_android_to_rinex, a Python toolbox designed to bridge this gap by facilitating the conversion of Android GNSS raw data to the widely used RINEX format, enabling seamless integration with existing GNSS processing tools. This tool would enhance interoperability within the GNSS community, ensuring efficient data sharing and utilization across different applications and systems.
In this section, we highlight key features of raw_android_to_rinex: compatibility with diverse Android devices, flexibility in handling various GNSS constellations, user-friendly interface for easy initiation, and its open-source nature, fostering collaboration and customization for users.
Flexibility: The toolbox provides flexibility in handling different GNSS constellations, including GPS, GLONASS, Galileo, BeiDou, SBAS, QZSS, and IRNSS. This flexibility ensures that researchers can work with data from a wide range of satellites.
Ease of Use: raw_android_to_rinex is designed with a user-friendly interface, making it accessible to both novice and experienced users. The conversion process can be initiated with a simple command, and the toolbox includes comprehensive documentation for guidance.
Having elucidated the comprehensive workflow of raw_android_to_rinex, it is imperative to underscore the seamless progression from data input through processing and RINEX conversion. The subsequent sections expound upon each pivotal stage, as depicted in Fig. 1, elucidating the intricacies involved in transforming raw GNSS data from Android devices into standardized RINEX files. This elucidation aims to provide a thorough understanding of the methodology employed, ensuring clarity for users and facilitating the optimal utilization of the designated tool.
To transform raw GNSS data from an Android device, the initial step involves capturing the data using an app equipped for this purpose. Presently, the tool accommodates data inputs from the logs of both the GEA and GNSSLogger apps. These apps save the raw data in a uniform format, aligning with the structure proposed by the GNSSLogger app. This standardized data input format ensures seamless compatibility, simplifying the conversion process and streamlining the utilization of raw GNSS data within the designated tool. For more details, please refer to Sect. 4.3 in the attached user manual of the tool.
c80f0f1006