Python variable length arguments

Ever wondered what these *varargs or *kwargs in python functions parameter mean? Let me explain! varargs varargs is short for variable arguments. It is declared like this: def print_person_varargs(name, *vargs): pass You can pass as many arguments as you like. In this case we pass two after the first positional argument ‘name:’ print_person_varargs(“Jörn”, 40, “Emskirchen”)…

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…