dome

来源:互联网 发布:mac使命召唤4作弊码 编辑:程序博客网 时间:2024/05/22 07:57
/**
      * 寻找节点并点击
      *
      *@paramnode节点
      *@throwsUiObjectNotFoundException
      */
     publicvoidaccess(Stringnode)throwsUiObjectNotFoundException {
          UiObjectobject;
          sleep(1000);
          in:for(inti= 0;i< 30;i++) {
              object=newUiObject(newUiSelector().text(node));
              if(object.exists()) {
                   sleep(1000);
                   object.click();
                   sleep(1000);
                   breakin;
              }else{
                   sleep(1000);
              }
          }
     }

     /**
      * 点击左上角
      *
      *@paramnode 节点
      *@throwsUiObjectNotFoundException
      */
     publicvoidaccessTopLeft(Stringnode)throwsUiObjectNotFoundException {
          UiObjectobject;
          Rectr;

          in:for(inti= 0;i< 30;i++) {
              object=newUiObject(newUiSelector().text(node));
              if(object.exists()) {
                   r=object.getBounds();
                   sleep(1000);
                   UiDevice.getInstance().click(r.left, (r.top- 5));
                   sleep(1000);
                   breakin;
              }else{
                   sleep(1000);
              }
          }

     }
     
     /**
      * 读取文件
      *@parampath     文件路径
      *@paramjsonContent   需要解析的内容
      *@return
      *@throwsIOException
      */
     publicString FileOut(Stringpath, StringjsonContent)throwsIOException {
          Stringcontent="";// 文件内容字符串
          // 打开文件
          Filefile=newFile(path);
          // 如果path是传递过来的参数,可以做一个非目录的判断
          if(file.isDirectory()) {
          }else{
              BufferedReaderin=newBufferedReader(newInputStreamReader(newFileInputStream(file),"UTF-8"));
              if(in!=null) {
                   Stringline;
                   // 分行读取
                   while((line=in.readLine()) !=null) {
                        content+=line;
                   }
                   in.close();
              }
          }
          returncontent;

     }
     
     /**
      * 获取聊天结果后解析
      *
      *@paramjsonContent        需要解析的内容
      *           
      *@paramjsonResult    需要解析的结果
      *           
      *@throwsIOException
      *@throwsJSONException
      */
     publicString getJosn(StringjsonContent, StringjsonResult)throwsIOException {
          Stringcon=jsonContent;
          JSONObjectroot;
          try{
              root=newJSONObject(con.toString());
              con=root.getString(jsonResult);
          }catch(Exceptione) {
              //TODO: handle exception
              e.printStackTrace();
          }
          returncon;
     }
     
     /**
      * 随机时间 3-5秒
      *
      *@return
      */
     publicvoidreminderSleep() {

          java.util.Randomrandom=newjava.util.Random();
          intresult=random.nextInt(2);
          inti= (result+ 3) * 1000;
          sleep(i);
     }
     
     /**
      * 随机数
      *
      *@paramn 0-n种随机数字
      *@return
      */
     publicintrandomN(intn) {
          inti= 0;
          java.util.Randomrandom=newjava.util.Random();
          i=random.nextInt(n);

          returni;
     }
     
     /**
      * linux命令
      *@paramcmd 需要执行的命令
      *@throwsIOException
      */
     publicvoidcmd(Stringcmd)throwsIOException {
          
          Runtime.getRuntime().exec(cmd);
          sleep(1000);
     }
     
     /**
      * 三次返回并点击Home键
      */
     publicvoidback() {
          UiDevice.getInstance().pressBack();
          UiDevice.getInstance().pressBack();
          UiDevice.getInstance().pressBack();
          UiDevice.getInstance().pressHome();
     }
     
     /**
      * 获取当前时间并判断
      *@paramtime需要判断的时间
      *@return
      *@throwsInterruptedException
      */
     publicbooleantime(Stringtime)throwsInterruptedException {
          in:for(inti= 0;i< 20;i++) {
              SimpleDateFormatformat=newSimpleDateFormat("yyyy:MM:dd HH:mm:ss");
              Stringstr=format.format(newDate());
              if(str.equals(time)) {
                   breakin;
              }else{
                   Thread.sleep(60000);
              }    
          }
          returntrue;
     }
     
     
     /**
      * 写入一个JSON
      *@param runPath 路径
      *@params
      *@throwsIOException
      */
     publicvoidputJSON(StringrunPath)throwsIOException {
          // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd
          // HH:mm:ss");
          // String str = format.format(new Date());
          runPath="mnt/sdcard/wlk/config/1.txt";

              FileWriterfw  =newFileWriter(runPath,true);
              fw.write("{");
              for(inti= 1;i< 2000;i++) {
                   fw.write("\"N"+i+"账号\":\""+"\r\n");
                   fw.write("\",\"N"+i+"密码\":\""+"\r\n");
                   fw.write("\",");
              }
              fw.write("}");
              fw.flush();
              fw.close();

     }
     
     /**
      * 写入
      *@parampath     路径
      *@paramcontent  写入内容
      *@throwsIOException
      */
     publicvoidputContent(Stringpath, Stringcontent)throwsIOException {
          FileWriterfw=newFileWriter(path,true);      //true 不覆盖写入
          fw.write(content);
          fw.flush();//清控队列
          fw.close();//关闭
     }
     
     /**
      * 获得输入框 输入内容 并点击发送
      *@paramcontent  需要输入的内容 输入中文需要切换输入法
      *@throwsUiObjectNotFoundException
      *@throwsIOException
      */
     publicvoidsetText(Stringcontent)throwsUiObjectNotFoundException, IOException {        
          UiObjectobject;
          Stringcmd2="am broadcast -a com.example.android.softkeyboard -e content ";
          object=newUiObject(newUiSelector().className(EditText.class.getName()));
          if(object.exists()) {
              Runtime.getRuntime().exec(cmd2+escape(content));
              sleep(1000);
              
              object=newUiObject(newUiSelector().text("发送"));
              object.click();
              sleep(1000);
          }
     }
     
     /**
      * 截图后另存为
      *
      *@paramrect
      *@parampath
      */
     publicvoidcutBitmp(Rectrect, Stringpath,inta) {
          Bitmapm= BitmapFactory.decodeFile(path);
          m=m.createBitmap(m,rect.left,rect.top,rect.width(),rect.height());
          saveBitMapToSdcard(m,"talk"+a);
     }

     /**
      * 获得全图并从全图中截图
      *
      *@paramm
      *@paramnewName
      */
     publicvoidsaveBitMapToSdcard(Bitmapm, StringnewName) {
          FileOutputStreamout=null;
          try{
              out=newFileOutputStream("/mnt/sdcard/wlk/image/"+newName+".jpg");
              if(out!=null) {
                   m.compress(Bitmap.CompressFormat.JPEG, 90,out);
                   out.close();
              }
          }catch(Exceptione) {
              thrownewRuntimeException(e);
          }
     }
     
     
     /**
      * 执行ADB命令并获取返回值
      *
      *@throwsUnsupportedEncodingException
      */
     publicString testcmd(Stringcmd)throwsUnsupportedEncodingException {
     
          Stringcoordinate="";
          StringstrLine=null;

          try{
              // Runtime对象
              Runtimeruntime= Runtime.getRuntime();
              // 执行命令,并且获得Process对象
              Processprocess=runtime.exec(cmd);
              // 获得结果的输入流
              InputStreaminput=process.getInputStream();
              BufferedReaderbr=newBufferedReader(newInputStreamReader(input));
              while(null!= (strLine=br.readLine())) {
                   coordinate+=strLine;
              }
              br.close();
              input.close();
                                           
          }catch(IOExceptione) {
              e.printStackTrace();
          }
          returncoordinate;

     }
     
     
     
     publicstaticString escape(Strings) { 
         StringBuffersbuf=newStringBuffer(); 
        intlen=s.length(); 
        for(inti= 0;i<len;i++) { 
            intch=s.charAt(i); 
            if('A'<=ch&&ch<='Z') { 
                sbuf.append((char)ch); 
             }elseif('a'<=ch&&ch<='z') { 
                sbuf.append((char)ch); 
             }elseif('0'<=ch&&ch<='9') { 
                sbuf.append((char)ch); 
             }elseif(ch=='-'||ch=='_'||ch=='.'||ch=='!' 
                     ||ch=='~'||ch=='*'||ch=='\''||ch=='(' 
                     ||ch==')') { 
                sbuf.append((char)ch); 
             }elseif(ch<= 0x007F) { 
                sbuf.append('%'); 
                sbuf.append(hex[ch]); 
             }else
                sbuf.append('%'); 
                sbuf.append('u'); 
                sbuf.append(hex[(ch>>> 8)]); 
                sbuf.append(hex[(0x00FF &ch)]); 
             } 
         } 
        returnsbuf.toString(); 
     } 

privatefinalstaticString[]hex= {"00","01","02","03","04","05"
       "06","07","08","09","0A","0B","0C","0D","0E","0F","10"
       "11","12","13","14","15","16","17","18","19","1A","1B"
       "1C","1D","1E","1F","20","21","22","23","24","25","26"
       "27","28","29","2A","2B","2C","2D","2E","2F","30","31"
       "32","33","34","35","36","37","38","39","3A","3B","3C"
       "3D","3E","3F","40","41","42","43","44","45","46","47"
       "48","49","4A","4B","4C","4D","4E","4F","50","51","52"
       "53","54","55","56","57","58","59","5A","5B","5C","5D"
       "5E","5F","60","61","62","63","64","65","66","67","68"
       "69","6A","6B","6C","6D","6E","6F","70","71","72","73"
       "74","75","76","77","78","79","7A","7B","7C","7D","7E"
       "7F","80","81","82","83","84","85","86","87","88","89"
       "8A","8B","8C","8D","8E","8F","90","91","92","93","94"
       "95","96","97","98","99","9A","9B","9C","9D","9E","9F"
       "A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","AA"
       "AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5"
       "B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0"
       "C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB"
       "CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6"
       "D7","D8","D9","DA","DB","DC","DD","DE","DF","E0","E1"
       "E2","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC"
       "ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7"
       "F8","F9","FA","FB","FC","FD","FE","FF"}; 
0 0