Posts

Showing posts from May, 2025

Select and delete multiple items in a list in Sketchware android project

Image
1. In image manager of project, add delete icon ic_delete_white . 2. In Resource, in menu folder, add an xml file named context_menu.xml . Put following code in this file: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/delete" android:title="Delete" android:icon="@drawable/ic_delete_white" android:showAsAction="always"/> </menu> 3. Create a new custom variable of type SparseBooleanArray with name selectedItems and define it as new SparseBooleanArray(). 4. Put following codes in onCreate . Change names of variables as in your project. // Enable multiple selection mode with contextual action bar listview1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); // Handle selection events via MultiChoiceModeListener listview1.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() { @Override public void onItemCheckedStat...

A simple reminder app in Sketchware

Image
This post describes a simple reminder app using AlarmManager in Sketchware. 1. Create a new project in Sketchware. 2. In main.xml , add an EditText edittext1 , a Button button1 to set time for reminder, a TextView textview1 for displaying the date and time, a Button button2 for setting the reminder, and a ListView listview1 for displaying the reminders. 3. In Image manager, add two images ic_notifications_black and ic_delete_black . 4. Create a custom view items.xml . In this add two TextViews textview1 and textview2 , and an ImageView imageview1 . 5. For listview1, select items.xml as custom view. 6. Switch on AppCompat and design. 7. Add two Calendar components cal and cal2 , add a SharedPreferences component sp:sp and a Dialog component dialog . 8. Create three number variables reminder_code , current_time and code . Create a String variable message and a Map variable map . Also create a ListMap maplist . 9. Add a more block createNotificationChannel and add following cod...

Date and time picker in Sketchware

1. Create a new project in Sketchware. 2. Add a Button button1 for picking date and time. 3. Add a TextView textview1 , for displaying the selected date and time. 4. Add a Calendar component cal . 5. Create two more blocks, pickDate and pickTime . 6. In pickDate more block, use an add source directly block and put following code: DatePickerDialog datePicker = new DatePickerDialog( this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month); cal.set(Calendar.DAY_OF_MONTH, dayOfMonth); _pickTime(); } }, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH) ); datePicker.show(); 7. In pickTime more block, use an add source directly block and put following code: TimePickerDialog timePicker = new TimePickerDialog( this, new TimePickerDialog.OnTimeSetListener() { @Override ...

EncryptionHelper for encrypting json file

Add below code in a Java file named EncryptionHelper.java. import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.os.Environment; import android.os.ParcelFileDescriptor; import android.provider.MediaStore; import android.provider.OpenableColumns; import android.util.Base64; import android.webkit.MimeTypeMap; import android.widget.Toast; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.ByteArrayOutputStream; import java.nio.charset.StandardCharsets; import java.security.spec.KeySpec; import javax.crypto.Cipher; import javax.crypto.CipherInputStream; import javax.crypto.CipherOutputStream; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.GCMParameterSpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; publ...