마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

혼자 독학하는데 킷캣 업그레이드되면서 멘붕인데 참고 할수 있게 도와주세요

0 추천
package org.androidtown.intent.flag;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 인텐트를 이용해 새로운 액티비티를 띄울 때 플래그를 사용하는 방법과 효과에 대해 알 수 있습니다.
 *
 * @author Mike
 */
public class MainActivity extends Activity {

	Button showBtn;
	TextView txtMsg;
	String msg;

	/**
	 * 요청 코드 정의
	 */
	public static final int REQUEST_CODE_ANOTHER = 1001;
	
	/**
	 * 시작 횟수
	 */
	public static int startCount = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

		txtMsg = (TextView) findViewById(R.id.txtMsg);
		showBtn = (Button) findViewById(R.id.showBtn);
		
		// 버튼을 눌렀을 때 새로운 액티비티를 띄워줍니다.
		showBtn.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
   				startCount++;
   				
    			// 인텐트 객체를 만듭니다.
    			Intent intent = new Intent(getBaseContext(), AnotherActivity.class);
    			
    			// startCount 값을 넣어줍니다.
    			intent.putExtra("startCount", startCount);
    			
    			// 액티비티를 띄워주도록 startActivityForResult() 메소드를 호출합니다.
   				startActivityForResult(intent, REQUEST_CODE_ANOTHER);
			}
		});

		// 전달받은 인텐트를 처리합니다.
		Intent receivedIntent = getIntent();
		processIntent(receivedIntent);	
    }

    @Override
	protected void onNewIntent(Intent intent) {
    	Toast.makeText(getBaseContext(), "onNewIntent() 호출됨.", Toast.LENGTH_LONG).show();
		
    	// 전달받은 인텐트를 처리합니다.
    	processIntent(intent);
		
		super.onNewIntent(intent);
	}

    /**
     * 전달받은 인텐트를 처리하는 메소드 정의
     */
    private void processIntent(Intent intent) {
		// 인텐트 객체를 확인합니다.
	    startCount = intent.getIntExtra("startCount", 0);
	
	    // 텍스트뷰에 startCount 값을 보여줍니다.
	    msg = "전달된 startCount : " + startCount;
	    txtMsg.setText(msg);
    }

    /**
     * 새로운 액티비티에서 돌아올 때 자동 호출되는 메소드
     */
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if (requestCode == REQUEST_CODE_ANOTHER) {
			Toast toast = Toast.makeText(getBaseContext(), "onActivityResult() 메소드가 호출됨. 요청코드 : " + requestCode + ", 결과코드 : " + resultCode, Toast.LENGTH_LONG);
			toast.show();
		}

	}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

정말 죄송합니다. 현재 책을 사서 혼자 공부하고 있는데 갑자기 킷캣으로 업그레이드가 되면서 

책에 내온 내용대로 하려고 하니 안되네요 . 위의 코드는 책에 있는내용인데 이것을 킷캣으로 변환하면 어떻게 해야되냐요?  혼자 변환하려고하니 어렵네요. 보고 참고 할 수 있게 좀 도와주세요. 

책저자가 간단한 HelloWorld 부분만 킷캣으로 된거만 올려서요.  HelloWorld 부분보고 하려니 잘 안되네요.

아래 코드가 킷캣에서 그냥 새로 만들때 나오는 MainActivity입니다.

위의코드를 아래코드에서 변경하려면 어떻해야 할까요? 다시 한번 부탁드립니다.

package com.example.abcd;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;

public class MainActivity extends ActionBarActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		if (savedInstanceState == null) {
			getSupportFragmentManager().beginTransaction()
					.add(R.id.container, new PlaceholderFragment()).commit();
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {

		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	/**
	 * A placeholder fragment containing a simple view.
	 */
	public static class PlaceholderFragment extends Fragment {

		public PlaceholderFragment() {
		}

		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
			View rootView = inflater.inflate(R.layout.fragment_main, container,
					false);
			return rootView;
		}
	}

}

 

앱신 (140 포인트) 님이 2014년 4월 3일 질문

1개의 답변

+1 추천
위에 대로 하셔도 관계없습니다.

금번에 업데이트되면서 샘플예제가 액티비티가 아닌 프래그먼트로 변경되어서 저렇게 나오는겁니다
건방진프로그래머 (26,630 포인트) 님이 2014년 4월 3일 답변
위에 데이터는 책에 있어서 그러는데
프래그먼트로 변경됬을때는 어떻게 해야되나요?
그게 궁금해서 질문을 드린겁니다^^
...