6月11日 学习收获

本文深入探讨了程序开发领域的关键概念和技术,包括文件操作、线程管理、解析XML数据以及数据备份与还原流程。通过具体示例展示了如何使用File API、ContentResolver与ContentProvider进行文件交互,以及如何在子线程中执行耗时操作并使用Toast进行通知。同时,阐述了从XML文件解析数据并将其插入到应用程序中的详细步骤,强调了在解析过程中的注意事项和最佳实践。
能写八个小时程序,没感觉厌烦,没有玩游戏浪费时间
          学到的东西: File的参数   contentresolver与contentprovider?  resolver
List<Obj>实例化时用Arraylist<Obj>

构造有参数和无参数的构造方法

new Thread(){}.start();

重写run方法

new Thread(){

               @Override
               public void run() {
                   
                    super.run();
               }
              
              
          }.start();

for迭代参数    
          List<SmsInfo> smsInfos=service.getSmsInfos();  for(尖括号参数类型 参数:集合名){}
                    for(SmsInfo s:smsInfos){
                        
                    }

File api参数
     File file = new File (String path);
          File file=new File();
     File file=new File("sdcard/smsbackup.xml");    
    
    
    
         
          子线程显示Toast标准写法
                         Looper.prepare();
                         Toast.makeText(getApplicationContext(), "备份完成", 0).show();
                         Looper.loop();    
         
    耗时操作 放在service中 开启一个子线程 重写run方法


          run方法中的内容:得到集合List 写入xml文件
          (new File,new 序列化器,输出流,xmlSerializer set流和编码"UTF-8",设置xml头尾 ,for迭代头 内容 尾,刷新和关闭流,Toast)      


备份的还原:
读取xml文件 解析xml数据 将数据插入到短信中
流 解析 插入(一条短信结束节点,ContentReslover insert)  不可消除的对话框(防止终止还原)

解析注意点:

int event = parser.getEventType();

ContentValues values=null;其实是一个List<Obj>集合

while (event!=XmlPullParser.END_DOCUMENT){} XmlPullParser

switch case id :

 values = new ContentValues();


  getName()      "smss".equals(parser.getName())  


 values.put( "address",  parser.nextText());

例子:switch (event) {
           case XmlPullParser. START_TAG:
               if( "smss".equals(parser.getName())){
                    values = new ContentValues();
              }
              
               if( "address".equals(parser.getName())){
                   values.put( "address",  parser.nextText());
              }


解析完一条短信,插入短信应用  ContentResolver  insert  Uri. parse( "content://sms/"
 values= null;
if("smss" .equals(parser.getName())){
              ContentResolver resolver =      context.getContentResolver();
               resolver.insert(Uri. parse("content://sms/"), values);
              values= null;
              }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值