編輯:關於Android編程
Weather.java
[java]
package com.example;
import java.io.UnsupportedEncodingException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class Weather extends Activity {
private Button search_but;
private TextView textview1;
private EditText et;
private Button city1_1;
private Button city1_2;
private Button city1_3;
private Button city1_4;
private ImageView image1;
private ImageView image2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et=(EditText)findViewById(R.id.et);
image1=(ImageView)findViewById(R.id.image1);
image2=(ImageView)findViewById(R.id.image2);
search_but=(Button)findViewById(R.id.search_but);
city1_1=(Button)findViewById(R.id.city1_1);
city1_1.setOnClickListener(listener1);
city1_2=(Button)findViewById(R.id.city1_2);
city1_2.setOnClickListener(listener2);
city1_3=(Button)findViewById(R.id.city1_3);
city1_3.setOnClickListener(listener3);
city1_4=(Button)findViewById(R.id.city1_4);
city1_4.setOnClickListener(listener4);
search_but.setOnClickListener(listener);
}
private OnClickListener listener=new OnClickListener() {
@Override
public void onClick(View v) {
String city=et.getText().toString();
getWeather(city);
}
};
private OnClickListener listener1=new OnClickListener() {
@Override
public void onClick(View v) {
et.setText("北京");
}
};
private OnClickListener listener2=new OnClickListener() {
@Override
public void onClick(View v) {
et.setText("上海");
}
};
private OnClickListener listener3=new OnClickListener() {
@Override
public void onClick(View v) {
et.setText("深圳");
}
};
private OnClickListener listener4=new OnClickListener() {
@Override
public void onClick(View v) {
et.setText("北京");
}
};
private static final String NAMESPACE = "http://WebXml.com.cn/";
// WebService地址
private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
private static final String METHOD_NAME = "getWeatherbyCityName";
private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName";
private String weatherToday;
private SoapObject detail;
private String weatherNow;
private String weatherWillBe;
private void setIcon(String weather, ImageView imageview) {
if(weather.equalsIgnoreCase("nothing.gif"))
imageview.setBackgroundResource(R.drawable.a_nothing);
if(weather.equalsIgnoreCase("0.gif"))
imageview.setBackgroundResource(R.drawable.a_0);
if(weather.equalsIgnoreCase("1.gif"))
imageview.setBackgroundResource(R.drawable.a_1);
if(weather.equalsIgnoreCase("2.gif"))
imageview.setBackgroundResource(R.drawable.a_2);
if(weather.equalsIgnoreCase("3.gif"))
imageview.setBackgroundResource(R.drawable.a_3);
if(weather.equalsIgnoreCase("4.gif"))
imageview.setBackgroundResource(R.drawable.a_4);
if(weather.equalsIgnoreCase("5.gif"))
imageview.setBackgroundResource(R.drawable.a_5);
if(weather.equalsIgnoreCase("6.gif"))
imageview.setBackgroundResource(R.drawable.a_6);
if(weather.equalsIgnoreCase("7.gif"))
imageview.setBackgroundResource(R.drawable.a_7);
if(weather.equalsIgnoreCase("8.gif"))
imageview.setBackgroundResource(R.drawable.a_8);
if(weather.equalsIgnoreCase("9.gif"))
imageview.setBackgroundResource(R.drawable.a_9);
if(weather.equalsIgnoreCase("10.gif"))
imageview.setBackgroundResource(R.drawable.a_10);
if(weather.equalsIgnoreCase("11.gif"))
imageview.setBackgroundResource(R.drawable.a_11);
if(weather.equalsIgnoreCase("12.gif"))
imageview.setBackgroundResource(R.drawable.a_12);
if(weather.equalsIgnoreCase("13.gif"))
imageview.setBackgroundResource(R.drawable.a_13);
if(weather.equalsIgnoreCase("14.gif"))
imageview.setBackgroundResource(R.drawable.a_14);
if(weather.equalsIgnoreCase("15.gif"))
imageview.setBackgroundResource(R.drawable.a_15);
if(weather.equalsIgnoreCase("16.gif"))
imageview.setBackgroundResource(R.drawable.a_16);
if(weather.equalsIgnoreCase("17.gif"))
imageview.setBackgroundResource(R.drawable.a_17);
if(weather.equalsIgnoreCase("18.gif"))
imageview.setBackgroundResource(R.drawable.a_18);
if(weather.equalsIgnoreCase("19.gif"))
imageview.setBackgroundResource(R.drawable.a_19);
if(weather.equalsIgnoreCase("20.gif"))
imageview.setBackgroundResource(R.drawable.a_20);
if(weather.equalsIgnoreCase("21.gif"))
imageview.setBackgroundResource(R.drawable.a_21);
if(weather.equalsIgnoreCase("22.gif"))
imageview.setBackgroundResource(R.drawable.a_22);
if(weather.equalsIgnoreCase("23.gif"))
imageview.setBackgroundResource(R.drawable.a_23);
if(weather.equalsIgnoreCase("24.gif"))
imageview.setBackgroundResource(R.drawable.a_24);
if(weather.equalsIgnoreCase("25.gif"))
imageview.setBackgroundResource(R.drawable.a_25);
if(weather.equalsIgnoreCase("26.gif"))
imageview.setBackgroundResource(R.drawable.a_26);
if(weather.equalsIgnoreCase("27.gif"))
imageview.setBackgroundResource(R.drawable.a_27);
if(weather.equalsIgnoreCase("28.gif"))
imageview.setBackgroundResource(R.drawable.a_28);
if(weather.equalsIgnoreCase("29.gif"))
imageview.setBackgroundResource(R.drawable.a_29);
if(weather.equalsIgnoreCase("30.gif"))
imageview.setBackgroundResource(R.drawable.a_30);
if(weather.equalsIgnoreCase("31.gif"))
imageview.setBackgroundResource(R.drawable.a_31);
}
public void getWeather(String cityName) {
try {
textview1 = (TextView) this.findViewById(R.id.TextView01);
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
rpc.addProperty("theCityName", cityName);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
detail = (SoapObject) envelope.getResponse();
parseWeather(detail);
return;
} catch (Exception e) {
e.printStackTrace();
}
}
private void parseWeather(SoapObject detail)
throws UnsupportedEncodingException {
textview1 = (TextView) this.findViewById(R.id.TextView01);
String date = detail.getProperty(6).toString();
weatherToday = "\n天氣:" + date.split(" ")[1];
weatherToday = weatherToday + "\n氣溫:"
+ detail.getProperty(5).toString();
weatherToday = weatherToday + "\n風力:"
+ detail.getProperty(7).toString() + "\n";
weatherNow = detail.getProperty(8).toString();
weatherWillBe = detail.getProperty(9).toString();
textview1.setText(et.getText() + weatherToday);
setIcon(weatherNow, image1);
setIcon(weatherWillBe, image2);
}
}
main.xml
[java]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText android:id="@+id/et"
android:layout_width="237dp"
android:layout_height="50dp"
android:background="@drawable/shape"
android:drawableLeft="@drawable/title"
android:hint="北京/beijing/bj"
android:padding="10px"
android:singleLine="true"
android:textColor="#FFFAFA" />
<Button android:id="@+id/search_but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ff00ff"
android:text="Search"
android:textColor="#696969"
android:textStyle="italic" />
</LinearLayout>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TableRow>
<Button
android:id="@+id/city1_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:text="北京"
android:layout_weight="0.25"
android:textSize="20px"
android:textColor="#FFFAFA" />
<Button
android:id="@+id/city1_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ff00ff"
android:text="上海"
android:textSize="20px"
android:layout_weight="0.25"
android:textColor="#FFFAFA" />
<Button
android:id="@+id/city1_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ff00ff"
android:text="廣州"
android:textSize="20px"
android:layout_weight="0.25"
android:textColor="#FFFAFA" />
<Button
android:id="@+id/city1_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ff00ff"
android:text="深圳"
android:textSize="20px"
android:layout_weight="0.25"
android:textColor="#FFFAFA" />
</TableRow>
</TableLayout>
<TextView android:text=""
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20px"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
設置EditText邊框顏色、透明
drawable/shape.xml
[java]
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00ff00ff"/>
<corners android:radius="8px"/>
<stroke android:width="3px"
android:color="#0000CD"/>
</shape>
AndroidManifest.xml中添加:
[java]
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
既然是activity之間的數據傳遞 肯定有兩個activity 我們先創建兩個activity,在MainActivity中添加一個按鈕組件 點擊按鈕 就跳轉到其它的A
人人客戶端有一個很好的導航欄,如下圖所示,當點擊左側ListView後,選中的一行就會一直呈高亮狀態顯示,圖中選中行字的顏色顯示為藍色(注意:是選中行後一直高亮,而不是只
本文首先解釋一下handler是用來干嘛的,然後通過例子介紹其在多線程中的應用。什麼是Handlerhandler通俗一點講就是用來在各個進程之間發送數據的處理對象。在任
Android Activity學習筆記——Activity的啟動和創建 最近學習Android相關知識,感覺僅僅了解Activity幾個生命周期函數基本上沒有任