01 Android 학습

8270 단어 android
Android 학습: Activity 0열에서
그렇게 많은 해 동안 책을 읽어서 나는 이치를 하나 알게 되었다.사람은 듬직해야지 생각나는 대로 해서는 안 된다.일을 오래 할수록 할 줄 몰라도 몇 년 후에는 천천히 할 수 있을 거예요. 그리고 조금만 노력하면 남들이 보는 전문가가 될 수 있을 거예요.
Activity 다중 시작 아이콘 구성
프로그램이 여러 개의 시작 입구를 가질 수 있도록 하려면
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

암시적 및 명시적 의도
구별하다
스텔스 의도는 목록 파일 설정에 필요합니다. 표시 의도는 목록 파일에 설정할 필요가 없습니다.
 <activity android:name=".TwoActivity">
            <intent-filter>
                <!--    -->
                <action android:name="Hsia" />
                <category android:name="android.intent.category.DEFAULT" />
                <!--     -->
                <category android:name="Hsia" />
                <!--     -->
                <data android:scheme="Hsia"/>
            </intent-filter>
        </activity>

스텔스 의도는 일반적으로 다른 사람의 앱을 시작하는 인터페이스(activity의 action, 데이터,category를 알아야 함)에 사용되며, 현식 의도는 자신의 프로젝트 아래의 인터페이스를 시작하는 데 사용된다.
서법
일반 쓰기
 //    
// Intent intent = new Intent();
// intent.setAction("Hsia");
// intent.setData(Uri.parse("Hsia:"));
// intent.addCategory("Hsia");
// startActivity(intent);
        //    
        Intent intent = new Intent();
        intent.setClass(MainActivity.this,TwoActivity.class);
        startActivity(intent);

연쇄법
         //    (      activity data       )
// startActivity(new Intent().setData(Uri.parse("Hsia:")));

        //    
// startActivity(new Intent(getApplicationContext(),TwoActivity.class));

의도적 데이터 전달
intent는 자바 8대 기본 데이터 형식을 전달할 수 있습니다 intent 전송 데이터 키는 모두 String입니다
Intent intent = new Intent(MainActivity.this, TwoActivity.class);
//        intent.putExtra("name",name);
//        intent.putExtra("sex",sex);
//        startActivity(intent);

intent 수용 데이터
        Intent intent = getIntent();
        String name = intent.getStringExtra("name");
        int sex = intent.getIntExtra("sex", 0);

onActivityResult 반환값 결과 가져오기
단계
        1、   activity   
          //    activity       
          startActivityForResult(intent, 200);
       2、   activity        
          Intent intent = new Intent();
            intent.putExtra("username", username);
            //           
            setResult(200, intent);
       3、    activity
            //      
            finish();
       4、  Activity  onActivityResult         :

코드
 、MainActivity:
    intent.setClass(getApplicationContext(), ConectActivity.class);
                startActivityForResult(intent,setResultCode);
                Toast.makeText(getApplicationContext(),"      ",Toast.LENGTH_SHORT).show();
                break;
 、ConectActivity:
    Intent intent = new Intent();
                ConectBean conectBean = list.get(position);
                intent.putExtra("phone", conectBean.getNumber());
                setResult(MainActivity.setResultCode, intent);
                finish();
 、Mainactivity:
        /** * requestCode   activity        * resultCode    activity        * data            */
     @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
        if (resultCode==setResultCode){
            String phone = data.getStringExtra("phone");
            mUsername.setText(phone);
        }else if(requestCode==setrequestCode){
            String sms = data.getStringExtra("sms");
            mDisc.setText(sms);
        }
    }

Activity의 라이프 사이클
     onCreate: activity            ,     ;
     onStart:          ;
     onResume           ;     
     onPause          ;
     onStop           ;
     onDestroy   activity  ,         。
    :
    1、activity     onCreate、onStart、onResume;
    2、  activity   :onPause、onStop、onDestroy;
    3、   activity   :onPause、onStop;
    4、         :onRestart、onStart、onResume;

Activity 가로 세로 전환
Activity 가로세로 전환 Activity의 라이프 사이클이 다시 시작됩니다.
참고: 민감하지 않게 전환하려면 Activity 가로 세로 화면을 설정할 수 있습니다.
 activity           android:configChanges="orientation|keyboardHidden|screenSize"

Activity 시작 모드
standard                  【    】
singleTop             ,    
singleTask           ,             ,    “  ”    
singleInstance              

작성자 정보 - Email:[email protected] 프로젝트 주소:https://github.com/swordman20/Hsia01ActivityDemo

좋은 웹페이지 즐겨찾기