Skip to main content

Get list of app icons and app names of all installed apps in Sketchware

We can create a list of app names, app icons, app versions and app package names from information received using PackageInfo class.


Follow the steps below to create a list of all installed apps, with app name, app icons, package name, version name and version code.

1. In VIEW area of your sketchware project, in main.xml add a ListView.
2. Add a new CustomView custm.xml and in this add an ImageView and four TextViews.
3. For the ImageView​ set width and height as 60dp and scale_type as FIT_XY.
4. In main.xml, for ListView select custm as customView.
5. In LOGIC area, add four List String (list11, list12, list13, and list14), add a List Map (list1), and an Intent component i. These four will act as list of app name, package name, version name, and version code.


6. In onCreate event, add an add source directly block. Inside the block add following code.

List<android.content.pm.PackageInfo> listn = getApplicationContext().getPackageManager().getInstalledPackages(0);

This will create a list of PackageInfo of all installed apps.


7. Add another add source directly block and add following code in it.

for (android.content.pm.PackageInfo packageInfo : listn) {
list11.add(packageInfo.applicationInfo.loadLabel(getPackageManager()).toString());
list12.add(packageInfo.packageName);
list13.add(packageInfo.versionName);

list14.add(String.valueOf(packageInfo.versionCode));

This code will retrieve information from PackageInfo list, and add items to new lists. It will add all app names to list11, all package names to list12, all version names to list13, and all version codes to list14.

8. Next, use Block add key X value X to List Map list1.

9. Add another add source directly block and put following code in it:
{
HashMap<String, android.graphics.drawable.Drawable> _item = new HashMap<String, android.graphics.drawable.Drawable>();
_item.put("itm",packageInfo.applicationInfo.loadIcon(getPackageManager()));
list6.add(_item);
}

}
This code gets app icons from the list of PackageInfo and adds them to list6.

10. After this add a ListView setListCustomViewData List Map block, as shown in image below.

11. Add another add source directly block. Inside the block, add a } bracket to close onCreate event, and after that write code for a new HashMap list, list6. This will act as list of icons. The code to be used is given below.

}
private ArrayList < HashMap < String, android.graphics.drawable.Drawable> > list6 = new ArrayList<>(); private void nothing() {

This should be the last block in onCreate event. There should be no block placed after this. This code can also be added in a more block.

12. Add a new event ListView onBindCustomView, and set the text of all TextViews in CustomView, to the String lists list11, list12, list13, and list14. Also add code to set icons as image of imageview1. The blocks to be used is shown in image below.

The code to be used in add source directly block is:

imageview1.setImageDrawable(list6.get((int)_position).get("itm"));

Here imageview1, is id of Imageview in CustomView, and list6 is the new Drawable list created in above step.

13. Add another​ event ListView onItemClicked, and here use Intent component blocks to open the app when it is clicked. The blocks to be used is shown in image below.

14. Save and run the project. You will see a custom list with list of all installed apps with icons, package names, etc.

Watch the video below for better understanding.
     

Comments

Popular posts from this blog

Create Music Player app in Sketchware

To create a Music Player app in sketchware, follow the steps given below. 1. Create a new project in Sketchware. 2. In VIEW area on main.xml, add a ListView  listview1  with height wrap_content, and weight 1. Add a SeekBar  seekbar1 , an ImageView  imageview1 , and three TextViews  textview1 ,  textview2 , and  textview3 , as shown in the image below. 3. Create a CustomView  mycustom.xml  and add a TextView  textview1 , and an ImageView  imageview1  in it. For listview1 select mycustom.xml as it's customView. 4. Add a MediaPlayer component  mp , a Shared Preferences component  sp:sp  and a Timer component  timer . 5. Create six More Blocks  MPcreate(pos), MPstart , and  MPpause  for the MediaPlayer and  searchFolders ,  getFileList in [filePath]  and  extra . 6. Add three number variables  n, r  and  songPosition , and five String variables  currentfile ,  songMinutes ,  songSeconds ,  folder ,  folderName . Also add a List String  folderList,  List String  fileList  and a List Map

Admob rewarded video Ads in Sketchware

To integrate Admob Rewarded Video Ads to a Sketchware project, follow the steps given below. Prerequisites An Android project (Sketchware project) Account in Admob Always place the test ad unit ID before placing your ad unit ID. App ID and ad unit ID can be obtained by registering the app on Admob. But for using test ads no registration is required. Do not click on your own Ads. 1. Create an android project in Sketchware. 2. Add the app to your Admob account. For your app, generate an ad unit ID for Rewarded Video Ads. 3. In Sketchware project, navigate to  Library Manager  and open Admob settings. i. Click on Add manually and add the ad unit ID generated on Admob website, or use test ad unit ID ca-app-pub-3940256099942544/5224354917. ii. If you are not using any banner or interstitial ad units, select the same ad unit ID for both banner and interstitial ads. iii. Add Test Device automatically shown by Sketchware. iv. Save it. v. Switch ON Admob and AppCompat and design. 4. In this exa

Firebase auth in Sketchware for Login Activity

To create a login activity using Firebase Auth in Sketchware, follow the steps given below. This method uses Firebase authentication service for creating login. 1. In your Firebase account, go to Firebase authentication. 2. In Firebase authentication web set-up, go to SIGN-IN method, and enable Email/password and Anonymous. 3. Go to Project settings in your Firebase project and copy the Web API Key, Project ID, and App ID. 4. Paste the Project ID, App ID, and Web API Key in your project in Sketchware, in the Firebase settings. 5. On the  MainActivity  page add a File Shared preferences component  user:user  and an Intent  i . Also add a Timer  t  and a Firebase Auth  testlogin . 6. Create a new page  login.xml  with Activity called  LoginActivity . 7. In  onCreate  event of MainActivity use blocks as shown in image below. It identifies main page with  File user key page . It also checks if user is logged in to  FirebaseAuth . If user is logged in then other blocks are executed. If user