자바,array copy 로 다 중 공격 이벤트 구현

본 논문 의 사례 는 자바 가 array copy 로 다 중 공격 사건 을 실현 하 는 세 가지 방법 을 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1.더 블 클릭 이벤트 의 실현
우 리 는 두 번 클릭 한 이벤트 간격 을 500 밀리초 내 에 더 블 클릭 이벤트 로 규정 하 는데 이 값 은 임의로 제한 할 수 있 습 니 다.

    bt_click.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        if(startTime!=0){
          long endTime = System.currentTimeMillis();
          if(endTime-startTime<500){
            Toast.makeText(getApplicationContext(), "     ", 0).show();
          }
        }
        startTime = System.currentTimeMillis();
      }
    });
2.arraycopy 용법
arraycopy 는 배열 복사 에 사용 되 는 함수 입 니 다.
먼저 array copy 의 작은 예 를 보 겠 습 니 다.

    //              
    int src[] = {1,2,3,4,5,6};
    int dest[] = {10,9,8,7,6,5,4,3,2,1};
    //   src 4   copy   dest 
    System.arraycopy(src,1,dest,2,4);

    //    dest
    for(int i=0;i<10;i++)
    {
      System.out.println(dest[i]);
    }

출력 결과

결과적으로 우 리 는 array copy 의 용법 을 알 수 있다
인자:
1.원래 배열(복사 할 배열)
2.원래 배열 의 복사 시작 위치 색인 값
3.목표 배열(원래 배열 의 데이터-복사 C>목표 배열)
4.대상 배열 수용 값 의 시작 색인 위치
5.카피 길이
-
3.다 격 사건 의 실현

private long[] mHits = new long[3];
    bt_many_click.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
        mHits[mHits.length-1] = SystemClock.uptimeMillis();
        if(mHits[mHits.length-1]-mHits[0]<500){
          //         
          Toast.makeText(getApplicationContext(), "     !!!!", 0).show();
        }
      }
    });

mHits 길이 가 3 인 배열(즉 다 중 클릭 횟수),마지막 mHits[mHits.length-1]은 클릭 할 때마다 시간 을 저장 합 니 다.
array copy 를 클릭 할 때마다

3 번 을 충분히 클릭 하면 mHits[0]가 값 이 있 으 면 마지막 클릭 과 첫 번 째 클릭 의 시간 간격 을 판단 하고 우리 가 제한 한 시간 보다 적 으 면 3 타 로 판정 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기