zoukankan      html  css  js  c++  java
  • Android腾讯微薄客户端开发九:博主详情界面篇(广播,听众,收听)

     
    点击顶部的标题栏,界面跳转到此博主的关注界面 
     
    关注界面,此界面下面的对话和点评以及上面的广播,听众和收听丑了点,没时间了,今天时间比较紧,美化的事情交给你们了。 
    Java代码  收藏代码
    1. public class UserInfoActivity extends Activity implements OnItemClickListener{  
    2.     private String currentNick;  
    3.     private String name;  
    4.     private String origtext;  
    5.     private String timestamp;  
    6.     private DataHelper dataHelper;  
    7.     private UserInfo user;  
    8.     private MyWeiboSync weibo;  
    9.     private Handler handler;  
    10.     private AsyncImageLoader asyncImageLoader;   
    11.     private UserInfoThread thread;  
    12.     private String weiboid;  
    13.     private String returnJsonStr;  
    14.     private JSONObject dataObj ;  
    15.     private ImageView user_headicon;  
    16.     private TextView user_nick;  
    17.     private TextView user_name;  
    18.     private TextView user_origtext;  
    19.     private TextView user_time;  
    20.     private TextView user_sex;  
    21.     private TextView user_age;  
    22.     private TextView user_location;  
    23.     private TextView user_verifyinfo;  
    24.     private Button user_back_btn;  
    25.     private Button user_dialog_btn;  
    26.     private Button user_message_btn;  
    27.     private GridView gridView;  
    28.       
    29.     @Override  
    30.     protected void onCreate(Bundle savedInstanceState){  
    31.         super.onCreate(savedInstanceState);  
    32.         setContentView(R.layout.user_info);  
    33.         setUpViews();//设置view  
    34.         setUpListeners();//设置listenter  
    35.         asyncImageLoader = new AsyncImageLoader();  
    36.         dataHelper = new DataHelper(UserInfoActivity.this);  
    37.         weibo = new MyWeiboSync();  
    38.         List<UserInfo> userList = dataHelper.GetUserList(false);  
    39.           
    40.         SharedPreferences preferences = getSharedPreferences("default_user",Activity.MODE_PRIVATE);  
    41.         String nick = preferences.getString("user_default_nick""");  
    42.           
    43.         if (nick != "") {  
    44.             user = dataHelper.getUserByName(nick,userList);  
    45.         }  
    46.           
    47.         weibo.setAccessTokenKey(user.getToken());  
    48.         weibo.setAccessTokenSecrect(user.getTokenSecret());  
    49.           
    50.         //获取从上一界面传递过来的数据  
    51.         Intent intent = getIntent();  
    52.         name = intent.getStringExtra("name");  
    53.         currentNick = intent.getStringExtra("nick");//昵称  
    54.         origtext = intent.getStringExtra("origtext");  
    55.         timestamp = intent.getStringExtra("timestamp");  
    56.         user_name.setText("@"+name);  
    57.         user_origtext.setText(origtext);  
    58.         user_time.setText(timestamp);  
    59.           
    60.         handler = new UserInfoHandler();  
    61.         thread = new UserInfoThread();  
    62.         thread.start();//开启一个线程获取数据  
    63.     }  
    64.       
    65.     private void setUpViews(){  
    66.         user_headicon = (ImageView) findViewById(R.id.user_headicon);  
    67.         user_nick = (TextView) findViewById(R.id.user_nick);  
    68.         user_name = (TextView) findViewById(R.id.user_name);  
    69.         user_origtext = (TextView) findViewById(R.id.user_origtext);  
    70.         user_time = (TextView) findViewById(R.id.user_time);  
    71.         user_sex = (TextView) findViewById(R.id.user_sex);  
    72.         user_age = (TextView) findViewById(R.id.user_age);  
    73.         user_location = (TextView) findViewById(R.id.user_location);  
    74.         user_verifyinfo = (TextView) findViewById(R.id.user_verifyinfo);  
    75.         user_back_btn = (Button) findViewById(R.id.user_back_btn);  
    76.         user_dialog_btn = (Button) findViewById(R.id.user_dialog_btn);  
    77.         user_message_btn = (Button) findViewById(R.id.user_message_btn);  
    78.         gridView = (GridView)findViewById(R.id.user_grid);  
    79.     }  
    80.       
    81.     private void setUpListeners(){  
    82.         gridView.setOnItemClickListener(this);  
    83.     }  
    84.       
    85.     class UserInfoThread extends Thread {  
    86.         @Override  
    87.         public void run() {  
    88.             returnJsonStr = weibo.getUserInfoByName(weibo.getAccessTokenKey(), weibo.getAccessTokenSecrect(), name);  
    89.             //通知handler处理数据  
    90.             Message msg = handler.obtainMessage();  
    91.             handler.sendMessage(msg);  
    92.         }  
    93.     }  
    94.       
    95.     class UserInfoHandler extends Handler {   
    96.         @Override  
    97.         public void handleMessage(Message msg){  
    98.             Drawable cachedImage;  
    99.             try {  
    100.                 dataObj = new JSONObject(returnJsonStr).getJSONObject("data");  
    101.                 cachedImage = asyncImageLoader.loadDrawable(dataObj.getString("head")+"/100",user_headicon, new ImageCallback(){  
    102.                     @Override  
    103.                     public void imageLoaded(Drawable imageDrawable,ImageView imageView, String imageUrl) {  
    104.                         imageView.setImageDrawable(imageDrawable);  
    105.                     }  
    106.                 });  
    107.                 if (cachedImage == null) {  
    108.                     user_headicon.setImageResource(R.drawable.icon);  
    109.                 } else {  
    110.                     user_headicon.setImageDrawable(cachedImage);  
    111.                 }  
    112.                 user_nick.setText(dataObj.getString("nick"));  
    113.                 user_sex.setText(dataObj.getInt("sex")==1?"男":"女");  
    114.                 if(dataObj.getInt("birth_year")!=0){  
    115.                     user_age.setText((Calendar.getInstance().get(Calendar.YEAR)-dataObj.getInt("birth_year"))+"岁");  
    116.                 }  
    117.                 user_location.setText(dataObj.getString("location"));  
    118.                 String verifyinfo = dataObj.getString("verifyinfo");  
    119.                 if(verifyinfo==null||"".equals(verifyinfo)){  
    120.                     user_verifyinfo.setText("这家伙很懒,没留什么");  
    121.                 }else{  
    122.                     user_verifyinfo.setText(verifyinfo);  
    123.                 }  
    124.                 final List<String> numsList = new ArrayList<String>();  
    125.                 numsList.add(dataObj.getString("tweetnum"));  
    126.                 numsList.add(dataObj.getString("fansnum"));  
    127.                 numsList.add(dataObj.getString("idolnum"));  
    128.                 gridView.setAdapter(new GridAdapter(UserInfoActivity.this, numsList));  
    129.             } catch (JSONException e) {  
    130.                 e.printStackTrace();  
    131.             }  
    132.         }  
    133.     }  
    134.       
    135.     class GridAdapter extends BaseAdapter {  
    136.         private Context context;  
    137.         private LayoutInflater inflater;  
    138.         List<String> numList;  
    139.           
    140.         public GridAdapter(Context context, List<String> numList) {  
    141.             super();  
    142.             this.context = context;  
    143.             this.numList = numList;  
    144.             this.inflater = LayoutInflater.from(context);  
    145.         }  
    146.   
    147.         @Override  
    148.         public int getCount() {  
    149.             return numList.size();  
    150.         }  
    151.   
    152.         @Override  
    153.         public Object getItem(int position) {  
    154.             return numList.get(position);  
    155.         }  
    156.   
    157.         @Override  
    158.         public long getItemId(int position) {  
    159.             return position;  
    160.         }  
    161.   
    162.         @Override  
    163.         public View getView(final int position, View convertView, ViewGroup parent){  
    164.             convertView = inflater.inflate(R.layout.userinfo_grid_item, null);  
    165.             TextView num = (TextView)convertView.findViewById(R.id.userinfo_grid_num);  
    166.             TextView title = (TextView)convertView.findViewById(R.id.userinfo_grid_title);  
    167.             ImageView image = (ImageView)convertView.findViewById(R.id.userinfo_grid_image);  
    168.             switch (position) {  
    169.             case 0:  
    170.                 num.setText(numList.get(0));  
    171.                 title.setText("广播");  
    172.                 image.setVisibility(View.VISIBLE);  
    173.                 break;  
    174.             case 1:  
    175.                 num.setText(numList.get(1));  
    176.                 title.setText("听众");  
    177.                 image.setVisibility(View.VISIBLE);  
    178.                 break;  
    179.             case 2:  
    180.                 num.setText(numList.get(2));  
    181.                 title.setText("收听");  
    182.                 break;  
    183.   
    184.             default:  
    185.                 break;  
    186.             }  
    187.             return convertView;  
    188.         }  
    189.     }  
    190.   
    191.     @Override  
    192.     public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3){  
    193.         switch (position) {  
    194.         case 0:  
    195.             Intent intent = new Intent(UserInfoActivity.this,TweetsActivity.class);  
    196.             intent.putExtra("name", name);  
    197.             intent.putExtra("nick",currentNick);  
    198.             startActivity(intent);  
    199.             break;  
    200.         case 1:  
    201.             Intent intent2 = new Intent(UserInfoActivity.this,FansActivity.class);  
    202.             intent2.putExtra("name", name);  
    203.             intent2.putExtra("nick",currentNick);  
    204.             startActivity(intent2);  
    205.             break;  
    206.         case 2:  
    207.             Intent intent3 = new Intent(UserInfoActivity.this,IdolActivity.class);  
    208.             intent3.putExtra("name", name);  
    209.             intent3.putExtra("nick",currentNick);  
    210.             startActivity(intent3);  
    211.             break;  
    212.         default:  
    213.             break;  
    214.         }  
    215.           
    216.     }  
    217. }  


    Java代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#c0c8d0"  
    3.     xmlns:android="http://schemas.android.com/apk/res/android">  
    4.     <RelativeLayout android:id="@+id/user_top" android:paddingTop="5.0dip" android:layout_width="fill_parent" android:layout_height="60.0dip" android:layout_alignParentTop="true" android:layout_centerHorizontal="true">  
    5.         <ImageView android:id="@+id/user_headicon" android:layout_marginLeft="8.0dip" android:layout_width="45.0dip" android:layout_height="45.0dip" android:layout_alignParentLeft="true"/>  
    6.         <TextView android:id="@+id/user_nick" android:layout_marginLeft="5.0dip" android:layout_width="wrap_content" android:layout_toRightOf="@id/user_headicon" android:textColor="#384050"  
    7.             android:layout_height="wrap_content"/>  
    8.         <TextView android:id="@+id/user_name" android:layout_width="wrap_content" android:layout_marginLeft="10.0dip" android:layout_toRightOf="@id/user_headicon" android:textColor="#687888"  
    9.             android:layout_height="wrap_content" android:layout_below="@id/user_nick"/>  
    10.     </RelativeLayout>  
    11.     <LinearLayout android:paddingLeft="10.0dip" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_below="@id/user_top">  
    12.         <ImageView android:background="#a0b0b0" android:layout_width="fill_parent" android:layout_height="1.0dip" android:scaleType="fitCenter"/>  
    13.         <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip">  
    14.             <GridView android:gravity="center" android:listSelector="@drawable/listitem_selector" android:id="@+id/user_grid" android:background="@drawable/userinfo_grid_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="3"/>  
    15.         </RelativeLayout>  
    16.         <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:background="@drawable/panel_bg">  
    17.             <TextView android:id="@+id/user_sex" android:layout_marginLeft="5.0dip" android:layout_alignParentLeft="true" android:layout_width="wrap_content"  android:textSize="12.0sp" android:textColor="#788080"  
    18.                 android:layout_height="wrap_content"/>  
    19.             <TextView android:id="@+id/user_age" android:layout_toRightOf="@id/user_sex" android:layout_width="wrap_content"  android:textSize="12.0sp" android:textColor="#788080"  
    20.                 android:layout_height="wrap_content"/>  
    21.             <TextView  android:id="@+id/user_location" android:layout_toRightOf="@id/user_age" android:layout_width="wrap_content" android:textSize="12.0sp" android:textColor="#788080"  
    22.                 android:layout_height="wrap_content"/>  
    23.             <TextView  android:id="@+id/user_verifyinfo" android:layout_marginLeft="5.0dip" android:layout_alignParentLeft="true" android:layout_below="@id/user_sex" android:layout_width="fill_parent" android:textSize="12.0sp" android:textColor="#788080"  
    24.                 android:layout_height="wrap_content"/>  
    25.         </RelativeLayout>  
    26.         <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:background="@drawable/panel_bg">  
    27.             <TextView android:text="最新广播:" android:layout_width="fill_parent" android:layout_marginLeft="5.0dip" android:textSize="12.0sp" android:textColor="#788080"  
    28.                 android:layout_height="wrap_content"/>  
    29.             <TextView android:id="@+id/user_time" android:layout_width="wrap_content" android:layout_marginLeft="3.0dip" android:layout_marginTop="10.0dip" android:textSize="8.0sp" android:textColor="#788080"  
    30.                 android:layout_height="wrap_content" android:layout_alignParentRight="true"/>  
    31.             <TextView android:id="@+id/user_origtext" android:layout_width="fill_parent" android:layout_marginLeft="5.0dip" android:textSize="12.0sp" android:textColor="#788080"   
    32.                 android:layout_height="wrap_content" android:layout_below="@id/user_time" android:layout_alignParentLeft="true"/>  
    33.         </RelativeLayout>  
    34.     </LinearLayout>  
    35.     <RelativeLayout android:layout_width="fill_parent" android:layout_height="40.0dip" android:layout_alignParentBottom="true">  
    36.         <Button android:id="@+id/user_back_btn" android:layout_width="40.0dip" android:drawableTop="@drawable/btn_back_selector" android:background="@drawable/bottom_back_bg"  
    37.             android:layout_height="40.0dip"  android:layout_alignParentLeft="true"/>  
    38.         <LinearLayout android:id="@+id/widget41" android:layout_marginLeft="60.0dip" android:layout_alignParentBottom="true"  
    39.             android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_toRightOf="@id/user_back_btn">  
    40.             <ImageView android:background="#f8f8f8" android:layout_width="1.0dip" android:layout_height="20.0dip" android:scaleType="fitCenter"/>  
    41.             <Button android:id="@+id/user_dialog_btn" android:layout_width="wrap_content" android:background="@drawable/bottom_bar_bg"  
    42.                 android:layout_height="wrap_content" android:text="对话"/>  
    43.             <ImageView android:background="#f8f8f8" android:layout_width="1.0dip" android:layout_height="20.0dip" android:scaleType="fitCenter"/>  
    44.             <Button android:id="@+id/user_message_btn" android:layout_width="wrap_content" android:background="@drawable/bottom_bar_bg"  
    45.                 android:layout_height="wrap_content" android:text="点评"/>  
    46.         </LinearLayout>  
    47.         <Button android:id="@+id/user_tohome_btn" android:layout_width="40.0dip"  
    48.             android:layout_height="40.0dip" android:drawableTop="@drawable/btn_home_selector" android:background="@drawable/bottom_home_bg" android:layout_alignParentRight="true"/>  
    49.     </RelativeLayout>  
    50. </RelativeLayout>  


    Java代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center" android:paddingTop="3.0dip" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">  
    3.     <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content">  
    4.         <TextView android:id="@+id/userinfo_grid_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#586068"/>  
    5.         <TextView android:id="@+id/userinfo_grid_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#98a0a0"/>  
    6.     </LinearLayout>  
    7.     <ImageView android:id="@+id/userinfo_grid_image" android:src="#d0d0d8" android:visibility="invisible" android:layout_width="1.0dip" android:layout_height="30.0dip" android:layout_marginLeft="30.0dip"/>  
    8. </LinearLayout>  
  • 相关阅读:
    第一篇Scrum冲刺博客
    团队作业3--需求改进&系统设计
    团队作业2(追忆少年)—需求规格说明书
    JAVA作业—字符串操作
    团队作业1——团队展示&选题 (追忆少年)
    个人项目作业WC(JAVA)
    自我介绍+软工5问
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
  • 原文地址:https://www.cnblogs.com/afly/p/2360246.html
Copyright © 2011-2022 走看看