版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51_号码数据库的创建&曾删改查4、在com.itheima. 下创建数据库打开帮助BlackNumberDBOpenHelper,它是继承OpenHelper的5OnCreate6//创建表blacknumber主键_id自增长,number号码,mode 23全部autoincrement,numbervarchar(20),modevarchar(2))");7、创建新包 safe.test并创建测试数据publicvoid }测试框架(manifest根节点)android:targetPackage="com.itheima.safe"/><uses-libraryandroid:name="android.test.runner"helper=newBadd(Stringnumber,StringDatabasedb=helper.getWritableDatabase();ContentValuesvalues=newContentValues();values.put("number",number);values.put("mode",mode);db.insert("blacknumbernullvalues);null,然后数据initialValues为null或size<=0时,就会在sql语句中添加nullColumnHackCdelete(StringDatabasedb=helper.getWritableDatabase();db.delete("blacknumber","number=?",newString[]{number});Dupdate(Stringnumber,StringDatabasedb=helper.getWritableDatabase();ContentValuesvalues=newContentValues();values.put("mode",newMode); E:查询是否存在该号码find(Stringbooleanresult=Databasedb=Cursorcursor=db.query("blacknumber",null,"number=?",String[]{number},null,null,null);result=}returnF:查询模式findMode(StringStringmode=Databasedb=Cursorcursor=db.query("blacknumber",newString[]{"mode"},"number=?",newString[]{number},null,null,null);mode=}returnmode;publicvoidtestadd()BlackNumberDaoblackNumberDao=newBlackNumberDao(getContext());blackNumberDao.add("119","1");}publicvoidtestdelete()BlackNumberDaoblackNumberDao=newBlackNumberDao(getContext());}publicvoidtestupdate()BlackNumberDaoblackNumberDao=newBlackNumberDao(getContext());blackNumberDao.update("119","2");}publicvoidtestfind()BlackNumberDaoblackNumberDao=newbooleanfind=assertEquals(true,}publicvoidtestfindMode()BlackNumberDaoblackNumberDaonewBlackNumberDao(getContext());Stringmode=blackNumberDao.findMode("119");System.out.println("模式:"+mode);}assertEquals:assertSame:A:列出两个模拟器命令:adbdevicesB进入指导模拟器命令:adbsemulator-5554 D:打开数据库命令:3FSQL语句:select*fromgetWritableDatabase()方法)getWritableDatabase()()1100Randomrandom=newfor(inti=0;i<100;i++ }List<BlackNumberInfo>infos=newArrayList<BlackNumberInfo>();Databasedatabase=helper.getWritableDatabase(); String[]{"number","mode"},null,null,null,null,null);BlackNumberInfoinfo=newBlackNumberInfo();Stringnumber=cursor.getString(0);Stringmode=cursor.getString(1);}returnListView显示数据dao=newBlackNumberDao(this);list=dao.findAll();publicintgetCount()//TODOAuto-generatedmethodreturn}publicViewgetView(intposition,ViewconvertView,ViewGroupparent){return}<?xmlversion="1.0"encoding="utf- android:layout_height="wrap_content">android:textSize="20sp"/> android:textSize="16sp"/>android:layout_height="40dip"/>tv_mode.setText("");}elseif("2".equals(info.getMode())){}elseif("3".equals(info.getMode())){tv_mode.setText("+");} Viewif(convertView!=null){view=convertView;Log.i(TAG使用历史缓存的显示数据Log.i(TAG创建新的View的显示数据 R.layout.list_callsmssafe_item,null);}staticclassTextViewtv_number;TextViewtv_mode;}ViewHolderif(convertView!=null){view=convertView;holder=(ViewHolder)holder=new}holder.tv_mode.setText("}elseif("2".equals(info.getMode())){}elseif("3".equals(info.getMode())){holder.tv_mode.setText("+");}54_ListViewUI效果优化newThread()publicvoidrun()listdao.findAll();//privateHandlerhandler=newHandler()publicvoidhandleMessage(android.os.Messagemsg){lv_call_sms_safe.setAdapter(newCallSmsSafeAdapter());android:layout_height="match_parent">android:layout_height="match_parent">android:orientation="vertical">android:layout_height="wrap_content"/>android:layout_height="wrap_content"/>selectnumbermodefromblacknumberlimit10offset publicList<BlackNumberInfo>findPart(inttry}catch(InterruptedExceptione)//TODOAuto-generatedcatchblock}List<BlackNumberInfo>infos=newArrayList<BlackNumberInfo>();Databasedatabase=helper.getWritableDatabase();Cursorcursor=database.rawQuery("selectnumber,modefromblacknumberlimit20offset?",newString[]{startIndex+""});BlackNumberInfoinfo=newBlackNumberInfo();Stringnumber=cursor.getString(0);Stringmode=cursor.getString(1);}return} scrollState)switch(scrollState) lv_call_sms_safe.getLastVisiblePosition();//19最后一条显示的位置inttotallist.size();//20据
if(position==(total-Toast.makeText(getApplicationContext(),"加载数}}}publicvoidonScroll(AbsListViewview,intintvisibleItemCount,inttotalItemCount)}privateintstartIndex=if(position==(total-Toast.makeText(getApplicationContext()加载 startIndex=startIndexstartIndex+=20;}if(list==listdao.findPart(startIndex);//}privateCallSmsSafeAdapterif(adapter==adapter=newCallSmsSafeAdapter();}privatebooleanisLoading=}isLoading=handlerisLoading=*publicintintcount=Databasedatabase= blacknumber",null);count=cursor.getInt(0);}returncount;}if(startIndex>=total){Toast.makeText(getApplicationContext(),"已经最后一条了",}<?xmlversion="1.0"encoding="utf-<LinearLayout android:orientation="vertical">android:textSize="22sp"/>android:hint="请输入"android:inputType="phone"/>android:orientation="horizontal"> "/>android:text=""/>android:text="全部"/>android:layout_height="wrap_content">android:text="确定"/>android:text="取消"/>3、添加点击publicvoidaddBlackNumber(Viewview){AlertDialog.Builderbuilder=newBuilder(this);AlertDialogdialog=builder.create(); R.layout.dialog_add_blacknumber,null);dialog.setView(contentView,0,0,0,0);}id:et_blacknumber、rg_mode、rb_all、rb_phone、rb_sms、ok、cancelStringnumber=if(TextUtils.isEmpty(number)){Toast.makeText(CallSmsSafeActivity.this号码为空",
}intid=Stringmode="3";//模switch(id)caseR.id.rb_all:mode="3";caseR.id.rb_phone:mode="1";caseR.id.rb_sms:mode="2";}dao.add(number,mode);totalCountdao.getTotalCount();//20offsetBlackNumberInfoinfo=newBlackNumberInfo();list.add(0,info);listView的item默认是有点击效果的画图回顾传递过程publicvoidonClick(Viewv){BlackNumberInfoblackNumberInfo=list.get(position);Stringnumber=blackNumberInfo.getNumber();}publicclassCallSmsSafeServiceextendsServicepublicstaticfinalStringTAG=privateBlackNumberDaoprivateInnerSmsReceiverpublicIBinderonBind(Intentintent)//TODOAuto-generatedmethodreturn}classInnerSmsReceiverextendspublicvoidonReceive(ContextcontextIntentintentLog.i(TAG,"内部类的广播接收者--收到一条了");Object[]objs=(Object[])for(Objectobj:SmsMessagesms=SmsMessage.createFromPdu((byte[])Stringsendersms.getOriginatingAddress();//Stringmode=dao.findMode(sender);}}}}publicvoidonCreate()//TODOAuto-generatedmethoddao=newreceiver=newInnerSmsReceiver();IntentFilterfilter=newIntentFilter();registerReceiver(receiver,filter);}publicvoidonDestroy()//TODOAuto-generatedmethodstubreceiver=null;}}解压金山卫士APK,进入 ,找到数据Stringbody=Log.i(TAG,"到的");} 58_的原理在arm类型的里演 1 原 tm=(ephonyManager)getSystemService(EPHONY_SERVICE);listener=newMyPhoneListener();tm.listen(listener,PhoneStaswitch(state)case Stringmode= if("1".equals(mode)||"3".equals(mode)){Log.i(TAG,"的,马上挂断");}}tm.lis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 麦芽制麦工操作规范模拟考核试卷含答案
- 电影制片人及摄制团队成员绩效评定表
- 耐火原料加工成型工操作规程水平考核试卷含答案
- 井下水采工岗中岗位适应能力考核试卷含答案
- 汽轮机转子装配调试工操作安全知识考核试卷含答案
- 钽铌加工材制取工岗位晋升能力考核试卷含答案
- 斫琴师诚信品质评优考核试卷含答案
- 地毯络筒工安全综合强化考核试卷含答案
- 标本员岗位质量综合考核试卷含答案
- 教师教学水平与学生评价绩效表
- 2026年中考语文真题文言文汇编56份(分师生版)
- 江苏银行2027届校园招聘笔试参考题库及答案详解
- 中央空调工艺考核制度
- 江西省职业技能等级认定个人申报表、承诺书、职业技能等级认定档案材料清单
- 健身房会员合同样本
- DB13∕T 6056-2025 涉路工程技术评价规范
- 板框压滤机工艺培训
- 2025年法务专业知识试题及答案
- 构造地质学看图题与答案
- 02章 电催化过程
- 模块3 项目论证与评估《现代项目管理》教学课件
评论
0/150
提交评论