Android 开发程序锁应用简单实例

Android 开发程序锁应用简单实例,第1张

概述1.基本思路①.创建已加锁应用的数据库(字段:_id,packagename),如果应用已加锁,将加锁应用的包名维护到数据库中

1.基本思路

①.创建已加锁应用的数据库(字段:_ID,packagename),如果应用已加锁,将加锁应用的包名维护到数据库中

②.已加锁+未加锁 == 手机中所有应用(AppInfoProvIDer)

2.已加锁和未加锁的数据适配器

class MyAdapter extends BaseAdapter{  private boolean isLock;  /**   * @param isLock  用于区分已加锁和未加锁应用的标示  true已加锁数据适配器  false未加锁数据适配器   */  public MyAdapter(boolean isLock) {    this.isLock = isLock;  }  @OverrIDe  public int getCount() {    if(isLock){      tv_lock.setText("已加锁应用:"+mlockList.size());      return mlockList.size();    }else{      tv_unlock.setText("未加锁应用:"+mUnLockList.size());      return mUnLockList.size();    }  }  @OverrIDe  public AppInfo getItem(int position) {    if(isLock){      return mlockList.get(position);    }else{      return mUnLockList.get(position);    }  }  @OverrIDe  public long getItemID(int position) {    return position;  }  @OverrIDe  public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) {    VIEwHolder holder = null;    if(convertVIEw == null){      convertVIEw = VIEw.inflate(getApplicationContext(),R.layout.ListvIEw_islock_item,null);      holder = new VIEwHolder();      holder.iv_icon = (ImageVIEw) convertVIEw.findVIEwByID(R.ID.iv_icon);      holder.tv_name = (TextVIEw) convertVIEw.findVIEwByID(R.ID.tv_name);      holder.iv_lock = (ImageVIEw) convertVIEw.findVIEwByID(R.ID.iv_lock);            convertVIEw.setTag(holder);    }else{      holder = (VIEwHolder) convertVIEw.getTag();    }    final AppInfo appInfo = getItem(position);    final VIEw animationVIEw = convertVIEw;        holder.iv_icon.setBackgroundDrawable(appInfo.icon);    holder.tv_name.setText(appInfo.name);    if(isLock){      holder.iv_lock.setBackgroundResource(R.drawable.lock);    }else{      holder.iv_lock.setBackgroundResource(R.drawable.unlock);    }    holder.iv_lock.setonClickListener(new OnClickListener() {      @OverrIDe      public voID onClick(VIEw v) {        //添加动画效果,动画默认是非阻塞的,所以执行动画的同时,动画以下的代码也会执行        animationVIEw.startAnimation(mTranslateAnimation);//500毫秒        //对动画执行过程做事件监听,监听到动画执行完成后,再去移除集合中的数据, *** 作数据库,刷新界面        mTranslateAnimation.setAnimationListener(new AnimationListener() {          @OverrIDe          public voID onAnimationStart(Animation animation) {            //动画开始的是调用方法          }          @OverrIDe          public voID onAnimationRepeat(Animation animation) {            //动画重复时候调用方法          }          //动画执行结束后调用方法          @OverrIDe          public voID onAnimationEnd(Animation animation) {            if(isLock){              //已加锁------>未加锁过程              //1.已加锁集合删除一个,未加锁集合添加一个,对象就是getItem方法获取的对象              mlockList.remove(appInfo);              mUnLockList.add(appInfo);              //2.从已加锁的数据库中删除一条数据              mDao.delete(appInfo.packagename);              //3.刷新数据适配器              mlockAdapter.notifyDataSetChanged();            }else{              //未加锁------>已加锁过程              //1.已加锁集合添加一个,未加锁集合移除一个,对象就是getItem方法获取的对象              mlockList.add(appInfo);              mUnLockList.remove(appInfo);              //2.从已加锁的数据库中插入一条数据              mDao.insert(appInfo.packagename);              //3.刷新数据适配器              mUnLockAdapter.notifyDataSetChanged();            }          }        });      }    });    return convertVIEw;  }}MyAdapter
mlockAdapter = new MyAdapter(true);lv_lock.setAdapter(mlockAdapter);       mUnLockAdapter = new MyAdapter(false);lv_unlock.setAdapter(mUnLockAdapter);

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的Android 开发程序锁应用简单实例全部内容,希望文章能够帮你解决Android 开发程序锁应用简单实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1147936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存