안드로이드 개발~화면 마이그레이션(내부)~

7378 단어 AndroidJava

개시하다


안녕하세요.나는 모 학교에서 프로그래밍 등을 배우는 서버 측의 프로그래머 나루터다.
이번에도 안드로이드 개발해.
이번 주제는'실내 텐트'다.

대상

  • 항상 자바를 쓸 줄 아는 사람.
  • 안드로이드 개발은 애매모호하지만 다소 능력이 있는 사람. 
  • 두 종류의 텐트

  • 명시텐트
    → 시작할 활동 범주를 지정합니다.
  • 스텔스 텐트
    → 시작할 활동을 나타내는 URI 및 동작(후술)을 지정합니다.
    Android OS는 URI 및 동작에 따라 적절한 동작을 찾아 시작합니다.
    여러 개의 시작 지점이 있으면 모방으로 표시됩니다.
  • 그럼 이제 어떻게 처리해야 좋을지 봅시다.

    명확한 텐트


    명시된 텐트 안에서 화면 이동을 진행하는 것은 다음과 같다.
    1)AndroidManifest.xml에 이벤트 등록
    <?xml version="1.0" encoding="utf-8"?>
    <manifest ...... >
    
        <application ........ >
            <activity>
    
                    〜メインアクティビティ〜
    
            </activity>
    
            <!--追加-->
            <activity android:name="パッケージ名+クラス名">
    
        </application>
    
    </manifest>
    
    *アクティビティクラスがルートパッケージ直下なら「.クラス名」でOK!
    
    ◇위 단계는'File:New>Activity'부터 만들면 편리하다.
    2) 화면 시작
    ○ 현재 화면에서 다른 화면을 가동하는 방법.
    ① Intent 객체를 생성합니다.
    ~~~~~~~~ = new Intent(コンテキスト, 起動先アクティビティ)
    
    ②① 매개변수로 startActivity() 메서드를 실행합니다.
    3) 데이터 전송
    ○ 시작 대상 활동에 데이터를 전송하는 방법은putExtra(이름, 값)를 사용합니다.
    4) 데이터 수신
    ○ 활동을 시작할 때 데이터를 받는 방법은 다음과 같다.
    ① Intent 객체 가져오기
    Intent intent = getIntent();
    
    ② Bundle 객체 가져오기
    Bundle extra = intent.getExtra();
    
    ③ Bundle의 get 데이터 형식 방법을 사용하여 데이터 가져오기

    ForResult


    ○ 목표 활동 시작 후 원래 활동을 통해 처리할 때
    1) 활동 시작 방법
    startActivityForResult(インテントオブジェクト, リクエストコード)
    
    2) 사전 활동 시작 방법 ()
    setResult(リザルトコード, インテントオブジェクト)
    
    * 보존 코드
  • RESULT_OK
  • RESULT_CANSELED
  • 3) 1) 및 2) 원래 활동에서 다음 방법을 수행합니다.
    onActivityResult()
    
    매개 변수는 세 개가 있다
  • int requestCode:1)의 두 번째 매개 변수에 의해 지정된 정수
  • int resultCode:2)의 첫 번째 인자가 지정한 상수 값
  • Intent data
  • 샘플 코드


    ForResultSampleActivity.java (시작 소스)
    Intent intent = new Intent(ForResultSampleActivity.this,RatingEvaluateActivity.class);
    inten1.putExtra("name", name);
    startActivityForResult(intent, RATING_EVALUATE);
    
    RatingEvaluateActivity.java(시작 위치)
    Intent intent = getIntent();
    String name = intent.getStringExtra("name");
    

    스텔스 텐트


    은식 텐트를 통해 다른 아프가니스탄을 가동하는 절차는 다음과 같다.
    1) URI OFF를 생성합니다.
    Uri uri = Uri.porse(URI文字列(後述));
    
    2) Intent OFF를 생성합니다.
    Intent intent = new Intent(アクションを表す定数。(後述), uri);
    
    3) 활동을 시작합니다.
    startActivity(intent) ;
    

    URI


    Android OS 표준 소프트웨어의 URI는 다음과 같습니다.
    ・주름→http:/,https://.....
    ・지도→geo: 위도, 경도
    geo: o , o?g= 검색 문자열
    (참고)日本語の検索キーワードは、
    URLEncoder.encode([ キーワード ], [ エンコード形式 (URF-8 等 )]) で エンコードする。
    ・전화→텔: 전화번호

    액션


    Intent 클래스의 상수 비율을 사용합니다.
  • ACTION_VIEW → 화면 표시
  • ACTION_CALL → 데이터를 기반으로 전화를 걸 수 있습니다.
  • ACTION_DIAL→전화하는 모습 보이기
  • ACTION_SEND→메일/SMS 발송
  • 샘플 코드


    ① 맵 앱으로 이동
    try {
         TextView etKeyword = findViewById(R.id.etKeyword);
         String keyword = etKeyword.getText().toString();
         keyword = URLEncoder.encode(keyword, "utf-8");
         Uri uri = Uri.parse("geo:0,0?q=" + keyword);
         Intent intent = new Intent(Intent.ACTION_VIEW, uri);
         startActivity(intent);
    } catch(UnsupportedEncodingException ex) {
         Log.e("MapSearchActivity", "keyword変換失敗", ex);
    }
    
    ② 브라우저로 이동
    String url = "http:://www.~~~.~~";
    Uri uri = Uri.parse(url);
    
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
    
    이상.
    만약 무슨 잘못이 있으면 지적을 기다리시면 저에게 연락 주세요.
    끝까지 읽어주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기