Android 创建碎片太晚了?

Android 创建碎片太晚了?,android,android-viewpager,fragment,Android,Android Viewpager,Fragment,我正在开发我的第一个Android应用程序。我只是来发现片段,我需要它们来创建一个ViewPager,以便在我的活动之间创建良好的过渡,但我担心现在实现它已经太迟了 我必须将所有代码(MainActivity)放在我的main片段中?或者只是一些我不知道我必须保存在我的main活动中的片段 这是我的密码 public class MainActivity extends FragmentActivity { ObjectAnimator anim; ObjectAnimator

我正在开发我的第一个Android应用程序。我只是来发现片段,我需要它们来创建一个ViewPager,以便在我的活动之间创建良好的过渡,但我担心现在实现它已经太迟了

我必须将所有代码(
MainActivity
)放在我的main片段中?或者只是一些我不知道我必须保存在我的
main活动中的片段

这是我的密码

public class MainActivity extends FragmentActivity {
    ObjectAnimator anim;
    ObjectAnimator anim2;
    private int display, result, detect = 0;
    private NfcAdapter nfcAdapter;
    private ImageButton nfcButton;
    private PendingIntent pendingIntent;
    private ImageButton qrButton;
    private TextView text;
    private SlidrInterface slidr;
    private ImageButton webButton;
    float x1, x2, y1, y2;
    String link = null;
    public final int CUSTOMIZED_REQUEST_CODE = 0x0000ffff;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        slidr = Slidr.attach(this);
        setDetect(1);
        setContentView((int) R.layout.activity_main);
        this.text = (TextView) findViewById(R.id.text);
        this.nfcAdapter = NfcAdapter.getDefaultAdapter(this);
        this.nfcButton = (ImageButton) findViewById(R.id.nfc_button);
        this.anim = ObjectAnimator.ofFloat(this.nfcButton, "scaleX", new float[]{0.9f});
        this.anim2 = ObjectAnimator.ofFloat(this.nfcButton, "scaleY", new float[]{0.9f});
        IntentIntegrator integrator = new IntentIntegrator(this);
        this.nfcButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setDisplay(1);
                manageBlinkEffect();
            }
        });
        this.pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {                                   // RESULTAT DU SCAN QR CODE
        if (requestCode != CUSTOMIZED_REQUEST_CODE && requestCode != IntentIntegrator.REQUEST_CODE) {
            super.onActivityResult(requestCode, resultCode, data);
            return;
        }
        switch (requestCode) {
            case CUSTOMIZED_REQUEST_CODE: {
                Toast.makeText(this, "REQUEST_CODE = " + requestCode, Toast.LENGTH_LONG).show();
                break;
            }
            default:
                break;
        }

        IntentResult result = IntentIntegrator.parseActivityResult(resultCode, data);

        if (result.getContents() != null) {
            Log.d("MainActivity", "Scanned");
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Résultat du scan :");
            if (URLUtil.isValidUrl(result.getContents())) {                                                                      // si url...
                builder.setNeutralButton("Visiter", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
                builder.setPositiveButton("Fermer", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) { }
                });
                builder.setNegativeButton("Copier", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                        ClipData clip = ClipData.newPlainText("Texte copié", result.getContents());
                        clipboard.setPrimaryClip(clip);
                    }
                });
            } else {                                                                                                             // si plain text...
                builder.setNeutralButton("Copier", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                        ClipData clip = ClipData.newPlainText("Texte copié", result.getContents());
                        clipboard.setPrimaryClip(clip);
                    }
                });
                builder.setPositiveButton("Fermer", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) { }
                });
            }
            builder.setMessage(result.getContents().toString());
            builder.create().show();
        }
    }


    public void manageBlinkEffect() {                                                                           // ANIMATION DU LOGO SENZU SUITE A UN CLIC
        anim.setDuration(1000);
        anim.setRepeatMode(ValueAnimator.REVERSE);
        anim.setRepeatCount(9);
        anim.start();
        anim.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationCancel(animation);
                if (getRes() != 1){
                    Animation shake = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.shake);
                    Toast.makeText(getApplicationContext(), "Aucun badge n'a été détécté !", Toast.LENGTH_SHORT).show();
                    nfcButton.startAnimation(shake);
                }
            }
        });
        anim2.setDuration(1000);
        anim2.setRepeatMode(ValueAnimator.REVERSE);
        anim2.setRepeatCount(9);
        anim2.start();
    }

    public void onResume() {
        super.onResume();

        Intent intent = getIntent(); // Recuperer l'intent actuel
        NdefMessage[] msgs;
        if (getDetect() == 1 && (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()) || NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction()))) { // si l'application a ete lancee via une detection NFC du device  (ACTION_NDEF_DISCOVERED, voir AndroidManifest)
            Parcelable[] rawMessages =
                    intent.getParcelableArrayExtra("android.nfc.extra.NDEF_MESSAGES");
            if (rawMessages != null) { // si NDEF dans le scan
                setDisplay(1);
                resolveIntent(intent); // parser le scan NFC
            }  else {
                byte[] empty = new byte[0];
                byte[] id = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
                Tag tag = (Tag) intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
                byte[] payload = NdefMessageParser.dumpTagData(tag).getBytes();
                NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN, empty, id, payload);
                NdefMessage msg = new NdefMessage(new NdefRecord[] {record});
                msgs = new NdefMessage[] {msg};
                setDetect(0);
                getResult(msgs);
            }
        }
        NfcAdapter nfcAdapter2 = this.nfcAdapter;
        if (nfcAdapter2 != null) {
            if (!nfcAdapter2.isEnabled()) {
                showWirelessSettings();
            }
            this.nfcAdapter.enableForegroundDispatch(this, this.pendingIntent, (IntentFilter[]) null, (String[][]) null);
        }
    }

    private void showWirelessSettings() {
        Toast.makeText(this, "Veuillez activer le service NFC", Toast.LENGTH_SHORT).show();
        startActivity(new Intent("android.settings.WIRELESS_SETTINGS"));
    }

    public void onPause() {
        setDetect(0);
        super.onPause();
    }


    public void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        if (getDetect() != 1) {
            resolveIntent(intent);
        }
    }

    private void resolveIntent(Intent intent) {                                                                 // DETECTION NFC ET PARSING NDEF
        NdefMessage[] msgs;
        String action = intent.getAction();
        Log.d("Infos", getIntent().toString());
        Log.d("Infos", "display = " + display);
        if (getDisplay() != 1) {
            Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
            nfcButton.startAnimation(shake);
            Toast.makeText(this, "Veuillez lancer un scan", Toast.LENGTH_LONG).show();
            return;
        }
        else if ("android.nfc.action.TAG_DISCOVERED".equals(action) || "android.nfc.action.TECH_DISCOVERED".equals(action) || "android.nfc.action.NDEF_DISCOVERED".equals(action)) {
            setRes(1);
            Parcelable[] rawMsgs = intent.getParcelableArrayExtra("android.nfc.extra.NDEF_MESSAGES");
            if (rawMsgs != null) {
                msgs = new NdefMessage[rawMsgs.length];
                for (int i = 0; i < rawMsgs.length; i++) {
                    msgs[i] = (NdefMessage) rawMsgs[i];
                }
            } else {
                byte[] empty = new byte[0];
                byte[] id = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
                Tag tag = (Tag) intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
                byte[] payload = NdefMessageParser.dumpTagData(tag).getBytes();
                NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN, empty, id, payload);
                NdefMessage msg = new NdefMessage(new NdefRecord[] {record});
                msgs = new NdefMessage[] {msg};
            }
            if (getDisplay() == 1) {
                getResult(msgs);
            }
        }
    }

    private void getResult(NdefMessage[] msgs) {                                                            // MODAL AVEC RESULTAT DU SCAN NFC
        if (msgs != null && msgs.length != 0) {
            final StringBuilder tmp_builder = new StringBuilder();
            List<ParsedNdefRecord> records = NdefMessageParser.parse(msgs[0]);
            int size = records.size();
            for (int i = 0; i < size; i++) {
                tmp_builder.append(records.get(i).str());
                tmp_builder.append("\n");
            }
            System.out.println(tmp_builder.toString());
            this.anim.cancel();
            this.anim2.cancel();
            setDisplay(0);
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Resultat du scan :");
            builder.setNeutralButton("Visiter", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                 /*  Intent i = new Intent(MainActivity.this, RightActivity.class);
                    link = tmp_builder.toString();
                    i.putExtra("url", link);
                    startActivity(i);*/
                }
            });
            builder.setNegativeButton("Copier", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clip = ClipData.newPlainText("Texte copié", link);
                    clipboard.setPrimaryClip(clip);
                }
            });
            builder.setPositiveButton("Fermer", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {}
            });
            builder.setMessage(tmp_builder.toString());
            builder.create().show();
        }
    }
public类MainActivity扩展了FragmentActivity{
物体动画;
对象动画2;
私有整数显示,结果,检测=0;
私人NfcAdapter NfcAdapter;
私有图像按钮NFC按钮;
私人吊挂帐篷;
私人图像按钮;
私有文本查看文本;
私人幻灯片界面幻灯片;
私人图像按钮;
浮球x1、x2、y1、y2;
字符串链接=null;
公共最终整数定制请求\代码=0x0000ffff;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
slider=slider.attach(此);
setDetect(1);
setContentView((int)R.layout.activity_main);
this.text=(TextView)findViewById(R.id.text);
this.nfcAdapter=nfcAdapter.getDefaultAdapter(this);
this.nfcButton=(ImageButton)findViewById(R.id.nfc_按钮);
this.anim=ObjectAnimator.offload(this.nfcButton,“scaleX”,新float[]{0.9f});
this.anim2=ObjectAnimator.offload(this.nfcButton,“scaleY”,newfloat[]{0.9f});
监控整合器=新的监控整合器(本);
this.nfcButton.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
设置显示器(1);
效果();
}
});
this.pendingIntent=pendingIntent.getActivity(this,0,new Intent(this,getClass()).addFlags(Intent.FLAG\u ACTIVITY\u SINGLE\u TOP),0);
}
@凌驾
ActivityResult(int请求代码、int结果代码、意图数据)上的受保护无效{//RESULTAT DU SCAN二维码
if(requestCode!=自定义的请求代码&请求代码!=管理员请求代码){
super.onActivityResult(请求代码、结果代码、数据);
返回;
}
开关(请求代码){
案例定制申请代码:{
Toast.makeText(这个,“REQUEST_CODE=“+requestCode,Toast.LENGTH_LONG).show();
打破
}
违约:
打破
}
IntentResult=IntentIntegrator.parseActivityResult(结果代码,数据);
if(result.getContents()!=null){
日志d(“主要活动”、“扫描”);
AlertDialog.Builder=新建AlertDialog.Builder(此);
builder.setTitle(“Résultat du scan:”);
如果(URLUtil.isValidUrl(result.getContents()){//si url。。。
setNeutralButton(“访问者”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
}
});
setPositiveButton(“Fermer”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){}
});
setNegativeButton(“复印机”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
ClipboardManager剪贴板=(ClipboardManager)getSystemService(Context.clipboard\u服务);
clipdataclip=ClipData.newPlainText(“Texte copié”,result.getContents());
剪贴板.setPrimaryClip(clip);
}
});
}否则{//si纯文本。。。
setNeutralButton(“复印机”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
ClipboardManager剪贴板=(ClipboardManager)getSystemService(Context.clipboard\u服务);
clipdataclip=ClipData.newPlainText(“Texte copié”,result.getContents());
剪贴板.setPrimaryClip(clip);
}
});
setPositiveButton(“Fermer”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){}
});
}
setMessage(result.getContents().toString());
builder.create().show();
}
}
public void manageBlinkEffect(){//ANIMATION DU LOGO SENZU SUITE A UN CLIC
动画设定持续时间(1000);
动画设置重复模式(值Animator.REVERSE);
动物集重复计数(9);
anim.start();
anim.addListener(新的AnimatorListenerAdapter(){
@凌驾
AnimationEnd上的公共无效(Animator动画){
super.onAnimationCancel(动画);
如果(getRes()!=1){
Animation shake=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.shake);
Toast.makeText(getApplicationContext(),“Aucun徽章n'aétédététécté!”,Toast.LENGTH_SHORT.show();
NFC按钮。开始激活(抖动);
}
}
});
2.设定持续时间(1000);
anim2.setRepeatMode(值animator.REVERSE);
anim2.setRepeatCount(9);
anim2.start();
}
恢复时公开作废(){
super.onResume();
Intent Intent=getIntent();//重复执行l'Intent actuel
NdefMessage[]msgs