⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fourthnetwork.java

📁 Android从入门到精通
💻 JAVA
字号:
package com.androidbook.networking;

import java.net.URL;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewSwitcher;

public class FourthNetwork extends Activity {
    Handler mHandler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        final TextSwitcher status = (TextSwitcher) findViewById(R.id.status);
        status.setFactory(new ViewSwitcher.ViewFactory() {

            public View makeView() {
                TextView tv = new TextView(FourthNetwork.this);
                tv.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
                tv.setTextSize(24);
                return tv;
            }

        });

        Animation in = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
        Animation out = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);
        status.setInAnimation(in);
        status.setOutAnimation(out);

        status.setText("<no status>");
        Button go = (Button) findViewById(R.id.do_action);
        go.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                new Thread() {
                    public void run() {

                        try {
                            URL text = new URL("http://api.flickr.com/services/feeds/photos_public.gne?id=26648248@N04&amp;lang=en-us&amp;format=atom");

                            XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance();
                            XmlPullParser parser = parserCreator.newPullParser();

                            parser.setInput(text.openStream(), null);

                            mHandler.post(new Runnable() {
                                public void run() {
                                    status.setText("Parsing...");
                                }
                            });
                            int imgCount = 0;
                            int parserEvent = parser.getEventType();
                            while (parserEvent != XmlPullParser.END_DOCUMENT) {
                                switch (parserEvent) {
                                case XmlPullParser.START_TAG:
                                    String tag = parser.getName();
                                    if (tag.compareTo("link") == 0) {
                                        String relType = parser.getAttributeValue(null, "rel");
                                        if (relType.compareTo("enclosure") == 0) {
                                            String encType = parser.getAttributeValue(null, "type");
                                            if (encType.startsWith("image/")) {
                                                String imageSrc = parser.getAttributeValue(null, "href");
                                                Log.i("Net", "image source = " + imageSrc);
                                                final int curImageCount = ++imgCount;
                                                mHandler.post(new Runnable() {
                                                    public void run() {
                                                        status.setText("imgCount = " + curImageCount);
                                                    }
                                                });
                                            }
                                        }
                                    }
                                    break;
                                }

                                parserEvent = parser.next();

                            }
                            mHandler.post(new Runnable() {
                                public void run() {
                                    status.setText("Done...");
                                }
                            });

                        } catch (Exception e) {
                            Log.e("Net", "Error in network call", e);
                        }
                    }
                }.start();

            }

        });
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -