New Blog Post

Sound and music with pygame

pip install pygame Sound import pygame if __name__ == ‘__main__’: pygame.mixer.init() sound = pygame.mixer.Sound(“./sound.wav”) channel = while channel.get_busy(): pygame.time.wait(100) print(“Playing…”) print(“Finished.”)   Music import pygame if __name__ == ‘__main__’: pygame.mixer.init()“./sound.mp3”) while pygame.time.wait(100) # ms print(“Playing…”) print(“Finished.”)

New Blog Post

Getting Location Info in Android

Manifest <uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” /> Activity   public static final int REQUEST_CODE = 123; LocationManager mLocationManager; LocationListener mLocationListener; @Override protected void onResume(){ super.onResume(); getCurrentLocation(); } private void getCurrentLocation() { Log.d(“Clima”, “getWeatherForCurrentLocation”); mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); mLocationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { Log.d(“Clima”, “onLocationChanged”); String longitude = String.valueOf(location.getLongitude()); String latitude = String.valueOf(location.getLatitude());…

New Blog Post

Passing data between AndroidActivities

Sending data private void openVideoActivity(String video) { Intent newActivity = new Intent(this, PlayerActivity.class); newActivity.putExtra(“videoId”, video); startActivity(newActivity); } Retrieving data final String videoID = getIntent().getExtras().getString(“videoID”);   In Kotlin it looks like this: val intent = Intent(this, { putExtra(“EXTRA_MESSAGE”, “Test 123”) } startActivity(intent) Retrieving val message = intent.getStringExtra(“EXTRA_MESSAGE”) Further Reading Passing data between fragments using SafeArgs…

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: [] 3 phone: []

New Blog Post

Android Spinner

Spinner spinner = findViewById(; // 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(; mAddButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openAddActivity(); } }); } public void openAddActivity(){ Intent intent = new Intent(this, Main2Activity.class); startActivity(intent); }