The Android software information is stored in packageinfo,ApplicationinfoIt mainly includesName, package tag, version, and Icon Information,
Source code:
</P> <p> Import Java. util. arraylist; <br/> Import Java. util. hashmap; <br/> Import Java. util. list; <br/> Import Java. util. map; </P> <p> Import android. app. activity; <br/> Import android. content. context; <br/> Import android. content. PM. packageinfo; <br/> Import android. content. PM. packagemanager; <br/> Import android. OS. bundle; <br/> Import android. view. layoutinflater; <br/> Import android. view. view; <br/> Import android. view. viewgroup; <br/> Import android. widget. baseadapter; <br/> Import android. widget. imageview; <br/> Import android. widget. listview; <br/> Import android. widget. textview; <br/> public class gesturestartactivity extends activity {<br/> private list <packageinfo> packageinfos; </P> <p> private listview = NULL; </P> <p> @ override </P> <p> Public void oncreate (bundle savedinstancestate) {</P> <p> super. oncreate (savedinstancestate); </P> <p> listview = new listview (this); </P> <p> packageinfos = getpackagemanager (). getinstalledpackages (packagemanager. get_uninstalled_packages | packagemanager. get_activities); <br/> listviewadapter adapter = new listviewadapter (gesturestartactivity. this, packageinfos); <br/> listview. setadapter (adapter); </P> <p> setcontentview (listview ); </P> <p >}< br/> class listviewadapter extends baseadapter {<br/> layoutinflater Inflater; <br/> List <packageinfo> pkinfos; </P> <p> Public listviewadapter (context, list <packageinfo> packageinfos) {<br/> Inflater = layoutinflater. from (context); <br/> This. pkinfos = packageinfos; <br/>}</P> <p> @ override <br/> Public int getcount () {<br/> // todo auto-generated method stub <br/> return pkinfos. size (); <br/>}</P> <p> @ override <br/> Public object getitem (INT arg0) {<br/> // todo auto-generated method stub <br/> return pkinfos. get (arg0); <br/>}</P> <p> @ override <br/> Public long getitemid (INT position) {<br/> // todo auto-generated method stub <br/> return position; <br/>}</P> <p> @ override <br/> Public View getview (INT position, view convertview, viewgroup parent) {<br/> View view = Inflater. inflate (R. layout. lv_item, null); <br/> textview TV _appname = (textview) view. findviewbyid (R. id. lv_item_appname); <br/> textview TV _packagename = (textview) view. findviewbyid (R. id. lv_item_packageame); <br/> imageview IV = (imageview) view. findviewbyid (R. id. lv_icon); </P> <p> // TV. settext (packageinfos. get (position ). packagename); <br/> TV _appname.settext (pkinfos. get (position ). applicationinfo. loadlabel (getpackagemanager (); <br/> TV _packagename.settext (pkinfos. get (position ). packagename); <br/> IV. setimagedrawable (pkinfos. get (position ). applicationinfo. loadicon (getpackagemanager (); <br/> return view; <br/>}</P> <p>}