实现微信好友列表



ListView列表控件

Android中的列表控件非常灵活,可以自定义每一个

列表项,实际上每一个列表项就是一个View,在Android定义

了3个列表控件:ListView、ExpandableListView和Spinner,

其中Spinner就是在Windows中常见的下拉列表框。

列表的显示需要三个元素:

1.View 用来展示数据的view

2.适配器 用来把数据映射到view上的中介。

3.数据  具体的将被映射的字符串,图片,或者基本组件。

实战案例 实现微信好友列表

需要源码的请在文章下面留言亲

一、java主函数

package com.example.listview;

import java.util.ArrayList;
import java.util.List;

import com.example.listview.adapter.FriendAdaper;
import com.example.listview.model.FriendModel;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

public class FriendListActivity extends Activity
{
//	ListView控件
	private ListView main_listView;
//	绑定数据适配器
	private FriendAdaper mAdaper;
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.view_mainview);
		main_listView=(ListView) findViewById(R.id.main_listView);
		mAdaper=new FriendAdaper(this, getData());
//与ListView建立数据通信
		main_listView.setAdapter(mAdaper);

	}
	private List<FriendModel> getData()
	{
		List<FriendModel> list=new ArrayList<FriendModel>();
//		好友数据共7个好友数据
		FriendModel friend1=new FriendModel();
		friend1.setIv_photo(R.drawable.show04);
		friend1.setTv_01("西西");
		friend1.setTv_02("你是我的贝贝,我是你的舒舒");

		FriendModel friend2=new FriendModel();
		friend2.setIv_photo(R.drawable.show01);
		friend2.setTv_01("小南");
		friend2.setTv_02("我还有什么理由可以回到以前?");

		FriendModel friend3=new FriendModel();
		friend3.setIv_photo(R.drawable.show02);
		friend3.setTv_01("城池");
		friend3.setTv_02("做你坚固的壁垒");

		FriendModel friend4=new FriendModel();
		friend4.setIv_photo(R.drawable.show03);
		friend4.setTv_01("阿德哈");
		friend4.setTv_02("嘻嘻哈哈,快快乐乐");

		FriendModel friend5=new FriendModel();
		friend5.setIv_photo(R.drawable.show05);
		friend5.setTv_01("阿斯顿");
		friend5.setTv_02("给我一个不伤心的理由");

		FriendModel friend6=new FriendModel();
		friend6.setIv_photo(R.drawable.show01);
		friend6.setTv_01("小南");
		friend6.setTv_02("我还有什么理由可以回到以前?");

		FriendModel friend7=new FriendModel();
		friend7.setIv_photo(R.drawable.show02);
		friend7.setTv_01("城池");
		friend7.setTv_02("做你坚固的壁垒");
		list.add(friend1);
		list.add(friend2);
		list.add(friend3);
		list.add(friend4);
		list.add(friend5);
		list.add(friend6);
		list.add(friend7);

		return list;
	}
}

二、数据适配器

package com.example.listview.adapter;

import java.util.List;

import com.example.listview.R;
import com.example.listview.model.FriendModel;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class FriendAdaper extends BaseAdapter
{
//来获取position数据
	private List<FriendModel> mData;
//没有上下文所以创建一个context
	private Context context;
//	创建一个构造方法来接收 mData和context
	public FriendAdaper(Context context,List data){
		this.mData=data;
		this.context=context;
	}
//决定列表item显示的个数
	@Override
	public int getCount()
	{

		return mData.size();
	}
//根据position获取对应item数据
	@Override
	public Object getItem(int position)
	{

		return mData.get(position);
	}
//获取对应position的item的id
	@Override
	public long getItemId(int position)
	{

		return position;
	}
//创建列表item的视图
	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
//创建的view返回值,获取listView的布局
		View view=View.inflate(context, R.layout.item_listview, null);
//		获取item相应的数据对象
		FriendModel friend= mData.get(position);
//		初始化view
		ImageView iv_photo=(ImageView) view.findViewById(R.id.iv_photo);
		TextView tv_01=(TextView) view.findViewById(R.id.tv_01);
		TextView tv_02=(TextView) view.findViewById(R.id.tv_02);
//	数据绑定到view
		iv_photo.setImageResource(friend.getIv_photo());
		tv_01.setText(friend.getTv_01());
		tv_02.setText(friend.getTv_02());
//返回绑定完数据的view
		return view;
	}

}

三、数据类,为了创建存放数据的对象

package com.example.listview.model;

//创建一个数据类,便于建立数据对象存放数据
public class FriendModel
{
//	图片的资源ID
	private int iv_photo;
//	昵称
	private String tv_01;
//	个性签名
	private String tv_02;
	public int getIv_photo()
	{
		return iv_photo;
	}
	public void setIv_photo(int iv_photo)
	{
		this.iv_photo = iv_photo;
	}
	public String getTv_01()
	{
		return tv_01;
	}
	public void setTv_01(String tv_01)
	{
		this.tv_01 = tv_01;
	}
	public String getTv_02()
	{
		return tv_02;
	}
	public void setTv_02(String tv_02)
	{
		this.tv_02 = tv_02;
	}

}

四、xml布局文件中

主函数加载的布局

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

</ListView>

ListView布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <ImageView
        android:id="@+id/iv_photo"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:src="@drawable/show04"/>
    <TextView
        android:id="@+id/tv_01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="小南"
        android:layout_toRightOf="@id/iv_photo"
        android:layout_centerVertical="true"
         android:layout_margin="2dp"/>
     <TextView
        android:id="@+id/tv_02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="如果回到过去我们有能抓住什么?"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_margin="2dp"/>

</RelativeLayout>

时间: 2024-10-21 08:26:37

实现微信好友列表的相关文章

分析微信好友列表信息(json)

在前面我们玩了好多静态的 HTML,但还有一些常见的动态数据,比如,商品的评论数据.实时的直播弹幕等,这些数据是会经常发生改变的,所以很多网站就会用到 Json 来传输这些数据. Python JSON 可以用 json 模块, 1. 将 python 对象转化为 json是这样的 json.dumps() 2. 将json数据转化为python对象是这样的 json.loads() 微信好友列表 登陆微信网页版(据说现在很多微信号不能等网页版了??) 很容易找到有一个请求,会返回所有好友的信息

实现微信好友列表的php代码

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

练习:微信好友分析

来源:http://www.cnblogs.com/jiaoyu121/p/6944398.html 1.好友性别分布 import itchat itchat.login() #itchat.send(u'你好','filehelper') friends = itchat.get_friends(update=True)[0:] #print len(friends) male = female = other = 0 for i in friends[1:]: sex = i['Sex']

ListView模拟微信好友功能

ListView模拟微信好友功能 效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 4.ListView设置适配器 代码: 1 package fry; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.example.weChatFriends.R; 7 8 import android.app.Activity

Android学习--------实现增删改查数据库操作以及实现类似微信好友对话管理操作

最近的一个实验用到东西挺多,特地总结一下. 要求功能: 1.第一个页面添加歌曲名和歌手,跳到第二个页面列表显示所有记录,使用sqlite数据库 2.对于第二个页面显示的信息可以进行删除和修改操作,并自动刷新 最后我做的效果: 长按列表项弹出单个管理的菜单,像微信好友对话管理一样. 删除时可以直接删除这一条并在列表中直接显示,更新时弹出对话框更新内容提交后在列表中重新显示. 做此例遇到的困难: 1.菜单获取上下文 2.获取对话框中的内容 3.对话框按钮添加监听事件-----注意包不要导错:impo

python验证微信好友是否把你删了

转载:http://huainian.blog.51cto.com/2602707/1748360 亲测,可以正常使用,如果你使用的python3.x就安装一个python2.x的解释器,就可以正常运行了,生成二维码,使用手机微信扫码后点击确认授权,就可以在控制台上看到哪些好友把你删了. #!/usr/bin/env python # coding=utf-8 from __future__ import print_function import os try: from urllib imp

Python--分析微信好友是否被删除

Python下载地址: 1.建议使用python2.7(兼容MAC.Widows平台) 2.将下面代码保存为以.py格式的文件 3.打开windows终端>>运行>>cmd>>cd C:\Python27 4.python  weixin_test.py 代码如下: #!/usr/bin/env python # coding=utf-8 from __future__ import print_function import os try:     from urll

微信“好友测试”催生无聊社交病毒经济

如果你被当成一个测试品会有什么感受?想必不火冒三丈直接找人开仗都是好的.但如果这是频繁地在微信上发生呢?那或许只能无奈+厌恶了.近段时间以来,微信上除了那些火爆的游戏以外,"好友测试"颇为流行.所谓的"好友测试"就是群发消息,确认是否在对方的好友列表中,简直无聊到极点.但就是这样,却让很多人乐此不疲."好友测试"会带来哪些负面情绪?又缘何流行?这种无聊的测试真的会带来实际的经济利益吗?不妨让我好好剖析一下. 微信"好友测试"爆

Python3 生成微信好友头像的图片合集

刚才在github上看到一个大神写的生成微信好友图像集合的脚本 自己运行了一下发现挺好玩的 原帖地址:https://github.com/aloneZERO/py-party/tree/master/wechat-imgs #!python3 # coding: utf-8 import itchat import os from PIL import Image import math # 首先登陆python版本微信itchat,生成二维码 # itchat.auto_login(enab