編輯:關於android開發
Android開發,需要連接webservice,之前就想用谷歌提供的jar包,下載地址:http://pan.baidu.com/s/1hqMTUHe
把它下載下來粘貼到libs文件夾下即可:
網上有很多類似的方法,我嘗試了很多都沒有成功,最後發現是我下載的jar包有問題導致我一直卡在哪兒。
首先添加網絡權限:
<uses-permission android:name="android.permission.INTERNET"/>
這是全部代碼,包括獲取遠程webservice當中數據並用ListView顯示:
package com.example.webservice; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.ksoap2.SoapEnvelope; import org.ksoap2.SoapFault; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import org.xmlpull.v1.XmlPullParserException; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends Activity { //命名空間 String nameSpace="http://tempuri.org/"; //調用方法 String methodName="selectStuAll";//webservice存在的方法名稱 String endPoint="http://10.0.2.2:8011/WebService.asmx?wsdl";//本地測試完整的鏈接 String soapAction="http://tempuri.org/selectStuAll";//命名空間和調用方法名 private ListView listview; private ListAdapter adapter; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview=(ListView) findViewById(R.id.listView1); adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,getsource()); listview.setAdapter(adapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO 自動生成的方法存根 Toast.makeText(MainActivity.this, ">>"+adapter.getItem(arg2),1).show(); } }); } public List<String> getsource() { List<String> list=new ArrayList<String>(); //實例化SoapObject對象 SoapObject request=new SoapObject(nameSpace, methodName); //第二步:假設方法有參數的話,設置調用方法參數 /* request.addProperty("username","1"); request.addProperty("password","2"); request.addProperty("tel","3");*/ //獲得序列化的Envelope SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER12); envelope.bodyOut=request; envelope.dotNet=true; HttpTransportSE transport=new HttpTransportSE(endPoint); try { transport.call(soapAction, envelope); } catch (IOException e) { // TODO 自動生成的 catch 塊 e.printStackTrace(); } catch (XmlPullParserException e) { // TODO 自動生成的 catch 塊 e.printStackTrace(); } SoapObject result = null; try { result = (SoapObject)envelope.getResponse(); } catch (SoapFault e) { // TODO 自動生成的 catch 塊 e.printStackTrace(); } int count=result.getPropertyCount(); for(int index=1;index<count;index=index+3){ list.add(result.getProperty(index).toString()); } return list; } }
這樣就大功告成了,如果用到這個方法有問題,在下面評論,我會幫你解決。
上次講解Android的藍牙基本用法,這次講得深入些,探討下藍牙方面的隱藏API。用過Androi
動畫氣泡指示當前滑動值--第三方開源--DiscreteSeekbar,開源微信第三方平台 DiscreteSeekbar在github上的項目主頁是:https://g
常用的adb命令,常用adb命令在平時的工作中,會經常用到adb命令,在這裡稍微整理了一下。 一.概要 1.什麼是adb? adb全稱為Android Debug Bri
Android項目實戰(二十六):藍牙連接硬件設備開發規范流程,android實戰前言: 最近接觸藍牙開發,主要是通過藍牙連接獲取傳感器硬件設備的數據,並進行處理。