新闻资讯android版

news/2024/11/6 17:19:40/

又有一段时间没有更新自己的博客了,前段时间较忙,也没能抽时间来写博客。


这几天公司头让我熟悉一下环境,准备下周给公司做一个自己的新闻资讯,那么首先就要找一个类似的东西来研究一下,看搜狐新闻不错,就按照那有的模板开始做!


1.首先要解决排版,分为四部分的新闻内容,下面是属于此部分的新闻标题列表,上面的新闻分类使用四个Button,下面新闻标题的列表需要使用SrollView,可滚动的视图控件,里面的东西需要是用ListView列表,这样基本的布局已经确定下来,上面的图片是随便找的几个,到时候可以修改一下。

如有需要对ListView想进一步了解的,推荐博客:http://blog.csdn.net/xys289187120/article/details/6636139

其中主要的一个类:

package com.ifensi.news.information;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;import org.json.JSONArray;
import org.json.JSONObject;import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;public class NewsInformation extends ListActivity {/** Called when the activity is first created. */ListView mListView = null;ArrayList<Map<String, Object>> mData = new ArrayList<Map<String, Object>>();;private View mainLayout;private LayoutInflater inflater;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 窗口去掉标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 窗口设置为全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置窗口为半透明getWindow().setFormat(PixelFormat.TRANSLUCENT);inflater = (LayoutInflater) this.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);mainLayout = inflater.inflate(R.layout.navigation_container, null);ButtomButtonOnClickListener buttomButtonOnClickListener = new ButtomButtonOnClickListener();mainLayout.findViewById(R.id.btn_guide).setOnClickListener(buttomButtonOnClickListener);mainLayout.findViewById(R.id.btn_model).setOnClickListener(buttomButtonOnClickListener);mainLayout.findViewById(R.id.btn_news).setOnClickListener(buttomButtonOnClickListener);mainLayout.findViewById(R.id.btn_search).setOnClickListener(buttomButtonOnClickListener);mainLayout.findViewById(R.id.btn_more).setOnClickListener(buttomButtonOnClickListener);// 获取json数据,等待接口实现String[] mListTitle = { "姓名", "性别", "年龄", "居住地", "邮箱", "姓名", "性别", "年龄", "居住地", "邮箱" };String[] mListStr = { "颜冬DIDO", "男", "25", "北京", "yandong_dido@126.com", "颜冬DIDO", "男", "25", "北京","yandong_dido@126.com" };this.getListViewContext(mListTitle, mListStr);}public String getJson() {String jsonString = "";try {JSONObject result = new JSONObject(jsonString);int num = result.length();JSONArray nameList = result.getJSONArray("name");int length = nameList.length();String aa = "";for (int i = 0; i < length; i++) {JSONObject obj = nameList.getJSONObject(i);aa = aa + obj.getString("name") + "|";}Iterator<?> it = result.keys();String aa2 = "";String bb2 = null;while (it.hasNext()) {bb2 = (String) it.next().toString();aa2 = aa2 + result.getString(bb2);}return aa;} catch (Exception e) {}return null;}public ListView getListViewContext(String mListTitle[], String mListStr[]) {mListView = getListView();int lengh = mListTitle.length;for (int i = 0; i < lengh; i++) {Map<String, Object> item = new HashMap<String, Object>();item.put("title", mListTitle[i]);item.put("text", mListStr[i]);mData.add(item);}SimpleAdapter adapter = new SimpleAdapter(this, mData, android.R.layout.simple_list_item_2, new String[] { "title","text" }, new int[] { android.R.id.text1, android.R.id.text2 });setListAdapter(adapter);mListView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {Intent intent = new Intent();intent.setClass(NewsInformation.this, NewsContext.class);Bundle bundle = new Bundle();bundle.putString("id", "aaaa");intent.putExtras(bundle);startActivity(intent);// Toast.makeText(TitleList.this,"您选择了标题:" +// mListTitle[position] + "内容:"+mListStr[position],// Toast.LENGTH_LONG).show();}});return mListView;}private class ButtomButtonOnClickListener implements OnClickListener {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_guide:// startGoogleMap();break;case R.id.btn_model:break;case R.id.btn_news:break;case R.id.btn_search:break;case R.id.btn_more:break;}}}public void setLastBottomButtomVisibility(int v) {mainLayout.findViewById(R.id.btn_more).setVisibility(v);}public void setContentView(int layoutResID) {View v = this.inflater.inflate(layoutResID, null);ViewGroup container = (ViewGroup) mainLayout.findViewById(R.id.container);container.addView(v);super.setContentView(mainLayout);}}

其中文件布局比较简单了:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent" android:gravity="top"><LinearLayout android:id="@+id/buttom_buttons"android:layout_width="fill_parent" android:layout_height="wrap_content"android:orientation="horizontal"><Button android:id="@+id/btn_guide" android:layout_width="wrap_content"android:layout_weight="1" android:layout_height="wrap_content"android:background="@drawable/button_guide" /><Button android:id="@+id/btn_news" android:layout_width="wrap_content"android:layout_weight="1" android:layout_height="wrap_content"android:background="@drawable/button_news" /><Button android:id="@+id/btn_model" android:layout_width="wrap_content"android:layout_weight="1" android:layout_height="wrap_content"android:background="@drawable/button_model" /><Button android:id="@+id/btn_search" android:layout_width="wrap_content"android:layout_weight="1" android:layout_height="wrap_content"android:background="@drawable/button_search" /><Button android:id="@+id/btn_more" android:layout_width="wrap_content"android:layout_weight="1" android:layout_height="wrap_content"android:background="@drawable/button_search" android:visibility="gone" /></LinearLayout><FrameLayout android:id="@+id/container"android:layout_weight="1" android:layout_width="fill_parent"android:layout_height="wrap_content"><ScrollView android:id="@+id/scrollView"android:layout_below="@+id/title_bar" android:layout_width="fill_parent"android:layout_height="fill_parent"></ScrollView></FrameLayout></LinearLayout>


2.剩下的就要对这些加一些基本的事件了:(1)点击进入查看新闻;(2)滑动屏幕显示不同新闻列表内容。

上面是比较基本的功能设计,这里的新闻列表是通过请求接口获得的JSON数据,这里接口还需等待同事完成了才能实现。

其中滑动屏幕事件是从某博客直接采用的,还没有完全嵌入到我的程序里面。

由于项目还没有完成,只是初步搭建,没全部实现。后续~~


http://www.ppmy.cn/news/189659.html

相关文章

cesium-native编译

我相信点进这个博客的都是一些cesium专业人才&#xff0c;这文章只起了一个抛砖引玉的作用&#xff0c;希望各位人才不惜赐教。 Github地址&#xff1a;CesiumGS/cesium-native (github.com) 编译需求&#xff1a;升级公司的3dtile的架构&#xff0c;提高性能 博客目的&…

一维数组名的sizeof计算大小

int main() { //数组名是首元素地址 // 1&#xff0c;sizeof&#xff08;数组名&#xff09;——数组名表示整个数组 // 2&#xff0c;&数组名——表示整个数组 // 除这两种情况外&#xff0c;都是首元素地址 // int a[] { 1,2,3,4 }; printf…

中关村2019高成长企业TOP100发布 百卓网络上榜

近日&#xff0c;由北京中关村高新技术企业协会&#xff08;简称“高企协”&#xff09;、中关村创业投资和股权投资基金协会联合举办的“2019高成长企业TOP100评选”活动结果正式揭晓。该活动是中关村地区最具权威性和公信力的大型公益性评选活动之一。评选旨在发掘优质的、高…

协会简介 - 中关村互联网金融行业协会

协会简介 - 中关村互联网金融行业协会 协会简介 - 中关村互联网金融行业协会 中关村互联网金融行业协会简介 为加快中关村国家科技金融创新中心建设&#xff0c;发挥中关村在互联网、搜索引擎、大数据、云计算、科技金融等方面的优势&#xff0c;推动中关村互联网金融产业发展&…

中关村壹号,我国人工智能产业科技园的新地标

人工智能产业目前在中国已经进入飞速成长时期&#xff0c;为把握发展的重大机遇&#xff0c;遵循投资理念&#xff0c;推动AI企业与资本企业深度的合作&#xff0c;中关村壹号组织发起了资本助力人工智能产业发展&#xff0c;为企业提供更好的服务。由此遇见中关村壹号将为人工…

常用网络导航

本文转载自&#xff1a; http://www.cnblogs.com/nettech/archive/2007/06/25/795258.html 作者&#xff1a;Nettech 转载请注明该声明。 搜索引擎Google 1 2 I 3bing duck S雅虎 1 2 3百度 1 2 3Wiki 中 2互动 百度 百科 知乎大英 哥伦Wolfram S Integrat新闻时事新华网 rss…

全局流控 or 端到端拥塞控制

同事推荐一篇论文 Bolt: Sub-RTT Congestion Control for Ultra-Low Latency&#xff0c;写点想法。 端到端原则使网络在拥塞控制中始终扮演配角&#xff0c;人们认为拥塞控制是端到端的事。几十年来人们设计的拥塞控制机制始终围绕 “主机在什么情况下要增减 cwnd” 打转。但…

中国互联网十大骨干网有哪些?了解互联网的真实网络结构

中国互联网十大骨干网有哪些&#xff1f;了解互联网的真实网络结构 01网络是如何连通的&#xff1f;02中国十大骨干网2.1中国科学技术网&#xff08;CSTNet&#xff09;2.2中国公用计算机互联网&#xff08;ChinaNet&#xff09;2.3中国教育与科研网&#xff08;CERNet&#xf…