android listview(ListView控件怎么用)

伏羲号

比如你在窗体上放了一个ListView,教你一些简单的操作。listView1.Columns.Clear()

android listview(ListView控件怎么用)

;//清空列记录ColumnHeader cZh = new ColumnHeader()

;//创建一个列cZh.Text = "英文"

;//列名ColumnHeader cCh = new ColumnHeader();cCh.Text = "中文"

;listView1.Columns.AddRange(new ColumnHeader[] { cZh, cCh })

;//将这两列加入listView1listView1.View = View.Details;//列的显示模式ListViewItem lvi = new ListViewItem(new string[] {“Gog”,"狗" }, -1)

;//创建列表项listView1.Items.Add(lvi)

;//将项加入listView1列表中动手试试就理解了。

第一阶段:专业核心基础

1、Web 前端开发环境的配置,HTML 常用的标签,常用表单元素,Table 布局,CSS 样式表,DIV+CSS 布局。可以熟练运用 HTML 和 CSS 样式属性完成页面的布局和美化。

2、CSS3 选择器、伪类、过渡、变换、动画、字体图标、弹性盒模型、响应式布局、移动端。熟练运用 CSS3 来开发网页和移动端。

3、了解 bootstrap,可以进行 bootstrap 源码分析。

4、使用 HTML、CSS、LESS、SASS 等技术完成网页项目实战。通过项目掌握第一阶段 HTML、CSS 等页面布局的内容、完成 PC 端页面设计和移动端页面设计。

第二阶段:Web后台技术

1、熟悉软件开发流程、算法、了解 JavaScript 变量、数据类型、函数、循环语句、数组等内容。可以熟练运用 JavaScript 的知识完成页面交互效果。

2、JavaScript 面向对象基础知识、异常处理机制、常见对象 API,浏览器兼容性处理、ES6 新特性。熟练掌握 JavaScript 面向对象的开发以及掌握 ES6 中的重要内容。

3、熟练操作和使用BOM以及DOM。

4、学习HTML5相关的 API、canvas、ajax 等。

第三阶段:数据库和框架实战

1、数据库知识,配置命令,建库建表,增删改查等操作。了解数据库管理系统及 MySQL 数据库的使用与管理。

2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web 模块,MySQL 数据库处理I,文件上传下载等。熟练运用 Node.js 运行环境和后台开发框架完成 Web 系统的后台开发。

3、学习 vue 的组件、生命周期、路由、组件、webpack、elementui 框架。对 Vue.js 框架的使用有清晰的理解,并且能够运用它完成基础前端开发、熟练运用 Vue.js 框架的高级功能完成 Web 前端开发和组件开发,对 MVVM 模式有深刻理解。

4、需求分析,数据库设计,后台开发,使用 vue.js、node.js 完成 PC 端和移动端整站开发。

第四阶段:移动端和微信实战

1、React 面向组件编程、表单数据、组件通信、监听、声明周期、路由、Redux 基本概念。熟练使用 react 完成项目开发、掌握 Redux 中的异步解决方案 Saga。

2、react-native、开发工具、视图与渲染、API 操作、Flutter 环境搭建、路由、ListView 组件、网络请求、打包。熟练掌握 react-native 和 Flutter 框架,并分别使用 react-native 和 Flutter 开发移动端项目。

3、微信小程序入门、开发工具、视图与渲染、API 操作、支付宝小程序的入门和 API 学习。掌握微信小程序开发以及了解支付宝小程序开发。

4、大型购物网站实战,将整个项目前后端分离开发。

这里给一个整理好的,内容来自: 铸剑师Vic(公众号)。

1、第一财经商业数据中心

https://www.cbndata.com/report

把他放到第一个,自然是因为我最喜欢,因为内容很多都跟消费相关,最重要的是:做的美。我反正又不是重度数据党,美的话看着也开心不是。

2、国家统计局

http://data.stats.gov.cn/

官方数据这里很多都可以查的哈,只是我国的部分数据么,你懂的

3、IBM商业价值研究院

https://www-935.ibm.com/services/cn/gbs/ibv/

说实话,他们的报告我很多都不怎么懂,都是一些细分行业的,但是看完真的是学习到了一些技术趋势,IBM牛的。来铸剑师vic(ID:vicresource)下报告。

4、财新数据

http://nei.caixin.com/

财新每周都有宏观相关的数据,可以连续关注,他们也出一些趋势报告,做得不错

5、36氪研究院

http://research.36kr.com/report.html

一些报告质量不错,但是我发现他们很多比较新的报告这里不一定能找到,通过第三方发布,经常找的头大,还好我有36kr的小伙伴会提醒我又出报告了,哈哈。

6、极光大数据研究院

https://www.jiguang.cn/reports

有大数据,很多东西就可以稍微分析一下,他们更新频率也比较快,不错。

7、阿里研究院

http://www.aliresearch.com

阿里么数据肯定大的,但是阿里研究院报告更新的没那么多啊,马云爸爸多漏点数据嘛

8、天猫新品创新中心

https://insight.tmall.com/portal/tmic_news?spm=a216w.12025734.1224965.4.69f738ea6B0CXf

我对这个机构是慢慢的爱啊,有谁认识么,介绍下嘛

9、腾讯研究院

http://www.tisi.org/

研究的内容还比较多,另外一个爸爸做的还不错

10、企鹅智酷

https://re.qq.com/

腾讯的报告我还是首选他们,他们的报告就是我真喜欢,腾讯科技做的吧,但是网站上比较难找,公众号上比较方便,大家还是去关注他们公众号吧

11、酷鹅用户研究院

微信ID:kueclub

不错不错哈,只是没有网页,就去公众号找哈。

12、京东大数据研究院

http://research.jd.com/industry/view

除了自己出报告以外也会推荐一些其他类别的报告

13、头条指数

https://index.toutiao.com/report

今日头条的报告,做的不错,偏娱乐的多,主要是抖音火了,所以找抖音相关的报告就这边,铸剑师vic(ID:vicresource)很是喜欢啊。

14、美团点评研究院

https://about.meituan.com/news.html#%E7%BE%8E%E5%9B%A2%E7%82%B9%E8%AF%84%E7%A0%94%E7%A9%B6%E9%99%A2

跟36kr一样,我要找最新报告还得去别的地儿找,但是他们的报告质量我觉得已经很好了,我这么知足的人,这样就满足了

15、微报告(微博官方)

http://data.weibo.com/report/report

微博的数据么也是比较火比加大的,他们报告除了更新慢点儿之外,还行了,不敢多奢求

16、MobData

http://mobdata.mob.com/mobdata/report

大数据公司,报告更新频率快,内容丰富,不错

17、Questmobile

http://www.questmobile.com.cn/research/report-new

还是大数据公司,有数据就是好啊,可以出各种有意思的报告,他们报告还不错

18、TalkingData移动观象台

http://mi.talkingdata.com/reports.html

大数据公司,每个月都有他们报告看,还行吧

19、尼尔森

https://www.nielsen.com/cn/zh/insights.html?tag=Category%3AFMCG+and+Retail

老牌咨询公司了啦

20、英敏特

http://china.mintel.com

咨询公司,他们的消费者研究和市场研究是我非常喜欢看的

21、凯度中国

https://cn.kantar.com/

报告不错的,只是不能直接下载,要预约,哈哈

22、wifipix

http://www.wifipix.com/reports.html

消费之类的报告他们做的不错,就是更新的没那么快,如果能更美点儿就好了

23、R3

http://www.rthree.com/cn/insight/show_list.html

市场类的咨询公司,不仅限于中国,可看

24、新榜报告

https://report.newrank.cn

内容创业方面的报告必须看他们的,微信公众号数据也最全

25、卡思数据

https://www.caasdata.com/index/report

PGC,KOL,红人之类的他们的还是很不错的

26、有米研究院

https://youcloud.com/reports/

移动广告相关的他们有一些数据的,更新频率稳定

27、百度交通出行数据报告

http://jiaotong.baidu.com/reports/

百度有那么多出行数据,做的报告也是很有意思的,只不过太垂直了,哈哈

28、高德报告

https://report.amap.com/download_city.do

百度出报告,人家高德肯定也得出报告的呀

29、飞常准大数据

https://data.variflight.com/reports

跟飞行相关的报告就看他们家了吧

30、马蜂窝攻略

http://www.mafengwo.cn/gonglve

人家自己都叫攻略,确实也就是攻略,只是这些攻略有一定的参考价值,大家去玩儿的时候可以顺便下载这些攻略哈。铸剑师vic(ID:vicresource)当年去国外玩儿的时候就下载到kindle里装着。

31、睿意德

http://www.ret.cn

地产类的报告我就看他们家的,关注消费的话就得关注地产,这个毋庸置疑

32、世联行

http://www.worldunion.com.cn/slyj/list_9.aspx

地产类的报告,还可以看他们的,发现地产的报告都做的没那么丑,是不是因为做地产的有钱请平面设计师啊

33、艾瑞网

http://report.iresearch.cn/

这个大家都用到多的吧,报告数量是不错的,质量么参差不齐的,每周都去看下吧

34、亿欧智库

https://www.iyiou.com/intelligence/report/

他们覆盖面比较齐全,内容也没那么枯燥,不错的

35、胖鲸智库

https://socialone.com.cn/reports/

营销类的居多,他们自己也发报告,但是我更多的是去看有啥新报告出来

36、投中研究院

https://www.chinaventure.com.cn/cmsmodel/report/list.shtml

VC/PE行业他们的报告算是不错的,只是下载的地儿比较难找

37、艾媒咨询

http://report.iimedia.cn/?rCode=001

会有一些免费报告的哈

38、易观国际

https://www.analysys.cn/article#analysis

下载挺麻烦,我用的也没那么多

39、前瞻产业研究院

https://bg.qianzhan.com/report/

40、ceicdata

https://www.ceicdata.com/zh-hans/countries

应该放前面的,全球宏观数据,不错的哈

41、研报

http://istock.jrj.com.cn/list,yanbao.html

二级市场的很多报告这里都可以找到

下面的可以忽略了,更新慢

42、中国通信院

http://www.caict.ac.cn/kxyj/qwfb/bps/

主要发一些通信行业白皮书,关于%G,区块链,VR等的,太官方,哈哈

43、admaster

http://www.admaster.com.cn/?c=downloads&a=index

报告更新频率慢

44、dataeye

https://www.dataeye.com/report

大数据公司,报告主要跟移动游戏相关,更新频率太太太慢

45、中国社会科学院旅游研究中心

http://trcchina.cssn.cn/

官方的,发旅游报告的地儿,更新频率就不说了,可以不收藏

1,首先自己下载工具,搭建一个Android开发环境,去百度一下(安卓开发环境搭建),有详细步骤。

2,百度搜索“图灵机器人”,去注册一个账号,获取api key,用来调用图灵机器人的数据。

2

把API key 复制下来放在一个记事本,之后要在代码中用的。

3

先新建一个Android工程,我的工程名为:Person,源代码在com.shenbin.person包下,MainActivity是Android的activity。

还包括HttpDate类,HttpGetDateListener类,ListDate类,TextAdapter类

//MainActivity代码:

/*下面的代码修改

httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=********&info=" +droph,this).execute();

把********替换成自己的API key

*/

package com.shenbin.person;

import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;

import org.json.JSONException;import org.json.JSONObject;

import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;

public class MainActivity extends Activity implements HttpGetDateListener,OnClickListener{ //实现接口

private HttpDate httpDate; private List<ListDate> lists; private ListView lv; private EditText getText; private Button send_btn; private String content_str; private TextAdapter adapter; private String [] welcome_array; private double currentTime,oldTime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=5692c0d167fc5a180d092efaab578617&info=你好", //this).execute(); }

private void initView() { lv = (ListView) findViewById(R.id.lv); getText = (EditText) findViewById(R.id.sendText); send_btn = (Button) findViewById(R.id.send_btn); //send_btn.setOnClickListener((android.view.View.OnClickListener) this); send_btn.setOnClickListener(this); lists = new ArrayList<ListDate>(); adapter = new TextAdapter(lists, this); lv.setAdapter(adapter); ListDate listDate = null ; listDate = new ListDate(getRandomWelcomeTips(),listDate.RECEIVER,getTime()); lists.add(listDate);

} private String getRandomWelcomeTips() { String welcome_tip = null; welcome_array = this.getResources().getStringArray(R.array.welcome_tips); //获得string。xml的欢迎语 int index = (int) (Math.random()*(welcome_array.length-1)); welcome_tip = welcome_array[index]; return welcome_tip; } @Override public void getDateUrl(String date) { // TODO 自动生成的方法存根 //System.out.println(date); parseText(date); } public void parseText(String str) { try { JSONObject jb = new JSONObject(str); //System.out.println(jb.getString("code")); //System.out.println(jb.getString("text")); ListDate listDate = null; listDate = new ListDate(jb.getString("text"),listDate.RECEIVER,getTime()); lists.add(listDate); adapter.notifyDataSetChanged(); } catch (JSONException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }

@Override public void onClick(View v) { getTime(); content_str = getText.getText().toString(); getText.setText(""); String dropk = content_str.replace(" ", ""); String droph = dropk.replace("\n", ""); ListDate listDate; listDate = new ListDate(content_str,ListDate.SEND,getTime()); lists.add(listDate); //如果太多了,就移除一些 if (lists.size() > 30) { for (int i = 0; i < lists.size(); i++) { lists.remove(i); } } adapter.notifyDataSetChanged(); httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=********&info=" +droph,this).execute();

} private String getTime() { currentTime = System.currentTimeMillis(); SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date curDate = new Date(); String str = format.format(curDate); if (currentTime - oldTime > 5*60*1000) { oldTime = currentTime; return str; }else { return ""; } }

}

//HttpDate类代码

package com.shenbin.person;

import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;

import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import android.os.AsyncTask;

public class HttpDate extends AsyncTask<String, Void, String>{ private HttpClient mHttpClient; //客户端 private HttpGet mHttpGet; //请求方式为get private String url; //请求的地址 private HttpResponse mHttpResponse; //请求返还 private HttpEntity mHttpEntity; //创建实体 private InputStream in; private HttpGetDateListener listener; //获得接口

public HttpDate(String url,HttpGetDateListener listener) { this.url = url; this.listener = listener; } @Override protected String doInBackground(String... arg0) { // TODO 自动生成的方法存根 try { mHttpClient = new DefaultHttpClient(); //实例化客户端 mHttpGet = new HttpGet(url); mHttpResponse = mHttpClient.execute(mHttpGet); mHttpEntity = mHttpResponse.getEntity(); in = mHttpEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = null; //获取数据 StringBuffer sb = new StringBuffer(); while (( line = br.readLine()) != null) { sb.append(line); } return sb.toString(); } catch (Exception e) { // TODO: handle exception } return null; } @Override protected void onPostExecute(String result) { // TODO 自动生成的方法存根 listener.getDateUrl(result); super.onPostExecute(result); }

}

//HttpGetDateListener类代码

//接口

package com.shenbin.person;

public interface HttpGetDateListener {

void getDateUrl(String date);}

//ListDate类代码

package com.shenbin.person;

import android.R.integer;

public class ListDate { private String content; public static final int SEND = 1; public static final int RECEIVER = 2; private int flag; private String time; public ListDate(String content,int flag,String time) { // TODO 自动生成的构造函数存根 setContent(content); setFlag(flag); setTime(time); } public void setContent(String content) { this.content = content; }

public String getContent() { return content; }

public int getFlag() { return flag; }

public void setFlag(int flag) { this.flag = flag; }

public String getTime() { return time; }

public void setTime(String time) { this.time = time; }

}

//TextAdapter类代码

package com.shenbin.person;

import java.net.ContentHandler;import java.util.List;

import javax.security.auth.PrivateCredentialPermission;

import android.R.layout;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.WebView.FindListener;import android.widget.BaseAdapter;import android.widget.RelativeLayout;import android.widget.TextView;

public class TextAdapter extends BaseAdapter{ private List<ListDate> lists; private Context nContext; private RelativeLayout layout; public TextAdapter(List<ListDate> lists,Context nContext) { this.lists = lists; this.nContext = nContext; }

@Override public int getCount() { // TODO 自动生成的方法存根 return lists.size(); }

@Override public Object getItem(int pesition) { return lists.get(pesition); }

@Override public long getItemId(int pesition) { // TODO 自动生成的方法存根 return pesition; }

@Override public View getView(int pesition, View converView , ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(nContext); if (lists.get(pesition).getFlag() == ListDate.RECEIVER) { layout = (RelativeLayout) inflater.inflate(R.layout.leftitem, null); } if (lists.get(pesition).getFlag() == ListDate.SEND) { layout = (RelativeLayout) inflater.inflate(R.layout.rightitem, null); } TextView tv = (TextView) layout.findViewById(R.id.tv); tv.setText(lists.get(pesition).getContent()); TextView time = (TextView) layout.findViewById(R.id.time); time.setText(lists.get(pesition).getTime()); return layout; }

}

activity_main.xml的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" >

<ListView android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:divider="@null" android:listSelector="@android:color/transparent" android:transcriptMode="alwaysScroll" ></ListView> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/sendText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <Button android:id="@+id/send_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/send" /> </LinearLayout>

</LinearLayout>

leftitem.xml代码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/time" android:layout_width="fill_parent" android:gravity="center_horizontal" android:layout_height="wrap_content" /> <ImageView android:layout_below="@id/time" android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp" android:padding="10dp" android:src="@drawable/c" /> <TextView android:layout_below="@id/time" android:layout_toRightOf="@id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:gravity="center" android:background="@drawable/d" />

</RelativeLayout>

rightitem.xml代码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/time" android:layout_width="fill_parent" android:gravity="center_horizontal" android:layout_height="wrap_content" /> <ImageView android:layout_below="@id/time" android:layout_alignParentRight="true" android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp" android:padding="10dp" android:src="@drawable/b" /> <TextView android:layout_below="@id/time" android:layout_toLeftOf="@id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:gravity="center" android:background="@drawable/d" />

</RelativeLayout>

values文件下的strings.xml代码

<?xml version="1.0" encoding="utf-8"?><resources>

<string name="app_name">小兵机器人</string> <string name="action_settings">Settings</string> <string name="hello_world">小兵聊天机器人</string> <string name="send">发送</string> <string-array name="welcome_tips"> <item>主人,奴婢在此等候多时了</item> <item>主人,近来可好</item> <item>欢迎归来,我亲爱的主人</item> <item>主人,我好想你啊</item> <item>主人,你越来越靓啦</item> <item>我是小兵机器人,很高兴陪你聊天</item> <item>我就是聪明,可爱的小兵机器人</item> <item>hello,美女(帅锅)</item> <item>你是我的小呀小苹果</item> <item>开心的话,可以找我聊天,不开心更要找我聊天啦</item> </string-array>

</resources>

AndroidManifest.xml的代码

添加的代码为加黑的粗体。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.shenbin.person" android:versionCode="1" android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.INTERNET"/>

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.shenbin.person.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

个人开发者推荐: 易历知食app

该app特别适合(中学生,大学生,研究生)学生朋友、研究历史的人士、研究几何数学的人士、研究古代文化和科技的人士(如易经风水,中医五运六气,天文历法等)、艺术创作的爱好者、编程爱好者等等。

该app集成十多项实用功能于一体:

【 太易日历 】功能,能查古代日历,历年范围从公元前2070年到公元后6000年,信息包括公历、农历、回历、节气、节日、干支、数九、人事所宜等,日期可以通过帝王年号查询,也可以通过年月日的干支查询,界面如图:

【 凤姐几何 】功能,用于数值分析、3D艺术字创作和数学3D曲面方程绘图。可以拟合曲线,支持多元曲线拟合,支持自定义函数模型拟合;可以创作3D艺术字,支持使用外部字体;可以画3D曲面方程图像,支持显式、参数式和隐式曲面方程的3D绘图,效果如图:

【 代数计算器 】功能,是个用于解方程和数学函数图像绘制的计算器,可解一元一次方程、一元二次方程、二元一次方程组和三元一次方程组,解方程时显示详细的解方程过程。画函数图像时,支持三种形式函数表达式:显式方程、参数方程和极坐标式。界面如图:

【 牛角书生PDF 】功能,是个PDF文档的阅读器,在文本单词上长按支持查字典翻译。如图:

【 风水罗盘 】和【 天元气运 】功能,是个专业的风水罗盘,可以在卫星图片是测量,可以查询中医五运六气的信息等,如图:

有几个益智小游戏,是学习成语的好帮手,界面如图:

还有很多项功能,如可编程计算器,文件管理,解压文件,压缩文件,lua程序设计,养生食物推荐,离线字典等等,如:

易历知食app真是功能又多又实用,值得拥有。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,76人围观)

还没有评论,来说两句吧...