編輯:關於Android編程
一.TabHost的實現
之前的一篇文章講的就是TabHost,但是那個是用Fragment實現TabHost,這裡我就嘗試用另一種方式,繼承TabActivity的方式實現TabHost。
MainActivity.java
public class MainActivity extends TabActivity{
private TabHost tabHost;
private static final String HOME_TAB=home;
private static final String AT_TAB=at;
private static final String MSG_TAB=msg;
private static final String MORE_TAB=more;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabHost = this.getTabHost();
TabSpec homeSpec=tabHost.newTabSpec(HOME_TAB).setIndicator(HOME_TAB).setContent(new Intent(this,HomeActivity.class));
TabSpec atSpec=tabHost.newTabSpec(AT_TAB).setIndicator(AT_TAB).setContent(new Intent(this,AtActivity.class));
TabSpec msgSpec=tabHost.newTabSpec(MSG_TAB).setIndicator(MSG_TAB).setContent(new Intent(this,MsgActivity.class));
TabSpec moreSpec=tabHost.newTabSpec(MORE_TAB).setIndicator(MORE_TAB).setContent(new Intent(this,MoreActivity.class));
tabHost.addTab(homeSpec);
tabHost.addTab(atSpec);
tabHost.addTab(msgSpec);
tabHost.addTab(moreSpec);
tabHost.setCurrentTabByTag(HOME_TAB);
RadioGroup radioGroup = (RadioGroup) this.findViewById(R.id.main_radio);
final RadioButton rb=(RadioButton)this.findViewById(R.id.rb_home);
rb.setBackgroundResource(R.drawable.tabhost_press);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId)
{
rb.setBackgroundResource(R.drawable.tabhost_bg_selector);
switch (checkedId)
{
case R.id.rb_home:
tabHost.setCurrentTabByTag(HOME_TAB);
break;
case R.id.rb_at:
tabHost.setCurrentTabByTag(AT_TAB);
break;
case R.id.rb_mess:
tabHost.setCurrentTabByTag(MSG_TAB);
break;
case R.id.rb_more:
tabHost.setCurrentTabByTag(MORE_TAB);
break;
default:
break;
}
}
});
}
}
布局文件:main.xml
android:background=#ffffff > android:layout_width=fill_parent android:layout_height=wrap_content android:visibility=gone/> <framelayout android:id="@android:id/tabcontent<!--{cke_protected}{C}%3C!%2D%2D%E6%B3%A8%E6%84%8F%E8%BF%99%E9%87%8C%20%2D%2D%3E--"> android:layout_width=fill_parent android:layout_height=fill_parent/> </framelayout>
其中的每一個Tab選項的內容都是一個Activity,然後再去針對性的寫每一個Tab下的內容。
二.WeiboAPI WeiboUtil.java
這個類的操作主要是發Http請求,然後解析數據,封裝到bean中。這裡我只寫好了 讀取所關注人的微博列表。下面的HttpRequest是我寫的一個HTTP請求的方法,因為經常涉及到Http請求,就把這部分代碼抽出來寫成一個方法。
WeiboUtil.java的全部代碼
package com.fangjie.weibo.util;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.fangjie.weibo.bean.User;
import com.fangjie.weibo.bean.Weibo;
public class WeiboUtil {
public List getWeiboList(String token, long i) {
List weibos=new ArrayList();
String url=https://api.weibo.com/2/statuses/home_timeline.json;
String params=access_token=+token+&max_id=+i;
String result=HttpRequest(1, url, params);
try {
JSONObject json_res=new JSONObject(result);
JSONArray json_weibos=json_res.getJSONArray(statuses);
for(int j=0;j歡迎各位關注我的個人站點:http://fangjie.sinaapp.com/
小米手環免密碼支付怎麼設置 小米手環免密碼支付怎麼用
小米手環有一個免密碼支付功能,作為忠實米粉小米手環免密碼支付怎麼用都不會有點說不過去,那麼小米手環免密碼支付怎麼設置?小米手環免密碼支付怎麼用?下面為大家帶
Kerberos安全體系詳解---Kerberos的簡單實現
1. Kerberos簡介1.1. 功能一個安全認證協議用tickets驗證避免本地保存密碼和在互聯網上傳輸密碼包含一個可信任的第三方使用對稱加密客戶端與服務器(非KDC
Android volley 解析(四)之緩存篇
這是 volley 的第四篇 blog 了,寫完這篇,volley 的大部分用法也都算寫了一遍,所以暫時不會寫 volley 的文章了為什麼要用緩存我們知道,當客戶端在請
高仿知乎項目制作流程詳解---第一解:自定義組件的使用
首先來看一下我實現的效果圖: 從”我的關注”開始,每一個條目都是一個自定義組合控件.下面,我來講解一下具體實現步驟: 一.根據