안 드 로 이 드 입문 (2)

7622 단어 이동 테스트
1. 요청 네트워크
1.1 Android 에서 네트워크 를 요청 하 는 방법
  • 안 드 로 이 드 에 서 는 네트워크 요청 을 위해 Httpclient 를 가 져 왔 으 나 새 버 전에 서 제거 되 었 습 니 다
  • HttpURLConnection, API 가 간단 하고 부피 가 작 아서 안 드 로 이 드 와 같은 모 바 일 기기 에 매우 적합 합 니 다
  • 실제 프로젝트 에서 네트워크 프레임 워 크 를 선택 합 니 다. Android / Java 개발 은 대부분 Okhttp 프레임 워 크 입 니 다. HTTP, HTTP / 2 프로 토 콜 을 지원 합 니 다.HttpURLConnection, Httpclient 가 지원 하지 않 는 특성 도 많 습 니 다.

  • 1.2 네트워크 접근 권한 추가
    AndroidManifest.xml      :
    
    

    ps: Android 6.0 부터 동적 처리 권한 을 만 들 고 targetSDK 를 22 로 설정 하면 동적 처리 권한 을 사용 하지 않 습 니 다.단, Google Play 에 업로드 하려 면 최소 26 버 전이 필요 합 니 다.
    1.3 OkHttp 의존 도 추가
    OkHttp 는 의존 도 를 추가 해 야 사용 할 수 있 는 제3자 프레임 워 크 입 니 다.
    implementation 'com.squareup.okhttp3:3.14.0'
    
      JDK    :
    android {
        ...
        compileOptions{
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    

    1.4 GET 요청 보 내기
        //  OkHttpClient,          
        private OkHttpClient okHttpClient = new OkHttpClient();
    
    public void getNetworkData(View view) {
            //      ,         
            //  Android            ,      AsynTask               
            new Thread(){
                @Override
                public void run() {
                    super.run();
    
                    //    Request, ,             ,           
                     Request request = new Request.Builder().url("https://www.baidu.com").build();
    
                    try {
                        //  newCall  ,       Request  ,    execute         
                        Response response = client.newCall(request).execute();
    
                        //    response body  string           
                        String result = response.body().string();
    
                        //            ,               ,           (Android  )
                        Log.d("TAG",result);
                        
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }.start();
    
        }
    

    요약:
  • 비동기 든 동기 화 든 먼저 OkHttpClinet 을 만 들 고 전체 국면 에 하나만 있 는 것 을 권장 합 니 다
  • 그리고 Request 의 내부 클래스 Builder 만 Request 를 만 들 고 웹 주 소 를 설정 합 니 다
  • new Call 방법 으로 request
  • 를 호출 합 니 다.
  • new Call 방법 으로 돌아 오 는 Call 에 대응 하 는 execute 로 이 요청 을 수행 합 니 다
  • response 의 isSuccessful 방법 을 호출 하여 요청 성공 여 부 를 판단 합 니 다
  • response 의 body string 방법 을 호출 하여 문자열 을 가 져 옵 니 다
  • response. body () 를 호출 하 는 다른 방법 으로 bytes 배열, 입력 흐름 등 정보
  • 1.5 http 요청 실행
    Android 9.0 에서 모든 http 요청 을 기본적으로 사용 하지 않 습 니 다. http 를 사용 하려 면 목록 파일 에 추가 합 니 다.
    android:usesCleartestTraffic='true'
    

    1.6 실행 결과
    Android入门(二)_第1张图片
    2. 자주 사용 하 는 input 명령
    ps: adb 셸 에 먼저 들 어가 야 합 니 다.
    2.1 입력 텍스트
    input text test
    input text "https:www.baidu.com"
    

    2.2 버튼
    input keyevent 3
    
          :
    KEYCODE_UNKNOWN=0;	
    KEYCODE_DPAD_CENTER=23;
    KEYCODE_R=46;
    KEYCODE_MINUS=69;
    KEYCODE_SOFT_LEFT=1;
    KEYCODE_VOLUME_UP=24;
    KEYCODE_S=47;
    KEYCODE_EQUALS=70;
    KEYCODE_SOFT_RIGHT=2;
    KEYCODE_VOLUME_DOWN=25;
    KEYCODE_T=48;
    KEYCODE_LEFT_BRACKET=71;
    KEYCODE_HOME=3;
    KEYCODE_POWER=26;
    KEYCODE_U=49;
    KEYCODE_RIGHT_BRACKET=72;
    KEYCODE_BACK=4;
    KEYCODE_CAMERA=27;
    KEYCODE_V=50;
    KEYCODE_BACKSLASH=73;
    KEYCODE_CALL=5;
    KEYCODE_CLEAR=28;
    KEYCODE_W=51;
    KEYCODE_SEMICOLON=74;
    KEYCODE_ENDCALL=6;
    KEYCODE_A=29;
    KEYCODE_X=52;
    KEYCODE_APOSTROPHE=75;
    KEYCODE_0=7;
    KEYCODE_B=30;
    KEYCODE_Y=53;
    KEYCODE_SLASH=76;
    KEYCODE_1=8;
    KEYCODE_C=31;
    KEYCODE_Z=54;
    KEYCODE_AT=77;
    KEYCODE_2=9;
    KEYCODE_D=32;
    KEYCODE_COMMA=55;
    KEYCODE_NUM=78;
    KEYCODE_3=10;
    KEYCODE_E=33;
    KEYCODE_PERIOD=56;
    KEYCODE_HEADSETHOOK=79;
    KEYCODE_4=11;
    KEYCODE_F=34;
    KEYCODE_ALT_LEFT=57;
    KEYCODE_FOCUS=80;//*Camera*focus
    KEYCODE_5=12;
    KEYCODE_G=35;
    KEYCODE_ALT_RIGHT=58;
    KEYCODE_PLUS=81;
    KEYCODE_6=13;
    KEYCODE_H=36;
    KEYCODE_SHIFT_LEFT=59;
    KEYCODE_MENU=82;
    KEYCODE_7=14;
    KEYCODE_I=37;
    KEYCODE_SHIFT_RIGHT=60;
    KEYCODE_NOTIFICATION=83;
    KEYCODE_8=15;
    KEYCODE_J=38;
    KEYCODE_TAB=61;
    KEYCODE_SEARCH=84;
    KEYCODE_9=16;
    KEYCODE_K=39;
    KEYCODE_SPACE=62;
    KEYCODE_MEDIA_PLAY_PAUSE=85;
    KEYCODE_STAR=17;
    KEYCODE_L=40;
    KEYCODE_SYM=63;
    KEYCODE_MEDIA_STOP=86;
    KEYCODE_POUND=18;
    KEYCODE_M=41;
    KEYCODE_EXPLORER=64;
    KEYCODE_MEDIA_NEXT=87;
    KEYCODE_DPAD_UP=19;
    KEYCODE_N=42;
    KEYCODE_ENVELOPE=65;
    KEYCODE_MEDIA_PREVIOUS=88;
    KEYCODE_DPAD_DOWN=20;
    KEYCODE_O=43;
    KEYCODE_ENTER=66;
    KEYCODE_MEDIA_REWIND=89;
    KEYCODE_DPAD_LEFT=21;
    KEYCODE_P=44;
    KEYCODE_DEL=67;
    KEYCODE_MEDIA_FAST_FORWARD=90;
    KEYCODE_DPAD_RIGHT=22;
    KEYCODE_Q=45;
    KEYCODE_GRAVE=68;
    KEYCODE_MUTE=91;
    

    2.3 클릭
    input tap 120 225  //    x=120 y=225
    

    2.4 슬라이딩
    input swipe 300 1000 300 500  //x1,y1   x2,y2,     500  
    input swipe 120 225 120 225 2000 //     , 2  ,     
    

    3. 자주 사용 하 는 adb 명령
    다른 노트 참조:https://blog.csdn.net/zytthappy/article/details/79688227
    4. 프로젝트 패키지
    4.1 소프트웨어 이름 변경
      values    strings.xml "app_name"  :
      Demo
    

    4.2 앱 아이콘 변경
              icon        :
    android:icon="@mipmap/ic_launcher"
    

    아이콘 어댑터: 응용 프로그램 에 mipmap - anydpi - v26 디 렉 터 리 가 있 습 니 다. 8.0 이상 의 시스템 이 라면 이 디 렉 터 리 의 아이콘 을 사용 합 니 다. 그림 이 아 닌 XML 을 볼 수 있 습 니 다.어 울 리 지 않 으 려 면 디 렉 터 리 를 삭제 하 는 것 이 가장 쉬 운 방법 이다.Android入门(二)_第2张图片
    4.3 서명 만 들 기
  • Bulid - Generate Signed Bundle / APK (서명 이나 APK 생 성)
  • 포장 유형 선택
  • 서명 서명 서명 을 만 드 는 데 한 번 만 들 면 여러 응용 프로그램 에서 하나의 서명 을 사용 할 수 있 고 여러 개 를 사용 할 수 있 습 니 다.하나의 서명 파일 에 여러 개의 서명 을 넣 을 수 있 고 서명 작성 정 보 는 다음 과 같다. Android入门(二)_第3张图片 Android入门(二)_第4张图片 Android入门(二)_第5张图片
  • 4.4 패키지 APK
  • key 와 비밀 번 호 를 입력 하 세 요
  • 포장 유형 선택 Android入门(二)_第6张图片
  • 좋은 웹페이지 즐겨찾기