New Blog Post

Android Services

Service Manager $ adb shell service list shell@g3:/ $ service list Found 132 services: 0 AtCmdFwd: [com.qualcomm.atfwd.IAtCmdFwd] 1 lge.apdu: [com.lge.smartcard.internal.apdu.uicc.IUiccAccess] 2 telecom: [com.android.internal.telecom.ITelecomService] 3 phone: [com.android.internal.telephony.ITelephony]

New Blog Post

Android Spinner

Spinner spinner = findViewById(R.id.currency_spinner); // Create an ArrayAdapter using the String array and a spinner layout ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_values, R.layout.spinner_item); // Specify the layout to use when the list of choices appears adapter.setDropDownViewResource(R.layout.spinner_dropdown_item); // Apply the adapter to the spinner spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position,…

Switch between activities

public class MainActivity extends AppCompatActivity { private Button mAddButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAddButton = findViewById(R.id.addButton); mAddButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openAddActivity(); } }); } public void openAddActivity(){ Intent intent = new Intent(this, Main2Activity.class); startActivity(intent); }

Android screen orientation

disable orientation change <activity android:name=”.MainActivity” android:screenOrientation=”portrait” tools:ignore=”LockedOrientationActivity”> Handling orientation state Saving instance state @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(“ScoreKey”, mScore); outState.putInt(“IndexKey”, mIndex); } Retrieving instance state @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState != null){ mScore = savedInstanceState.getInt(“ScoreKey”); mIndex = savedInstanceState.getInt(“IndexKey”); } else { mScore = 0; mIndex = 0;…

Android App Lifecycle

Code class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Log.d(“LifecycleTest”, “onCreate”) } override fun onStart() { super.onStart() Log.d(“LifecycleTest”, “onStart”) } override fun onResume() { super.onResume() Log.d(“LifecycleTest”, “onResume”) } override fun onPause() { super.onPause() Log.d(“LifecycleTest”, “onPause”) } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) Log.d(“LifecycleTest”, “onSaveInstanceState”) } override fun onRestoreInstanceState(savedInstanceState: Bundle) { Log.d(“LifecycleTest”,…

Android Enable USB-Debugging

goto Settings > General > About phone > Software information and tap “Build number” seven times until it says “You are now a developer”  Goto Settings > General > Developer options and enable USB Debugging Drop down the notifications menu and click on “Tap for more USB options”. Most likely, the main title will say…

JavaScript modules

<head> <script src=”../js/constants.js” type=”module”></script> <script src=”../js/script.js” type=”module”></script> </head> constants.js export const projects = [ “Project-A”, “Project-B”, “Project-C”, ]; script.js import {projects} from “./constants.js”;

New Blog Post

Telegram Bot with MicroPython

Motivation In my project Mailbox IoT ESP 32 Project I needed a Telegram bot to relay the messages. So here is a short tutorial Create TG bot Open Telegram Search for @botfather Start chat Send /newbot Pick a name Pick a username (must be unique) Receive credentials Chat with your bot Now you can search…

MicroPython uos package

When you are familiar with Python os and platform package You may wonder how to use it on ESP32 in MicroPython. Because this doesn’t work: >>> os.name Traceback (most recent call last): File “”, line 1, in AttributeError: ‘module’ object has no attribute ‘name’ >>> import platform Traceback (most recent call last): File “<stdin>”, line…

Install ESP32 in ArduinoIDE

Prerequisites On Windows you might need to install the CH340 USB-UART driver first to get a connection to the board. Install ESP32 in ArduinoIDE Open Preferences and add https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json to additional boards manager URLs: