Android

From 太極
Revision as of 20:23, 22 October 2023 by Brb (talk | contribs) (→‎Tethering)
Jump to navigation Jump to search

SDK

http://developer.android.com/sdk/index.html#ExistingIDE

Redhat

At the step of Running your app I cannot run app from Eclipse. The command line way does not work.After several tries, it seems the RHEL does not have an updated Ant package (currently it is 1.7 but I need 1.8). Give up.

Ubuntu

Download the bundle version. The file name I got is <adt-bundle-linux-x86_64-20140321.zip>.

On 64-bit Ubuntu, we need to run

sudo apt-get install libstdc++6:i386 lib32z1 lib32ncurses5 lib32bz2-1.0

For both 32-bit and 64-bit, we need to get openjdk

sudo apt-get install openjdk-6-jre openjdk-6-jdk icedtea6-plugin

Then uncompress <adt-bundle-linux-xxx.zip> and run the file <eclipse> from either file manager or command line. It just works!

We can furthermore set up the PATH variable by editing ~/.bashrc file.

export PATH=$PATH:~/binary/adt-bundle-linux-x86_64-20140321/sdk/platform-tools/
export PATH=$PATH:~/binary/adt-bundle-linux-x86_64-20140321/sdk/tools/
export PATH=$PATH:~/binary/android-ndk-r9d/

Then source the file by

source ~/.bashrc

A good reference is https://help.ubuntu.com/community/AndroidSDK.

To quickly test NDK, go to the samples/hello-jni directory in NDK. Type the command ndk-build. If the build is successful, it proves that the NDK environment is set up correctly.

Android Studio

After downloading & installing Android Studio, we run the following command to launch it (the first time installation will pop up the 1st screenshot). See <android-studio/install-Linux-tar.txt> file.

$ ~/Downloads/android-studio/bin/studio.sh

The adb utility's location is located uner ~/Android/Sdk/platform-tools (see the 4th screenshot).

AndroidStudioInstall.png AndroidStudioFirstTime.png AndroidStudioInstComp.png AndroidStudioSetting.png

Another way is install is to use 'snap'; see https://snapcraft.io/android-studio

Windows

Emulation on x86

Emulators for playing games

Waydroid

Anbox

How to Run Android Apps and Games on Linux

No emulation layer like QEMU is necessary.

Anbox: How To Install Google Play Store And Enable ARM (libhoudini) Support, The Easy Way Aug 2018

How to Run Android Apps on Ubuntu Linux with Anbox. I followed the instruction and it works to install the Airdroid app apk (Jan 1, 2019).

$ anbox session-manager
# Open a new terminal
$ ~/Android/Sdk/platform-tools/adb install Downloads/[email protected]
* daemon not running; starting now at tcp:5037
* daemon started successfully
Success

However, I can't test Airdroid on PC. CBSNews and Google Chrome does not work:( Firefox Focus works (x86 version from https://www.apkmirror.com/)

Android-x86

Docker container

Run Android In Docker with this Container!

Bliss

Bliss OS 14 Alpha lets you run Android 11 on a PC

Android Studio

Windows Subsystem for Android (WSA)

Windows11與Android完美融合,不用再裝模擬器!

Remix

https://www.reddit.com/r/RemixOS/comments/40ahkc/is_it_possible_to_run_remix_os_on_virtualbox_if/

Slowww.

Phoenix

BlueStacks

Runs on Windows and Mac. Free.

AMIDuOS

$10 to keep. Work on Windows not Linux. Virtual Machine. Read this article from PCWorld.

Genymotion

Genymotion is a complete set of tools that provides a virtual environment for Android. Genymotion is much better than the ADV included in Android SDK. Before we use download/use it, we need to register.

For some reason, on my Ubuntu 12.04, I need to run the following.

sudo apt-get install ia32-libs

The genymotion can be integrated into Eclipse. The document about genymotion can be found on https://cloud.genymotion.com/page/doc/

Android alternatives

5 De-Googled Android-based Operating Systems to Free Your Smartphone from Google and other Big Tech: LineageOS, CalyxOS, GrapheneOS, /e/OS, CopperheadOS.

LineageOS

Qt + Android

Installation

We can install requirements of Qt 5 by

  • SDK -> No need to download a special copy. Just use adt-bundle-linux-x86-2013xxxx one.
  • Apache Ant -> sudo apt-get install ant
  • NDK -> android-ndk-r9c-linux-x86.tar.bz2. Use tar -xjvf android-ndk-r9c-linux-x86.tar.bz2 to extract.
  • Download qt-linux-opensource-5.2.0-android-x86-offline.run and install it into a new location, eg ~/Qt5.2.0Android (Cannot be the same as Desktop version).
  • On a new machine, we need to install opengl library as instructed here and here.
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y

The Qt needs to change the setting from Tools > Options > Android where we can specify the locations of Android SDK, Android NDK, Ant and JDK. On Tools > Options > Devices, we can change the Device from default (Local PC) to Run on Android. See the instruction on qt.project.org. Basically we go to project's setting to do changes. It does take a little longer to get the app on device.

Test Installation

We use qt-opensource-linux-x64-android-5.2.1.run to install Qt to ~/qt-5.2.1-Android directory. Note that this installer includes Qt Creator which has preset options. So this is preferred than our other separated installed Qt Creator.

We shall also need to follow episode 3 to set up SDK, NDK, JDK and Ant directories in Qt Creator.

After that, we can create a default Qt Quick application. Before we Run Debugging, we shall also

  • Change project's setting to make sure Android for armeabi-v7a Kit is added to the project.
  • Connect a physical Android device to our computer.

If everything goes well, the Qt app will be deployed to the connected Android device.

If we want to specify the API level, we can select Project > Run > Details > Deploy configurations. See http://qt-project.org/doc/qtcreator-3.0/creator-deploying-android.html

More QML examples can be found in http://qt-project.org/doc/qt-4.7/qdeclarativeexamples.html

Two official Android examples (Quick Forecast & Flyingbus)can be found at https://blog.qt.digia.com/blog/2013/12/10/cross-platform-applications-in-ios-and-android-stores-with-qt/

Help, Applications

NDK

Following are steps to create Android App with NDK.

  1. Create a new folder: jni
  2. Create a new file under jni: <hello.c>
  3. Create a new file under jni: <Android.mk>
  4. Open a shell & go to jni folder. Type ndk-build to generate .so files
  5. Edit <MainActivity.java>
  6. Run as Android Application.

The "hello-jni" is the hello world example. Chapter 1 in Android NDK Cookbook is the same example with simpler code.

Books/Tutorials

http://www.cprogramming.com/android/android_getting_started.html

How to connect your android device on Linux

7 Fixes When Your Android Phone Won’t Connect to Your Computer

7 Fixes When Your Android Phone Won’t Connect to Your Computer

Online resource

Android Programming: The Big Nerd Ranch Guide

It seems the solution files still have bugs. For example in Chapter 1 "01_FirstApp", the <layout/activity_quiz.xml> file should have

android:text="@string/question_text_view"

instead of

android:id="@+id/question_text_view"

within <TextView> tag.

<AndroidProgramming.zip>

Beginning Android 4 Application Development

<Source_code_download_for_Beginning_Android_4_AD.zip>

Android Tutorials

Java Books

  • Head First Object-Oriented Analysis and Design
  • Head First Design Patterns

Material Design

Blogs

Google store alternatives

7 Best Google Play Store Alternatives for Android

F-Droid

What Is F-Droid, and Can It Replace the Google Play Store?

Aptoide

AuroraOSS

https://auroraoss.com/

Useful Apps

Apps ranking

The 7 Best Websites to Check Android App Rankings

Sideload apps

How to Manually Install or Sideload Apps on Android

Install unknown apps

How to Install Apps from Unknown Sources on Android. Settings -> Special app access -> Install unknown apps.

Home screens/Launcher

Alarm

How to Create Automated Daily Routines on Your Android

Best Timer

The 7 Best Timer Apps for Android

Line

10 Helpful LINE App Tips And Tricks

Strangely the Chat settings on my Robin (Android 7.1.1) does not have "Import chat history" option. Also "Export chat history" only has 'Export his chat's history as a text file' option.

I found it. Go to Settings > Chats. At the top, it shows "Back up and restore chat history". You can back up to Google Drive (it says Backed up chat history is saved on Google Drive and can be restored if you lose your device or get a new one) and restore from a google account. My testing shows the backup size is only 148KB. The backup is stored under Google Drive > Backups > "Robin backup".

(2022/12/10) I need to create a backup PIN (6 digits) in order to back up/restore. Backup size is still small 354kB though I'm sure where is it saved on G. Drive.

(2023/9/4) If I switch my sim card, LINE will ask me to update my phone number according to my current SIM card phone number. So I don't need to remember to update it.

Tasker

Scan QR code

How to Scan QR Codes on an Android Phone

Syncthing: sync without cloud services

Google's New Reading Mode

You Should Enable Google's New Reading Mode for Android

ebook reader

I am using Book Reader on non-eReader device.

Moon+ Reader

PDF reader

Adobe

EBookDroid

Crop function. Swipe from RHS -> Book Settings -> Crop pages (auto) or Manual crop.

Foxit PDF

Crop function. See the 2nd icon (a folder with two circles) on menu at the bottom.

Pages can go left-and-right. A good thing is the bottom can show the page number (its position also changes from left to right).

Xodo PDF Reader & Editor*

The main control icon is a folder at the top menubar.

Crop function is most powerful. It has 3 choices (automatically, manually and remove all page cropping). If I choose manually, it shows a rectangle on each page so I can see if my adjustment is right on every pages. In the cropping dialog, we can be applied it to the current page, all pages or on even pages. Note 1. cropping is reversible 2. rendering is a little slow but it is OK.

By default pages changes from left-to-right. But we can enable 'Vertical Scrolling'. There is only a small gap when we see the transition between 2 pages. That is, pages go up-and-down. Left-bottom corner will the current page number.

Wish there is a function to fit pages by width. An alternative way is to manually zoom in until the pages (white background) fill the width of the screen. Now when we scroll pages, it won't shift pages to left or right if the finger does not go straight up or down.

Bitcoin

The 7 Best Bitcoin Wallets in 2021

Games

Emulation

Retroarch for Android – The Complete Guide

How to Play Classic Super Mario Games on Your Android Device

The 13 Best Android Emulators for Retro Gaming

  • RPCS3 - PlayStation 3. Tekken 6.
  • PPSSPP
  • Dolphin - GameCube, Wii
  • PCSX2 - PS2
  • CEMU - WiiU

Offline games

10 Best Offline Android Games

Hidden Game

Go to Settings > About phone, then tap the Android version repeatedly until a stylized "N" logo appears. Press the N icon repeatedly and a game of Flappy Android will eventually appear.

http://www.express.co.uk/life-style/science-technology/613539/Google-Flappy-Bird-Android-6-0-Marshmallow-Easter-Egg

http://www.howtogeek.com/269207/how-to-enable-android-nougats-cat-collecting-easter-egg/

Game for your brain

Tennis games

Games to kill time

10 Oddly Satisfying Smartphone Apps You Can Play to Kill Time

Choose Your Puzzle! These Mobile Collections Offer a Wide Variety

http://www.makeuseof.com/tag/puzzle-mobile-collections/

Game controller

8Bitdo Zero 2

Files

Fast file sharing without internet. Securely send videos, apps, and more to nearby friends who have Files by Google.

Files Go

Files Go is a new storage manager that helps you free up space on your phone, find files faster, and share them easily offline with others. It is like Apple's AirDrop; share your pictures, videos, documents, or apps with others nearby who also have the app. With speeds up to 125 Mbps

KDE Connect and GSConnect

File manager/explorer

The Best File Management Apps

Material Files

Owlfiles

Looks fine to use. Support SMB and network discovery.

Solid explorer

10M downloads, sftp, cloud support and ftp server. Remember to change the setting to uncheck sending anonymous statistics option.

Cx file explorer

10M downloads. Free. No ads. But sftp connection has to enter password in order to continue. That is, the connection will save the username and password.

Amaze File Manager

github. Material design file manager for Android.

X-plore File Manager

ASUS File Manager

Total commander

No ads. Free but buggy.

FE file explorer

Only the pro version can access more than one computers, servers, NAS, Dropbox and Google Drive etc.

Also I cannot delete an existing connection??

FX File Explorer

Play store 10M. Require a paid upgrade to use network drive. FX File Explorer promises users absolute privacy. The app is free of ads, and all security permissions are optional.

Free commander

Play store 100M

ES File Explorer

  • (Apr 2019) ES File Manager vanishes from Play Store, possibly part of DO Global scandal
  • Send Files or Folders to Other Android Device
  • Browse and Manage Photos from a Remote Album
  • Browse and Transfer Your Files via LAN and SFTP (Network > Remote Manager)
  • Access your Computer from Android over WiFi (Network > LAN > Scan)
  • Browse the Files Stored on Your Android Device From the Computer
  • Save Files Directly to Various Cloud Services
  • SD card analyst - see the total disk capacity, the shared capacity, and the free space
  • Remove Pre-installed System Apps
  • Manage or Uninstall Multiple Apps at Once
  • Extract the content of any Android App

References:

  1. http://www.howtogeek.com/221582/19-things-you-didnt-know-androids-es-file-explorer-can-do/
  2. http://receivetipstricks.com/es-file-explorer-tips-tricks/

Airdroid

Best if we need to upload/download files.

SuperBeam

Browser

Firefox focus

8 Reasons Why You Should Be Using Firefox Focus as Your Smartphone Browser

Kiwi browser

Supports Chrome extensions.

Opera browser

Free VPN

Camera

Blur background, Portrait mode

DSLR

How to Transfer Photos from Android to Your Windows PC

https://www.howtogeek.com/346317/how-to-transfer-photos-from-android-to-your-windows-pc/

Clipboard

How to access and manage your clipboard on Android

USB keyboard

How to Connect a USB Keyboard to Your Android Phone. We need a USB OTG (on-the-go) adapter/cable.

Enter Chinese using external keyboard

Use Start/alt/apt + Space to switch English/Chinese on Logitech K780.

How to Change the Keyboard on Your Android Phone

How to Change the Keyboard on Your Android Phone

How to Use Your Android Phone as a Bluetooth Mouse or Keyboard

How to Use Your Android Phone as a Bluetooth Mouse or Keyboard

keyboard with ctrl, alt

Ways to type

6 Different Ways to Type on an Android Phone

ssh client

Locale, strange characters, character encoding

I got a problem when connecting to Raspberry Pi. When I use nano to edit a file, the 'backspace' key sometimes delete two characters at a time.

ssh and character encoding

export LC_CTYPE=en_US.UTF-8

locale -a

ConnectBot

Copy and paste, yes, it works great on Chromebook.

JuiceSSH

  • Font size: volume buttons
  • Popup Keyboard: tap ther terminal to bring up a popup keyboard
  • Copy & paste: long press the terminal for copy & paste. It pops up a new window for the operation??

Default theme is Dark. Go to settings and change it to Light.

Termius

It looks cool. But I cannot do copy and paste.

Termux

Use Android device as a display

Add HDMI To Any Android Phone Or Tablet

Easily Add HDMI To Any Android Phone Or Tablet! (video)

Control and Display Android device screen from PC, cast, mirror

Nearby share: Android's AirDrop

How to Use Nearby Share to Transfer Files on Android

Transfer files

qrcp* (between Linux and Android/iOS)

qrcp: Transfer Files Between Desktop And Mobile Devices Over Wi-Fi By Scanning A QR Code. It will show an IP so we don't really need a camera on the mobile device for this to work. When I test this on iPad, the camera app will open Safari and immediately downloads my file.

qrcp version # 0.6.3

# PC to mobile
qrcp FileName1 FileName2

# Mobile to PC
qrcp receive
qrcp receive --output=/path/to/directory

The method works well (tested again 2021/6/20, qrcp 0.8.4, Ubuntu 20.04). It does not require to install any apps on Android. We only need a browser (Firefox works)on the Android device. We can send multiple files or a directory (will become a zip file) one time. After the transfer, I open FE File Explorer (and unarchive the zip file).

snapdrop

  • https://snapdrop.net/. Open source. No need to download the app. Just open the url in the same local network. It uses the Progressive Web Application and Web Real-Time Communications technologies.
  • It seems it does not support multiple files or a directory.
  • How to Easily Transfer Files between Linux, Windows, Mac, Android, and iPhone
  • I found the browser (tested on Chrome or Safari) will use a lot of CPU on my Macbook Pro when I leave snapdrop.net page open.
  • After receiving mp3 files on Android device, they are available under Audio category in "Files" app.

sharedrop.io

Add .zip to all the files transferred.

Send Files to TV

AirDroid

For some reason, different websites has a different file size for AirDroid apk if we consider to sideload it.

Python command

cd SomeDirectory

# Python 3
$ python3 -m http.server --cgi 8000

# Python 2
$ python -m simpleHTTPServer 8000

Now using http://IP:8000 to access files on the same directory.

Portal (pushbullet)

How to Quickly Transfer Files from a Computer to Your Phone with Portal PC goes to http://portal.pushbullet.com/. It'll create a QR code for phone to scan and then connect to the PC. However, it only allows to transfer files to Android but not the other way.

swiftp

How to Transfer Files Between Your PC and Android Phone Wirelessly

SuperBeam

https://superbe.am/. There will be a URL for the android device to download the files.

Pushbullet

https://www.pushbullet.com/

Dropbox

Dropsync: Autosync for Dropbox

FTP

Bluetooth

How to Transfer Files Between Mac and Android Using Bluetooth

Google App

7 Useful Things You Can Do With the Google App on Your Smartphone

Google Pay, virtual card

Google Calendar

Google Go

Lightweight Google for slow connections.

Google Search Lite becomes Google Go

Google Now/Google Feed

How to Customize the Google Feed (and Make It Actually Useful)

Google Photos

Add text to photos

Using Google's snapseed

Snapseed

How to Create a Double Exposure Effect Using Snapseed

Google lens

6 Uses for Google Lens, Now Integrated Into Google Photos

Take Photo And Selfie On Your Mobile With Voice Control

https://techblogup.com/take-picture-selfie-mobile-voice-control/

Creating a Digital Photo Collage

https://www.howtogeek.com/368860/how-to-make-a-digital-photo-collage/

Photo editors

11 of the Best Photo Editors for Android

Google Art and Culture

https://play.google.com/store/apps/details?id=com.google.android.apps.cultural

PhotoScan, Reading Mode, Socratic by Google

9 Amazing Android Apps by Google That You've Never Heard Of

Avoid stolen/lost

What to Do Before (and After) Your Phone Is Stolen

Prey

Getting your laptop or your phone stolen sucks, but there is something you can do about it. Prey is a lightweight theft protection software that lets you keep an eye over them whether in town or abroad, and helps you recover them if ever lost or stolen. It is available on Windows, Mac, Linux and Android.

Calcu

Calculator

OpenSignal

With OpenSignal you can map cellular coverage, find Wi-Fi hotspots, test and improve your reception & get faster data.

Podcast

Some examples

Block calls, stop robocalls

Call forwarding

Wifi calling

What Is Wi-Fi Calling and How Does It Work?

Look up anything

https://www.makeuseof.com/tag/reference-apps/

News

  • Goole News
  • Flipboard
  • Microsoft News
  • Apple News

Read out

Speechify - text to speech tts

Cooking

5 Free Healthy Cooking Apps for Beginners

Backup/restore

Helium and play store. However, Helium's wiki says it does not back up photos or videos.

Another way is to use Ubuntu's Nautilus. On my Ubuntu 12.04, I need to install gvfs. See http://robert.penz.name/658/howto-access-mtp-devices-via-usb-on-ubuntu-12-04/. We need to reboot Ubuntu 12.04 for this to take effect.

sudo apt-get install gvfs

Live wallpaper

How to Use Videos as Live Wallpaper on Android

Google translate

Google Translate for Android can transcribe & translate conversations in real-time

Live Transcribe

Use Live Transcribe. On Samsung Galaxy tab S6 Lite, it's at Settings - Accessibility - Installed apps - Live Transcribe.

GPT Translator

你的出國隨身翻譯員!「GPT旅行翻譯器」

Google assistant, interpreter

How to Use Google Assistant’s Interpreter Mode

To turn off Google assistant, go to Settings - Search for Assistant (or Google -> Settings for Google apps -> Search, Assistant & Voice -> Google Assistant) - (scroll down to the long list of ALL SETTINGS) General. Check the box to turn on/off Google Assistant.

Google maps

Waze

12 Clever Waze Features You’re Probably Not Using

Street view

How to Visit the Past Using Google Street View on Mobile

Offline maps

Offline maps & Navigation

My experience:

  • Entering destination is limited. It provides a database and users can only select from it. Users cannot pick any place on the map and navigate to there. It does provide POI, Coordinates, online search options. The on-screen keyboard in online search option does not have space button???
  • Don't know how to change the scale from kilometer to miles.

MAPS.ME

  • 10m downloads
  • openstreetmap.org maps, highly detailed, Up-to-date map data is added daily.
  • routing including walking directions.
  • bookmark, KML/KMZ supported
  • offline search
  • Auto-follow mode. When enabled, the map automatically orients itself to the direction you are moving.
  • One of the fastest offline maps ever.
  • Maps are updated regularly
  • no voice
  • no 3D

Remember to go to settings and turn off sharing data statistic with the author.

My experience:

  • the road name cannot be changed even I zoom in.
  • it is easy to bookmark a location. Just tap a location on the map.
  • the map is well annotated though it is just 2D.
  • the setting options are limited: measurement units, send statistics, zoom buttons and google play services to get the current location.
  • you can search by food, hotel, transport, gas, parking, shop, ....

GPS Navigation & Maps Sygic

  • TomTom Maps
  • voice navigation
  • 3D mode
  • Free map updates & Free POI database updates
  • Spoken Street Names to focus on the road
  • With options for routing (avoid toll road, highways, ...)
  • The interface and feeling is the same as a standalone GPS
  • show house number
  • Road direction (one way or two ways)
  • 10 million downloads
  • 7 days of premium. See the different price at sygic.com.
  • Road name font is too small, no setting to change
  • Not that intuitive in terms of the interface

MapFactor/Navigator

  • OpenStreetMap data, maps are updated every month.
  • Voice guidance (a little bit inaccurate)
  • Routing
  • Can do search offline (by address or POI or browsing POI), or through google (online connection)
  • Night mode color is too brownish (change the setting is possible but too tedious)
  • even higher review than GPS Navigation & Maps Sygic?

The app is called 'Navigator' on Android's screen. When we launch it, it gives two options: Navigator Free (green color font) & Navigator (blue color). The app sometimes pops a message to ask for purchasing the TomTom map. There is no way to access this option from the free version's UI. The USA map costs 15 EUR on the paid version.

The date of each US states OSM can be found on the MapFactor website.

A Windows or Windows mobile version of the app can be found on its download page.

Navigator also works with Linux by using WINE program. See the Navigator Requirements page.

HERE

  • Voice-guided turn-by-turn navigation
  • offline use
  • route planner
  • save places
  • not sure about the source of maps
  • Nokia Apps LLC

My experience:

  • when in navigation, it does not the road names for nearby location?
  • it keeps saying the compass needs adjusted. It takes time to show the my current location when the way I drove is different from its suggested route.
  • it took too many clicks to navigate.
  • the route is strange.

GPS

How to improve GPS accuracy on Android

https://www.androidpit.com/how-to-improve-your-gps-signal-on-your-android

Old GPS may not work properly in April

Old GPS may not work in April

Parking

Parkopedia Parking from 6 iPhone and Android Apps Every Driver Needs.

Wifi and security

How to protect your personal information from hackers while on spring break

  • When you want to go to your bank site or purchase something online with your credit card, hop OFF the public Wi-Fi and go onto a 3G or 4G cell carrier — it's much more secure. After you're done, you can go back to the public Wi-Fi.
  • Every hour or two on a public Wi-Fi network, adjust your phone settings to forget the network, then log back in again. Better yet, when you first log onto any public network, shut off your phone's auto-join function.
  • Try purposely logging onto the public Wi-Fi with the wrong password. If you can get on anyway, that's a sign that someone is monitoring you and you're not secure.
  • Install anti-virus software like Norton anti-virus onto your phones and laptops.

Two-factor/2-factor Authentication (2FA)

What Is Two-Factor Authentication? Here's Why You Should Be Using It

Passkeys

Google Authenticator

Microsoft Authenticator

Malware

Is There Pre-Installed Malware on Your New Android Smartphone?

VPN

Check if Your Android VPN Is Collecting Personal Data

Check if Your Android VPN Is Collecting Personal Data

Background Mobile Data

How to Stop Android Apps from Using Background Mobile Data

openvpn

Download a configuration file from vpngate.net. With this, we can act as if we are located in a different country.

vpn defender

tunnelBear VPN

Streaming

Estimate the Data You Spend Streaming Music and Video

How to Estimate the Data You Spend Streaming Music and Video

mms streaming

Useful like studioclassroom.com where mx player cannot. vplayer ($5) moboplayer (need sd card?), WonderShare (works, similar to ms player interface) Rock Player 2, BSPlayer (supports mms, but not work), VLC player, RealPlayer.

Play youtube multiwindow

If your devices are not running Android 7 (Nougat), we need some way to watch youtube and open other apps at the same time.

  • Float Tube Video

Play youtube in the background

If you devices are not running Android 7 (Nougat), try Firefox. This browser will allow you to continue to listen to the video of your choice with the screen off or while doing something else on your device.

FM radio

FM Radio App for Android without Internet for Free

Internet radios

myTuner Radio

TuneIn

Taiwan Radio

iHeartRadio

Pandora

XiiaLive

adding your own radio station URL

Youtube Music offline mixtape

See Download music to listen to music offline

Click icon -> Downloads -> Offline mixtape.

Youtube without ads

Offline music player

https://www.makeuseof.com/tag/music-player-apps-android/

Network Signal Info

Play store

Cell Signal

Network Cell Info Lite - Signal & Speed Test

6 Great Android Networking Apps to Monitor, Ping, and More

https://www.makeuseof.com/tag/android-networking-apps/

JuiceSSH, Fing, NetCut, Network Connections (Monitor Inbound and Outbound Traffic), Meteor, Ping

Hardware information

CPU-Z

AIDA64

Remote desktop/VNC

VNC

  • bBNC: feel slow
  • VNC view (from tightvnc): Port should be part of the IP (eg 192.168.1.xxx:5901). The mouse pt is different from the touch pt. Screen is kind of zoom-in. The desktop won't be moved.
  • Remote Ripple: good response like VNC view. It has a mouse control image on the desktop. If you don't click the visual mouse, you are moving the desktop.

Remote desktop

  • 2X RDP
  • Windows RDP

Teamviewer

A Complete Guide to Setting Up and Using TeamViewer on Android

Github

The source code is hosted on https://github.com/github/android

Bitbucket

Adobe flash player

Video Editor

Booking.com

Hotel reservations

Bluetooth Auto Connect

Bluetooth Volume

Blue light filter

I am using a paid version.

Since iOS 9.3, this is a built-in function (Blue light reduction) in Settings on Apple devices to do that.

nRF Master Control Panel (BLE)

Arduino 101

AutoCAD 360

IFTTT

SwitftKey

Microsoft Office

NFC Tools

How to Automatically Launch Android Auto with NFC

Watchup

Play store & Plex acquires Watchup

text to speech

The 7 Best Text-to-Speech Apps for Android

Text messages

How to Make Calls and Use Google Hangouts Like a Pro

https://www.makeuseof.com/tag/google-hangouts-tips/

To make sure we can use hangout to get phone calls and message through Google Voice: go to hangout settings, select an account and enable Incoming phone calls and Messages.

How to Silence Phone Calls (But Not Text Messages and Notifications)

https://www.howtogeek.com/301644/how-to-silence-phone-calls-but-not-text-messages-and-notifications/

Scam calls

The Best Unlisted Phone Number Finders to Help You Dodge Scam Callers

Terrarium TV

Is watching videos on Terrarium TV illegal?

CamScanner

Scan Documents on Your Phone with CamScanner for Android

Scanbot

After you scan your documents, you can mark up your scan with annotations and add signatures to documents using your finger.

Virtual Reality

10 Mobile Apps for Discovering Events Happening Around You

https://www.makeuseof.com/tag/mobile-apps-nearby-events/

Share internet using bluetooth tethering

How to Share Internet With Bluetooth Tethering Between Two Android Devices

Hangout and Google chat

What Is Google Chat, and Does It Replace Hangouts?

Free phone number

https://www.textnow.com/, Android app

Got a phone number away from Google voice

Pay $3 to port your number away from Google Voice

Google Voice will soon no longer be able to forward text messages to other phone numbers

Google Voice will soon (July 2021) no longer be able to forward text messages to other phone numbers

Email

How to Access Hotmail and Outlook Accounts on Android

Google's Phone App on Android

8 Great Features of Google's Phone App on Android

Block a phone number from Google voice

Block unwanted calls, abuse, and spam.

  • Open the tab for Messages, Calls or Voice on LHS.
  • Open the text message, call or voicemail.
  • Click More (3 dots) and click 'Mark as spam' or 'Block number'.

Voicemail

How to Set Up Voicemail on Android

RSS feed reader

Webex

The nih account works on personal devices

Baby monitor

Gonimo, How to create a free baby monitoring system with Gonimo

Weather

The 7 Best Weather Widgets for Android

iNaturalist

Quickly Identify Plants and Animals Around You Using This App, Android, iOS

Split screen

Screen recorder

The Best Screen Recorder Apps for Android

How to Stop Your Android Phone’s Screen From Turning Off

How to Stop Your Android Phone’s Screen From Turning Off

Note taking

Handwriting note taking

  • Squid: can extend page in any way:) Move content using lasso. Some functions requires a premium (subscription) account.
  • INKredible. Pro version is $7.99

Android Smartphone Analysis in R

Android Smartphone Analysis in R

Sandbox using Shelter

How to Use Shelter to Sandbox Apps on Android

How to Install Two Copies of the Same App in Android

How to Install Two Copies of the Same App in Android

RAM/Memory managment

Low RAM on Your Phone? 7 Android Memory Management Tips You Need to Know

Android System

Google Mobile Services vs Android Open Source Project/AOSP

http://www.howtogeek.com/232973/amazons-fire-os-vs.-googles-android-whats-the-difference/

File System Hierarchical

/storage/emulated/0/Android/data/

6.0 Mashmallow

How to Secure Your Google Account

How to Secure Your Google Account

How to Stop Google From Recording/Listening

Your Phone Is Secretly Always Recording: How to Stop Google From Listening

Keep Your Android Phone Safe

5 Essential Security Checks to Keep Your Android Phone Safe

Is Your Android Device Certified?

Is Your Android Device Certified? Here's How to Check

Phone number

How to Find Your Phone Number on iPhone or Android

Developer Options

Go to Settings > About device and tap on Build number seven times to unlock the Developer options.

See How to kill Android apps and tasks running in the background.

Battery

Change font

4 Ways to Change Your Android Fonts

Notifications & sound

4 ways to turn off annoying notifications on your Android phone or iPhone

Auto restart when plugged to a charger

https://stackoverflow.com/questions/26294258/auto-boot-when-wall-charger-is-plugged

How to mount /system rewritable or read-only

https://android.stackexchange.com/questions/110927/how-to-mount-system-rewritable-or-read-only-rw-ro

How to Speed Up an Old Android Device With 3 Essential Tips

https://www.makeuseof.com/tag/speed-up-android-tips/

Tips

40 of Our Best Android Hacks of 2021

Android Oreo (8.x)

8 New Android Oreo Features You Should Know About

Ringtong

How to Install and Customize Ringtones on Android Phones

Prepare micro SD card

FAT32 works.

Ext4 should be supported too.

Clear cache

How to Clear Cache on Android (And When You Should)

Basic(s)

A Word

Sometimes I'll get strange error messages when I do 'Run As Android Application'. The solution is to create a new Android app project and copy the code as I need.

A weird thing is Android SDK will automatically create project 'appcompat_v7', 'appcompat_v7_2', .... If we delete any one of them, it will screw up things.

See also https://developer.android.com/tools/support-library/setup.html, http://developer.android.com/tools/support-library/features.html

See message 1

Use "Ok Google" on Android

https://support.google.com/websearch/answer/6031948?co=GENIE.Platform%3DAndroid&hl=en

  • Google App
  • Languages: Default is English. It is OK to have multiple languages. For example, if I add 國語, Android is able to recognize both English and Chinese.
  • In "Ok Google" detection, we can turn on the option of Say "Ok Google" any time. Your device recognizes your voice when you say "Ok Google", even if the screen is off or you're using your favorite apps.

Safely Download Free Android APKs

Where to find the apk files on devices

See here. It is located under /data/app/.

The Android device needs

  • If connecting for the first time, User is prompted to install the drivers in which case, point to $ANDROID_SDK_PATH/usb_driver, the drivers will get installed.
  • Change your settings to permit apps that don’t come from the Google Market by going to the home screen and choosing MENU > Settings > Applications > Unknown Sources.
  • Turn USB debugging ON on your phone, On your device go to the home screen, press MENU > Settings > Applications > Development, then enable USB debugging.

Extract APK File of Any App

The AirDroid method works.

adb

How to Install and Use ADB, the Android Debug Bridge Utility (Windows)

Enable USB debugging on Android 9

First enable the developer mode.

Step 1: Go to Settings in your android P devices

Step 2: Tap on About phone under system section

Step 3: Scroll down until end of the page and tap on Build number 7 times

Now you can view this message on your device screen: You are now a developer! You can check developer mode settings in android 9.0 using below settings.

Step 4: Go to settings > System > Developer options

If disable developer options in android 9.0 device.

Step 5: Enable developer mode in your device

Step 6: Press OK to activate it

Now we can enable USB debugging from the Developer options.

Trouble shooting: Android Debug Bridge (adb) device – no permissions

Run ADB Commands on Android Without a Computer

How to Run ADB Commands on Android Without a Computer

Check connected devices by adb (under the same network)

Enable USB debugging on your device first. Before this command can be used, we shall enable USB debugging from the 'Developer option' page. The 'Developer option' page is under Setting but is hidden. To make this screen visible, follow the instruction on http://developer.android.com/tools/device.html. That is, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options at the bottom (tested on both of my Samsung S3, Nexus 9, ...).

Before we can use adb, the android phone will ask for a permission. Press 'OK'.

If the android devices are connected to your computer using a USB cable, you can check if the connection is successful.

$ sdk/platform-tools/adb devices
List of devices attached 
2011060116402004	device

If the android devices are connected to the same network but not on your computer, use

$ adb tcpip 5555
$ adb connect device_ip_address
# At the end
$ adb disconnect <ip>:<port>

Note: on new Android SDK downloaded from http://developer.android.com/sdk/index.html, the adb command is under

Android/Sdk/platform-tools/

directory.

To list packages

$ adb shell pm list packages
package:com.amazon.mShop.android.shopping
package:com.skype.raider
package:com.android.cts.priv.ctsshim
...
$ adb shell pm list packages | grep "explorer"
package:com.skyjos.apps.fileexplorer
package:pl.solidexplorer2

List files

adb shell ls /sdcard/Downloads

To copy files from phone to computer

adb pull "/sdcard/Downloads/video.mp4" D:\Downloads

'Download' folder on Android

# tested on Oreo 8.0 
$ sudo adb shell ls /sdcard/Download
$ sudo adb push ~/Downloads/xxx /sdcard/Download/

$ sudo adb shell  # interactively
bullhead:/ $ ls
bullhead:/ $ cd /sdcard
bullhead:/sdcard $ ls
AirWemo    DCIM     MyCarTracks   Recorders  camera-p.jpg 
Alarms     Download Notifications Ringtones  dianxin      
Android    Movies   Pictures      XuiteMusic recordings   
CamScanner Music    Podcasts      backups

Then turn off usb debugging under developer options.

How to copy an apk file out to PC

Use adb pull. For example,

adb pull data/app/com.dotgears.flappybird-1.apk .
adb pull sdcard/Download/SomeFile ~/Downloads/

Note that adding "/" to the beginning of "sdcard" or "data" is optional.

How to put an apk file on device

adb push local remote

Or use the adb install command to install an app. For example,

adb install com.dotgears.flappybird-1.apk 

How to uninstall/delete apk files on devices

How to Uninstall Any Android App With ADB (Including System Apps and Bloatware)

adb shell ls data/app
adb shell rm data/app/com.androidcan.asudoku.apk

How to copy a apk out from devices

http://stackoverflow.com/questions/4032960/how-do-i-get-an-apk-file-from-an-android-device. For example, the adobe reader

$ adb shell pm list packages
$ adb shell pm path com.adobe.reader
$ adb pull /data/app/com.adobe.reader-1.apk

$ adb shell pm list packages | grep "explorer"
package:com.skyjos.apps.fileexplorer
$ adb shell pm path com.skyjos.apps.fileexplorer
package:/data/app/com.skyjos.apps.fileexplorer-Jlj_chvDf2kYCSa_eFm6lA==/base.apk
$ adb pull /data/app/com.skyjos.apps.fileexplorer-Jlj_chvDf2kYCSa_eFm6lA==/base.apk

Failed to install HelloWorld.apk on device (null) Error

http://stackoverflow.com/questions/5229906/android-failed-to-install-helloworld-apk-on-device-null-error

Solution: Try changing the ADB connection timeout. I think it defaults that to 5000ms and I changed mine to 10000ms to get rid of that problem. If you are in Eclipse, you can do this by going through Window -> Preferences and then it is in DDMS under Android.

6 Android ADB Apps for Powerful Features Without Root

6 Android ADB Apps for Powerful Features Without Root

5 Practical ADB Commands

5 Practical ADB Commands Every Android User Should Know

Build without running an application

Building vs running: Building will just generate apk file but running will install the app to the device.

See here. In Eclipse menu, Windows -> Preferences. From this Preferences window: Android -> Build. Now uncheck "Skip packaging and dexing until export or launch. (Speeds up automatic builds on file save.)". From now on, as long as we save any changes in source files, the apk file will be recreated.

Modified the 'name' shown on Eclipse Package Explorer

Modify the name tag in <.project> file (hidden file).

Structure of an App project

Before we create a new project in Eclipse, we have to enter some information.

  • Application Name: the name that appears to users
  • Project Name: the name of project directory and the name visible in Eclipse
  • Package name: com.example.GUIDemo
  • Minimum Required SDK: API 8
  • Target SDK: API 18
  • Compile With: API 19 (By default, this is set to the latest version of Android available in your SDK)
  • Activity Name: MainActivity (will create <MainActivity.java> and MainActivity class)
  • Layout Name: activity_main (will create <activity_main.xml>)
  • Navigation type: None
src +-- com.example.guidemo
           +-- MainActivity.java

res +-- layout +-- activity_main.xml
       +-- values +-- strings.xml
AndroidManitest.xml
proguard-project.txt
project.properties
.project

Command Line

$ android update project -p .
$ ant debug            // create an .apk file
$ adb install bin/your-project-name-debug.apk // only install, will not run

Debug with Eclipse line by line

The Context Object

  • See stackoverflow.
  • Beginning android application book Chapter 2: Activities, fragments and intents -> Understanding Activities -> Displaying a Dialog Window.

Rotate AVD screen

  1. Enable NUMLOCK;
  2. Open your emulator and press the 7 followed by 9 on the NUMPAD on the right side of your keyboard;

Dialog

Intent

Linking activities using Intents.

  • See Chapter 2 of Beginning Android 4 App Development -> Linking Activities using Intents
  • http://www.vogella.com/tutorials/AndroidIntent/article.html
  • startActivity(). To pass data back from an activity, use startActivityForResult() and onActivityResult().
  • Intent-filter is defined in AndroidManifest.xml file. Other activities that wish to call this activity will invoke it via the activity's name in intent-filter.
  • The category for the intent filter is android.intent.category.DEFAULT. You need to add this to the intent filter so that this activity can be started by another activity using the startActivity() method.
  • Activities in Android can be invoked by any applications running on the device through intent-filter.
  • The <intent-filter> element defines how your activity can be invoked by another activity. If another activity has the same filter name, then when you call the startActivity() method with the same android name in intent-filter, the Android OS will display a selection of activities. See Figure 2-12 in 'Beginning Android 4 App Development'.
  • (Continue above) If you check the 'Use by default for this action" item, then to clear the default, we need to go to the Settings application in Android and select Apps > Manage applications, and then selection the app name. Scoll down to the bottom and click the 'Clear defaults' button.

AndroidManifest.xml

  • It names the Java package for the application.
  • It describes the components of the application — the activities, services, broadcast receivers, and content providers that the application is composed of.
  • Android components register intent filters staticially in the AndroidManifest.xml.
  • It determines which processes will host application components.
  • It declares the minimum level of the Android API that the application requires.

Android nerd ranch book

01_FirstApp_GeoQuiz Project

activity_quiz.xml

Note that

  • A layout is a resource, a piece of your application that is not code.
  • To generate a resource ID for a widget, you include android:id attribute in the widget's definition.
  • There is a + sign in the values for android:id but not n the values for android:text. This is because you are creating the IDs and only referencing the strings.
  • Since we want to interact with 2 buttons in code, so only they need resource IDs.
  • All resource IDs can be found in <gen/com.example.geoquiz/R.java>.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center"
  android:orientation="vertical" >

  <TextView    
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/question_text_view"
    android:padding="24dp" />
  
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
      android:id="@+id/true_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/true_button" />

    <Button
      android:id="@+id/false_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/false_button" />

  </LinearLayout>

</LinearLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <string name="app_name">GeoQuiz</string>
  <string name="question_text_view">The Pacific Ocean is larger than the Atlantic Ocean.</string> 
  <string name="true_button">True</string>
  <string name="false_button">False</string>  
  <string name="correct_toast">Correct!</string>
  <string name="incorrect_toast">Incorrect!</string>
  <string name="menu_settings">Settings</string>

</resources>

QuizActivity.java

  • Add two member variables to access the buttons (through resource IDs)
  • Notice the prefix m on the member variable names.
  • Import the class android.widget.Button for the buttons. It can be added by organizing imports. This can be done by keyboard shortcut Ctrl + Shift + O.
  • To get references to widgets, we use the Activity method: findViewById(int id).
  • To set listeners (review Java!), use setOnClickListener(OnClickListener) method; something like
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 // Does nothing yet.
            }
        });
  • Making toasts - a pop-up message. To create a toast, you call the method: makeText(Context context, int resId, int duration). The 2nd parameter is the resource ID of the string that the toast should display. After created a toast, you call Toast.show() on it to get it on screen.

So the complete java code looks like

package com.bignerdranch.android.geoquiz;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class QuizActivity extends Activity {

    Button mTrueButton;
    Button mFalseButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);

        mTrueButton = (Button)findViewById(R.id.true_button);
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(QuizActivity.this, 
                        R.string.incorrect_toast, Toast.LENGTH_SHORT)
                        .show();
            }
        });

        mFalseButton = (Button)findViewById(R.id.false_button);		
        mFalseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(QuizActivity.this, 
                        R.string.correct_toast, Toast.LENGTH_SHORT)
                        .show();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_quiz, menu);
        return true;
    }

}

02_MVC_GeoQuiz

Works.

03_ActivityLifecycle_GeoQuiz

Crash AVD for some reason. The whole practice is the same as Chapter 2 in Beginning Android 4 Application Development (the code works there).

05_SecondActivity_GeoQuiz

07_UIFragments_CriminalIntent

  • One critical difference between the fragment lifecycle and the activity lifecycle is the fragment lifecycle methods are called by the hosting activity, not the OS.

Amazon Devices

Fire TV

Fire Tablet

Move Apps to SD Card

How to Move Apps to SD Card on an Amazon Fire Tablet

Android TV box

Android + chroot + Ubuntu

Transform Your Android Device into a Linux Desktop

Transform Your Android Device into a Linux Desktop

Access from Ubuntu: MTP

How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol (MTP)

Phone bands

MVNOs

Samsung

VOIP

GSM (open), CDMA (not open)

Sprint and Verizon are the primary CDMA carriers, while T-Mobile and AT&T are the two primary GSM carriers.

GSM is generally open; CDMA is not. Basically, neither Sprint nor Verizon offer options for customers to bring their own phones. GSM carriers—like AT&T, T-Mobile, MetroPCS, and US Cellular, for example—are pretty “open.” You can take most modern GSM smartphones, drop a SIM card from one of the aforementioned carriers in it, and it should just work, no matter where you bought it from.

See CDMA vs. GSM: What's the Difference and Which Does Your Phone Use?

Are Cheap Android Phones Worth It?

T-Mobile's New 600MHz Band 71: What You Need to Know

The Best Cheap Phone Plans for 2020

Data Only Plans

$5/Mo Red Pocket Prepaid Wireless 100 Talk 100 Text 500MB

Tracfone Prepaid Wireless Smartphone SIM $60 per year. 1200 Min,1200 Txt, 3GB Data. Didn't use it for months and when I actually needed it, guess what it was deactivated... I've had TF cancel my plan in as little as 3 months when I didn't use a parked number... Redpocket has no usage requirement... you can use 611611 in message app type one word (e.g. 'usage', 'check', ...) to check mins: DATA , to get all 3 parts of remining time. Tracfone's terms of service: TracFone Wireless reserves the right to discontinue service and deactivate any TRACFONE handset for which there is no voice, text or Data Services usage for a period of twelve (12) consecutive months. Comes with Verizon sim for service plan. After year of service you can request unlock from TF (can be done online). Use code to unlock. Replace TF sim with T-mo sim & reboot. Took me just a few minutes when I did it last year. Remember to use phone occasionally for calls or texts or data (not just Wi-Fi), TF requires some usage every month or two to keep number active. They let you unlock a few days (1-2 weeks) before the plan ends (using the original sim card). So set a reminder so you don't have to add extra money to unlock.

Tracfone 1-Year Prepaid Smartphone Plan w/ 1200 Min, 1200 Txt & 3GB Data $40. Read the community Wiki.

Look at the SIM number. The first six numbers of the SIM ID determine the carrier: 890126 = T-Mobile, 890141 = AT&T, 891480 = Verizon.

TracFone Phone Unlocking Program from fcc.gov. How to Unlock TracFone Devices

How to Unlock TracFone Mobile Phones

tracfone support page which links to Unlocking Policy page from tfwunlockpolicy.com. It works!

GSMA, GSMT

APN

When I activate a new redpocket plan, the calling and texting works but no internet. After I switch APN from 'Access Point_3' to 'T-Mobile US', the internet works. The Mobile data icon should show LTE.

The APN setting can be accessed from Settings > Network & internet > Mobile network > Advanced > Access Point Names.

Activated? Setup your GSMT SIM line from redpocket.com. PS. The instruction does not work. Just select prepopulated 'T-Mobile US' one will work.

sim card ID

How can I find my SIM card number (ICCID) on my Android phone?

Changing SIM Card

Changing SIM Card Without Turning Off Phone: Safe?

eSIM

Different Kinds of eSIMs, eSIM Supported Phones list | Updated January 2022

Google Pay

Everything You Can Do With Google Pay, How to Send Someone Money with Google Pay

Google Smart Lock

What is Google Smart Lock, Exactly?

Change ring volume

Change volume, sound, & vibrate settings. Settings -> Sound & vibration -> Adjust "Ring & notification volume".

Smartwatch