안드로이드 개발~화면 마이그레이션(내부)~
개시하다
안녕하세요.나는 모 학교에서 프로그래밍 등을 배우는 서버 측의 프로그래머 나루터다.
이번에도 안드로이드 개발해.
이번 주제는'실내 텐트'다.
대상
두 종류의 텐트
→ 시작할 활동 범주를 지정합니다.
→ 시작할 활동을 나타내는 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(リザルトコード, インテントオブジェクト)
* 보존 코드
<?xml version="1.0" encoding="utf-8"?>
<manifest ...... >
<application ........ >
<activity>
〜メインアクティビティ〜
</activity>
<!--追加-->
<activity android:name="パッケージ名+クラス名">
</application>
</manifest>
*アクティビティクラスがルートパッケージ直下なら「.クラス名」でOK!
~~~~~~~~ = new Intent(コンテキスト, 起動先アクティビティ)
Intent intent = getIntent();
Bundle extra = intent.getExtra();
startActivityForResult(インテントオブジェクト, リクエストコード)
setResult(リザルトコード, インテントオブジェクト)
onActivityResult()
매개 변수는 세 개가 있다샘플 코드
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 클래스의 상수 비율을 사용합니다.
Uri uri = Uri.porse(URI文字列(後述));
Intent intent = new Intent(アクションを表す定数。(後述), uri);
startActivity(intent) ;
URLEncoder.encode([ キーワード ], [ エンコード形式 (URF-8 等 )]) で エンコードする。
샘플 코드
① 맵 앱으로 이동
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);
이상.만약 무슨 잘못이 있으면 지적을 기다리시면 저에게 연락 주세요.
끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(안드로이드 개발~화면 마이그레이션(내부)~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/watataku8911/items/563a1b04e5454323c79c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)