想写一个android新闻客户端,发现有的客户端读取数据的方式是 如:www.example.comxml...

想写一个android新闻客户端,发现有的客户端读取数据的方式是 如:www.example.comxml...,第1张

如果该客户端有对应的网页版,那么直接从网页的源码里分析出各个请求的接口,如果没有网页版,但是有别的手机客户端,那么就从那个手机客户端里分析出请求的接口,一句话,只有有内容的展示 ,你都可以得到这些接口。只是效率不好保证,肯定是专门的api接口更快更好

首先从网上进行下载android-screen-monitor的的jar工具,可以通过百度进行搜索,然后在进行下载,也可以直接到官网进行下载

下载完成之后,如果文件是压缩文件的,就需要进行解压到当前文件,然后该文件拷贝到sdk安装的目录文件platform-tools目录下即可。

然后点击电脑中的开始菜单中,直接在输入框中输入“cmd”,输入完成后直接回车,打开cmd命令,使用命令方式进行到platform-tools的目录下,命令为:cd 安装路径/platform-tools

使用安卓机型类型usb数据把手机与pc电脑链接,需要等带手机与电脑连接完成,然后在命令行中输入Java -jar asmjar,回车 *** 作

输入命令完之后,会直接d出一个小窗口,在窗口中进行确认的信息,在窗口中显示的手机devices的信息,方便是否自己的手机连接,确认完之后,点击ok即可。

这样手机中屏幕就直接加载到pc端屏幕上,就可以查看到手机屏幕中内容,之后在手机轻微的 *** 作,就会等待05秒后同步到pc端屏幕上。

由于手机同步到pc端上显示屏幕显示较大,可以通过jar插件设置方法,右键屏幕上,d出了菜单中选中“zoom”的选项,然后就对应的百分比,可以直接选中25%的大小。

8

这样手机屏幕同步到pc端上可以显示出整个屏幕的大小的,可以看清楚界面上信息,就查看屏幕同步信息,又可以 *** 作pc端其它 *** 作。

android点击列表,动态显示对应的内容,可以点击之后,跳转到详情页面进行显示,主要是用intent进行跳转,也可以携带数据bundle,key-value键值对来保存。代码如下:

public class HandlerDemo extends Activity implements OnScrollListener {

    private ListView mListView;

    LinearLayout loadingLayout;

    private Thread mThread;

    private ListViewAdapter adapter;

    private int startIndex = 1;// 从第1条开始

    private int size = 10;// 每次下载十条数据

    private List<News> newsList;

    List<Map<String, String>> data ;

    /

      设置布局显示属性

     /

    private LayoutParams mLayoutParams = new LayoutParams(

            LinearLayoutLayoutParamsWRAP_CONTENT,

            LinearLayoutLayoutParamsWRAP_CONTENT);

    private LayoutParams ffLayoutParams = new LayoutParams(

            LinearLayoutLayoutParamsFILL_PARENT,

            LinearLayoutLayoutParamsFILL_PARENT);

    private ProgressBar progressBar;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        superonCreate(savedInstanceState);

        setContentView(Rlayoutnews_main);

        data=new ArrayList<Map<String, String>>();

        addView();

    }

    private void addView() {

        if (startIndex == 1) {

            newsList = new ArrayList<News>();

            newsList = getNewsList();

        }

        getdata(newsList);

        LinearLayout layout = new LinearLayout(this);

        layoutsetOrientation(LinearLayoutHORIZONTAL);

        progressBar = new ProgressBar(this);

        layoutaddView(progressBar, mLayoutParams);

        TextView textView = new TextView(this);

        textViewsetText("加载中");

        textViewsetGravity(GravityCENTER_VERTICAL);

        layoutaddView(textView, ffLayoutParams);

        layoutsetGravity(GravityCENTER);

        loadingLayout = new LinearLayout(this);

        loadingLayoutaddView(layout, mLayoutParams);

        loadingLayoutsetGravity(GravityCENTER);

        // 得到一个ListView用来显示条目

        mListView = (ListView) findViewById(RidlistView);

        mListViewaddFooterView(loadingLayout);

        adapter = new ListViewAdapter();

        mListViewsetAdapter(adapter);

        mListViewsetOnScrollListener(this);

        mListViewsetTextFilterEnabled(true);

    }

    @Override

    public void onScroll(AbsListView view, int firstVisibleItem,

            int visibleItemCount, int totalItemCount) {

        // TODO Auto-generated method stub

        if (firstVisibleItem + visibleItemCount == totalItemCount) {

            if (mThread == null || !mThreadisAlive()) {

                mThread = new Thread() {

                    @Override

                    public void run() {

                        newsList = new ArrayList<News>();

                        newsList = getNewsList();

                        getdata(newsList);

                        Message msg = new Message();

                        msgwhat = 1;

                        handlersendMessage(msg);

                    }

                };

                mThreadrun();

            }

        }

    }

    

    Handler handler = new Handler() {

        @Override

        public void handleMessage(Message msg) {

            // TODO Auto-generated method stub

            if (msgwhat == 1) {

                startIndex = startIndex + size;

                Logv("startindex", startIndex + "");

                mListViewremoveFooterView(loadingLayout);

                mThreadstop();

                adaptercount += size;

                adapternotifyDataSetChanged();

                return;

            }

        }

    };

    class ListViewAdapter extends BaseAdapter {

        int count = 10;

        @Override

        public int getCount() {

            // TODO Auto-generated method stub

            return count;

        }

        @Override

        public Object getItem(int position) {

            // TODO Auto-generated method stub

            return position;

        }

        @Override

        public long getItemId(int position) {

            // TODO Auto-generated method stub

            return position;

        }

        

        @Override

        public View getView(int position, View convertView, ViewGroup parent) {

            // TODO Auto-generated method stub

            convertView = LayoutInflaterfrom(getApplicationContext())inflate(

                    Rlayoutnews_item, null);

            TextView textView = (TextView) convertView

                    findViewById(RidtextNewsTitle);

            textViewsetText((dataget(position))get("title"));

            return convertView;

        }

    }

    @Override

    public void onScrollStateChanged(AbsListView view, int scrollState) {

        // TODO Auto-generated method stub

    }

    private List<Map<String, String>> getdata(List<News> list) {

        if (list == null)

            return null;

        for (News news : list) {

            Map<String, String> map = new HashMap<String, String>();

            mapput("title", newsgetTitle());

            dataadd(map);

        }

        return data;

    }

    /

      获取网络数据 注:我是访问本机的一个新闻服务,使用aspnet技术来实现的

      这个是项目是一个基于android的资讯播报软件

     /

    private List<News> getNewsList() {

        String path = "http://10022/getNewsListaspx";

        String xmlStr = "<xml version='10' encoding='utf-8'><source><categoryIds>1,3,7</categoryIds><startIndex>"

                + startIndex

                + "</startIndex><detail>2</detail><count>"

                + size

                + "</count></source>";

        NewsConnector newsConnector = new NewsConnector();

        List<News> list = new ArrayList<News>();

        list = newsConnectorgetNewsList(path, xmlStr);

        return list;

    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/13493951.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存