zoukankan      html  css  js  c++  java
  • 获取手机安装的全部应用的示例教程

    android用sharepreference保存输入框中的内容

    http://www.eoeandroid.com/thread-199222-1-1.html

    Android之ScrollView嵌套ListView

    http://www.eoeandroid.com/thread-198859-1-1.html

    android根据View的不同状态更换不同的背景

    http://www.eoeandroid.com/thread-198029-1-1.html

    package com.isoftstone.apk_demo;
     
    import android.app.Activity; 
    import android.app.ProgressDialog; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Button;
     
    public class APK_DemoActivity extends Activity implements android.view.View.OnClickListener{
     
        /** Called when the activity is first created. */
     
            public Intent mIntent;
            static ProgressDialog pd;
     
        @Override
     
        public void onCreate(Bundle savedInstanceState) {
     
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.main);
            Button button=(Button)findViewById(R.id.button1);
             button.setOnClickListener(this);
     
           
        }
            @Override
     
            public void onClick(View v) { 
                    // TODO Auto-generated method stub
     
                    Intent intent=new Intent(this,main.class); 
                    
                    Dialog(); 
                    startActivity(intent);                 
            }
              
               public void Dialog(){                                        
     
                        pd = new ProgressDialog(APK_DemoActivity.this);
                pd.setMessage("亲! 正在扫描中哦....");
                        pd.show();
     
               }
     }
     
    package com.isoftstone.apk_demo;
     
    
    import java.util.ArrayList; 
    import java.util.HashMap; 
    import java.util.List; 
    import android.app.Activity; 
    import android.app.ProgressDialog; 
    import android.content.Context; 
    import android.content.Intent; 
    import android.content.pm.ResolveInfo; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.AdapterView; 
    import android.widget.Button; 
    import android.widget.ListView; 
    import android.widget.TextView;
     
    
    public class main extends Activity implements  android.view.View.OnClickListener{
     
        /** Called when the activity is first created. */
     
            public Intent mIntent; 
            private ProgressDialog pd; 
            int i=0;
     
            public List<ResolveInfo> installApps = null;// 本机已经安装程序列表 
            private ListView lv_content;// 内容显示区域 
            public static final int installWhat = 1;// 安装程序列表 
    public static final int appPermissionWhat = 5;// 某个程序的权限页面处理 Context context; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main0);
    Button button
    =(Button)findViewById(R.id.button1); button.setOnClickListener(this); try { handleInstall(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 处理本机安装程序 * * @throws Exception */ private void handleInstall() throws Exception { // 1.设置操作按钮可见(扫描已安装程序) // 3.得到本机安装应用程序 if (installApps == null) { mIntent = new Intent(Intent.ACTION_MAIN, null); mIntent.addCategory(Intent.CATEGORY_LAUNCHER); installApps = getPackageManager().queryIntentActivities(mIntent, 0); } List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();// 将本机安装程序收集 for (ResolveInfo info : installApps) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("name", info.loadLabel(this.getPackageManager()).toString()); map.put("packageName", info.activityInfo.packageName); map.put("img", info.loadIcon(this.getPackageManager())); list.add(map); } setTitle("共安装" + installApps.size() + "个程序");// 设置标题 // 3.将程序显示到页面上 lv_content = (ListView) this.findViewById(R.id.listView1); SearchAdapter adapter = new SearchAdapter(this, list, R.layout.list_content_main, new String[] { "name", "packageName", "img" }, new int[] { R.id.activityInfo_name, R.id.activityInfo_packageName, R.id.activityInfo_img });// 自定义适配器 lv_content.setAdapter(adapter); } @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); APK_DemoActivity.pd.cancel(); } }
    package com.isoftstone.apk_demo;
     
    import java.util.HashMap; 
    import java.util.List; 
    import java.util.Map;
    import android.content.Context; 
    import android.graphics.Bitmap; 
    import android.graphics.Canvas; 
    import android.graphics.Color; 
    import android.graphics.PixelFormat; 
    import android.graphics.drawable.Drawable; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.CheckBox; 
    import android.widget.Checkable; 
    import android.widget.ImageView; 
    import android.widget.SimpleAdapter; 
    import android.widget.TextView;
     
    /** 
    * 自定义Adapter 
    * 
    * @author machao 
    * @mail zeusmc.163.com 
    * 
    */
     
    public class SearchAdapter extends SimpleAdapter {
     
            private Map<Integer, View> viewMap = new HashMap<Integer, View>();
     
            private int[] mTo; 
            private String[] mFrom; 
            private ViewBinder mViewBinder;
            private List<? extends Map<String, ?>> mData;
            private int mResource;
            private LayoutInflater mInflater;
     
            public SearchAdapter(Context context, List<? extends Map<String, ?>> data,int resource, String[] from, int[] to) {
     
                    super(context, data, resource, from, to);
     
                    mData = data;
                     mResource = resource;
                     mFrom = from; 
                    mTo = to;
     
                    mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
            }
     
            public View getView(int position, View convertView, ViewGroup parent) {
     
                    return createViewFromResource(position, convertView, parent, mResource); 
            }
     
            private View createViewFromResource(int position, View convertView,ViewGroup parent, int resource) {
     
                    View rowView = this.viewMap.get(position);
     
                    if (rowView == null) {
     
                            rowView = mInflater.inflate(resource, null);
     
                            final int[] to = mTo; 
                            final int count = to.length; 
                            final View[] holder = new View[count];
     
                            for (int i = 0; i < count; i++) {
     
                                    holder[i] = rowView.findViewById(to[i]);
                             }
     
                            rowView.setTag(holder); 
                            bindView(position, rowView); 
                            viewMap.put(position, rowView);
     
                    } 
                    return rowView; 
            }
     
            @SuppressWarnings("unchecked")
     
            private void bindView(int position, View view) {
     
                    final Map dataSet = mData.get(position);
                     if (dataSet == null) {
     
                            return;
     
                    }
     
                    final ViewBinder binder = mViewBinder; 
                    final View[] holder = (View[]) view.getTag(); 
                    final String[] from = mFrom; 
                    final int[] to = mTo;
                     final int count = to.length;
     
    
                    for (int i = 0; i < count; i++) {
     
                            final View v = holder[i];
     
                            if (v != null) {
     
                                    final Object data = dataSet.get(from[i]);
     
                                    String urlText = null; 
    
                                    if (data == null) {
     
                                            urlText = "";
     
                                    } else {
     
                                            urlText = data.toString();
     
                                    }
                                    boolean bound = false;
     
                                    if (binder != null) {
     
                                            bound = binder.setViewValue(v, data, urlText);
     
                                    }
                                    if (!bound) {
     
                                            if (v instanceof CheckBox) {
     
                                                    ((CheckBox) v).setText(data.toString());
     
                                            } else if (v instanceof Checkable) {
     
                                                    if (data instanceof Boolean) {
     
                                                            ((Checkable) v).setChecked((Boolean) data); 
                                                    } else {
     
                                                            throw new IllegalStateException(v.getClass()
     
                                                                            .getName()
     
                                                                            + " should be bound to a Boolean, not a "
     
                                                                            + data.getClass());
                                                    }
     
                                            } else if (v instanceof TextView) {
     
                                                    setViewText((TextView) v, urlText);
     
                                            } else if (v instanceof CheckBox) {
     
                                            } else if (v instanceof ImageView) {
     
                                                    if (data instanceof Integer) {
     
                                                            setViewImage((ImageView) v, (Integer) data); 
                                                    }
     
                                                    if (data instanceof Drawable) {
                                                            setViewImage((ImageView) v, (Drawable) data);
     
                                                    } else {
                                                             if (urlText != null && data != null) {
     
                                                                    setViewImage((ImageView) v, urlText);
                                                            } else {
     
                                                                    
                                                                    TextView tv = ((TextView) view .findViewById(R.id.activityInfo_name));
     
                                                                    tv.setTextColor(Color.RED);
                                                                    tv.setTextSize(18);
                                                                    view.setClickable(false); 
                                                                    view.setFocusable(false); 
                                                                    view.setFocusableInTouchMode(false);
     
                                                            }
     
                                                    }
     
                                            } else {
     
                                                    throw new IllegalStateException(
     
                                                                    v.getClass().getName()
     
                                                                                    + " is not a "
     
                                                                                    + " view that can be bounds by this SimpleAdapter");
     
                                            }
                                    } 
                            }
                    } 
            }
    
            public void setViewImage(ImageView v, int value) {
                    v.setImageResource(value);
     
            }
    
            public void setViewImage(final ImageView v, Drawable drawable) {
     
                    Bitmap bitmap = Bitmap .createBitmap(
     
                                                    drawable.getIntrinsicWidth(),
     
                                                    drawable.getIntrinsicHeight(),
     
                                                    drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
       : Bitmap.Config.RGB_565);
     
                    Canvas canvas = new Canvas(bitmap);
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable .getIntrinsicHeight());
     
                    drawable.draw(canvas);
                    ((ImageView) v).setImageBitmap(bitmap);
     
            }
    
    }
     

    效果图:

      

      

    下载地址

  • 相关阅读:
    BATJ面试必会之 Spring 篇(一)
    BATJ面试必会之Java IO 篇
    BATJ面试必会之并发篇
    如何学习JavaEE,项目又该如何做?
    面试官问你“有什么问题问我吗?”,你该如何回答?
    表单输入实时检测
    HTML5实现摇一摇
    加载音频Audio
    关于meta标签
    JS倒计时
  • 原文地址:https://www.cnblogs.com/vus520/p/2681378.html
Copyright © 2011-2022 走看看