Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 596|回复: 0

Android腾讯微薄客户端开发十一:博主的粉丝 -  Android

[复制链接]

该用户从未签到

发表于 2011-10-25 08:53:19 | 显示全部楼层 |阅读模式


点击听众,显示博主的粉丝列表,点击列表中的粉丝,显示此粉丝详情




java代码


public class FansActivity extends ListActivity implements OnItemClickListener{



        private DataHelper dataHelper;

        private UserInfo user;

        private MyWeiboSync weibo;

        private Handler handler;

        private AsyncImageLoader asyncImageLoader;

        private FansThread thread;

        private ListView listView;

        private ProgressDialog progressDialog;

        private JSONArray array;

        private FansAdapter adapter;

        private String name;

        private String currentNick;//当前界面的昵称

        private View top_panel;

        private Button top_btn_left;

        private Button top_btn_right;

        private TextView top_title;

        

        @Override

        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.fans);

                setUpViews();//设置view

                setUpListeners();//设置listenter

                asyncImageLoader = new AsyncImageLoader();

                dataHelper = new DataHelper(FansActivity.this);

                weibo = new MyWeiboSync();

                List<UserInfo> userList = dataHelper.GetUserList(false);

               

                SharedPreferences preferences = getSharedPreferences("default_user",Activity.MODE_PRIVATE);

                String nick = preferences.getString("user_default_nick", "");//本地文件保存的你的登录昵称

                if (nick != "") {

                        user = dataHelper.getUserByName(nick,userList);

                }

               

                weibo.setAccessTokenKey(user.getToken());

                weibo.setAccessTokenSecrect(user.getTokenSecret());

               

                Intent intent = getIntent();

                name = intent.getStringExtra("name");//获取从前面页面传递过来的数据

                currentNick = intent.getStringExtra("nick");

                top_title.setText(currentNick+"的粉丝");

               

                progressDialog = new ProgressDialog(FansActivity.this);// 生成一个进度条

                progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

                progressDialog.setTitle("请稍等");

                progressDialog.setMessage("正在读取数据中!");

               

                handler = new FansHandler();

                thread = new FansThread();

                thread.start();//开启一个线程获取数据

                progressDialog.show();

        }

        

        private void setUpViews(){

                listView = getListView();

                top_panel = (View)findViewById(R.id.fans_top);

                top_btn_left = (Button)top_panel.findViewById(R.id.top_btn_left);

                top_btn_right = (Button)top_panel.findViewById(R.id.top_btn_right);

                top_title = (TextView)top_panel.findViewById(R.id.top_title);

        }

        

        private void setUpListeners(){

                listView.setOnItemClickListener(this);

        }

        

        class FansThread extends Thread {

                @Override

                public void run() {

                        String jsonStr = weibo.getFans(weibo.getAccessTokenKey(), weibo.getAccessTokenSecrect(), 20, 0, name);

                        try {

                                JSONObject dataObj = new JSONObject(jsonStr).getJSONObject("data");

                                array = dataObj.getJSONArray("info");

                        } catch (JSONException e) {

                                e.printStackTrace();

                        }

                        //通知handler处理数据

                        Message msg = handler.obtainMessage();

                        handler.sendMessage(msg);

                }

        }

        

        class FansHandler extends Handler {

                @Override

                public void handleMessage(Message msg){

                        adapter = new FansAdapter(FansActivity.this, array);

                        listView.setAdapter(adapter);

                        progressDialog.dismiss();// 关闭进度条

                }

        }

        

        class FansAdapter extends BaseAdapter {

                private Context context;

                private LayoutInflater inflater;

                private JSONArray array;

               

                public FansAdapter(Context context, JSONArray array) {

                        super();

                        this.context = context;

                        this.array = array;

                        this.inflater = LayoutInflater.from(context);

                }



                @Override

                public int getCount() {

                        return array.length();

                }



                @Override

                public Object getItem(int position) {

                        return array.opt(position);

                }



                @Override

                public long getItemId(int position) {

                        return position;

                }



                @Override

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

                        asyncImageLoader = new AsyncImageLoader();

                        FansViewHolder viewHolder = new FansViewHolder();

                        JSONObject data = (JSONObject)array.opt(position);

                        convertView = inflater.inflate(R.layout.fans_list_item, null);

                        

                        viewHolder.fans_headicon = (ImageView) convertView.findViewById(R.id.fans_headicon);

                        viewHolder.fans_nick = (TextView) convertView.findViewById(R.id.fans_nick);

                        viewHolder.fans_name = (TextView) convertView.findViewById(R.id.fans_name);

                        

                        Drawable cachedImage = null;

                        if(data!=null){

                                try {

                                        convertView.setTag(data.get("name"));

                                        viewHolder.fans_nick.setText(data.getString("nick"));

                                        viewHolder.fans_name.setText("@"+data.getString("name"));

                                        //异步加载图片

                                        cachedImage = asyncImageLoader.loadDrawable(data.getString("head")+"/100",viewHolder.fans_headicon, new ImageCallback(){

                            @Override

                            public void imageLoaded(Drawable imageDrawable,ImageView imageView, String imageUrl) {

                                imageView.setImageDrawable(imageDrawable);

                            }

                        });

                                        if (cachedImage == null) {

                                                viewHolder.fans_headicon.setImageResource(R.drawable.icon);

                                        }

                                } catch (JSONException e) {

                                        e.printStackTrace();

                                } catch (Exception e) {

                                        e.printStackTrace();

                                }

                        }

                        return convertView;

                }

        }

        

        static class FansViewHolder {

                private ImageView fans_headicon;

                private TextView fans_nick;

                private TextView fans_name;

        }



        @Override

        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3){

                Intent intent = new Intent(FansActivity.this,UserInfoActivity.class);

                try {

                        JSONObject fansInfo = (JSONObject)array.opt(position);

                        JSONArray tweets = fansInfo.getJSONArray("tweet");

                        JSONObject tweet = null;

                        if(tweets!=null&&tweets.length()>0){

                                tweet = (JSONObject)tweets.opt(0);

                                intent.putExtra("origtext", tweet.getString("text"));

                                intent.putExtra("timestamp", TimeUtil.getStandardTime(tweet.getLong("timestamp")));

                        }

                        intent.putExtra("name", fansInfo.getString("name"));

                        intent.putExtra("nick", fansInfo.getString("nick"));

                } catch (JSONException e) {

                        e.printStackTrace();

                }

                startActivity(intent);//跳转到用户信息界面

        }

}
复制代码



Java代码

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

<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffffff"

        xmlns:android="http://schemas.android.com/apk/res/android">

        <include android:id="@+id/fans_top" layout="@layout/top_panel" android:layout_alignParentTop="true"/>

        <ListView android:id="@id/android:list" android:layout_below="@id/fans_top" android:layout_width="fill_parent" android:cacheColorHint="#00000000"

                android:layout_height="wrap_content" android:layout_weight="1" android:divider="@drawable/list_divider"/>

        <RelativeLayout android:layout_width="fill_parent" android:layout_height="40.0dip" android:layout_alignParentBottom="true">

                <Button android:id="@+id/fans_back_btn" android:layout_width="40.0dip" android:drawableTop="@drawable/btn_back_selector" android:background="@drawable/bottom_back_bg"

                        android:layout_height="40.0dip"  android:layout_alignParentLeft="true"/>

                <Button android:id="@+id/fans_tohome_btn" android:layout_width="40.0dip"

                        android:layout_height="40.0dip" android:drawableTop="@drawable/btn_home_selector" android:background="@drawable/bottom_home_bg" android:layout_alignParentRight="true"/>

        </RelativeLayout>

</RelativeLayout>
复制代码
Java代码

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingTop="3.0dip" androidrientation="horizontal" android:background="@drawable/listitem_selector"  android:layout_width="fill_parent" android:layout_height="wrap_content">

        <RelativeLayout android:layout_width="50.0dip" android:layout_height="50.0dip" android:layout_weight="0.0">

                <ImageView android:id="@+id/fans_headicon" android:layout_width="45.0dip" android:layout_height="45.0dip" android:scaleType="fitCenter" android:layout_centerInParent="true" />

        </RelativeLayout>

        <RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="4.0dip" android:layout_weight="1.0">

                <TextView android:id="@+id/fans_nick" android:textColor="#000000" android:layout_width="wrap_content" android:layout_height="32.0dip" android:textSize="14.0sp" android:layout_alignParentLeft="true"/>

                <TextView android:id="@+id/fans_name" android:layout_marginLeft="6.0dip" android:layout_below="@id/fans_nick" android:textColor="#ff000000" android:layout_width="wrap_content" android:layout_height="32.0dip" android:textSize="8.0sp" android:layout_alignParentLeft="true"/>

        </RelativeLayout>

</LinearLayout>
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:18 , Processed in 0.304845 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表