編輯:關於Android編程
import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.ksoap2.SoapEnvelope; import org.ksoap2.SoapFault; import org.ksoap2.serialization.MarshalBase64; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import org.ksoap2.transport.AndroidHttpTransport; import org.xmlpull.v1.XmlPullParserException; 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.TextView; public class MainActivity extends Activity { private TextView textView; private EditText editText; private Button button; private static final String serviceURL="http://172.20.0.129:7070/UserMgService/UserMgServicePort"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)findViewById(R.id.textView); editText=(EditText)findViewById(R.id.editText); button=(Button)findViewById(R.id.button); button.setText("獲取服務器端數據"); button.setOnClickListener(new MyButtonListener()); } class MyButtonListener implements OnClickListener { @Override public void onClick(View v) { editText.setText(getRemoteInfo()); textView.setText("服務器端數據:"+getRemoteInfo()); } } public String getRemoteInfo() { String out="11"; // 命名空間 try { String nameSpace = "http://service.jcy/"; // 調用的方法名稱 String methodName = "getPwd"; String endPoint = "http://172.20.0.129:7070/UserMgService/UserMgServicePort"; // String soapAction = "http://service.jcy/getUserInfo"; // 指定WebService的命名空間和調用的方法名 SoapObject rpc = new SoapObject(nameSpace, methodName); // 設置需調用WebService接口需要傳入的兩個參數mobileCode、userId //rpc.addProperty("mobileCode", phoneSec); //rpc.addProperty("userId", ""); // 生成調用WebService方法的SOAP請求信息,並指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); // 設置是否調用的是dotNet開發的WebService // envelope.dotNet = true; // 等價於 envelope.bodyOut = rpc; (new MarshalBase64()).register(envelope); AndroidHttpTransport transport=new AndroidHttpTransport(serviceURL); transport.debug=true; transport.call(nameSpace+methodName, envelope); if(envelope.getResponse()!=null){ out=envelope.getResponse().toString(); } } catch (SoapFault e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } return out; } }
隨著Android 開發環境從Eclipse轉向Android Studio,我們每個人都開始或多或少要接觸gradle腳本,大多數人將gradle看做構建工具,出現問題
Android中有五大布局: LinerLayout(線性布局)、RelativeLayout(相對布局)、Tablelayout(表格布局)、用來控制控件的擺放。Fra
特點:改變的是對象的實際屬性 不僅可以應用於View, 有getter和setter方法的都可以在xml中定義放在res\animator中如:animator_alph
接觸過自定義控件的開發者一看,笑了,立馬關了網頁。但是…你真的知道怎麼繪制居中文本嗎?我不會?開玩笑,不就是:X=控件寬度/2 - 文本寬度/2;Y=控件高