1. 你好 請問一下現在開發一個App需要多少錢 或者開發一個微信小程序 謝謝
開發一個App需要多少錢
如今,不少企業都想擁有屬於自己企業或產品的手機APP,但其中最困擾企業主的問題就是:開發一款手機APP到底需要多少錢?
簡單點來說,要視手機APP的需求及質量而言,價位一般在幾千到十幾萬左右,更高端的價格更高。
四、APP開發公司的所在地
需要注意的是,同樣實力的APP開發公司,在不同的城市也會導致APP的成本費用高一些
2. android怎樣調用webService
使用Ksoup.jar包可以實現webservice的調用
參考代碼:
String result = null;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.bodyOut = soapObject;
String endPoint = 地址後綴//如WebService/AppService.asmx
HttpTransportSE transportSE = new HttpTransportSE(endPoint);
SoapObject object = null;
transportSE.call(地址 + soapObject.getName(),
envelope);
object = (SoapObject) envelope.bodyIn;
result = object.getProperty(0).toString();
附上ksoup包
3. Android 使用KSOAP2調用WebService
android 利用ksoap2方式連接webservice(2010-04-16 16:36:25)轉載標簽:androidksoap2webserviceit 分類:Android
利用J2SE的ksoap2標准,我也來做一個山寨版本的android連接webservice。因為soap封裝的關系,android application在接收到數據後不能夠正確的按照J2SE的標准來獲取。
在運用之前,我們先要引導兩個jar進入工程的buildpath
這兩個jar包都可以在網上查到下載,引導完後再做一項准備工作。弄清楚已發布的webservice的地址,以及封裝的方式。比如:
webservice介面: http://192.168.0.2:8080/axis2/services/Manager?wsdl (順便說明一下,在android當中,不能寫localhost,必須寫清楚PC機當前的網路IP)
webservice封裝: http://ws.apache.org/axis2
都了解了過後,說明已經做好准備了。
下面就介紹一下android如何獲取webservice封裝數據。。
引入ksoap2中以封裝好的類
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
在類中定義webservice的介面地址以及解析方式並且定義要調用的webservice中的函數
private static final String URL = " http://192.168.0.2:8080/axis2/services/Manager?wsdl";
private static final String NAMESPACE = " http://ws.apache.org/axis2";
private static final String METHOD_NAME = "GetMyFriends";
這個信息我們可以在webservice中查到
<xs:element name="GetMyFriends">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="userId" type="xs:int"/>
<xs:element minOccurs="0" name="password" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
接下來開始做對webservice請求數據的工作,請求webservice函數以及封裝要用的兩個參數(userId和password)
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("userId", "123456");
request.addProperty("password", "test");
之後我們給定義發送數據的信封的封裝格式
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11 );
發出請求
envelope.setOutputSoapObject(request);
AndroidHttpTransport aht = new AndroidHttpTransport(URL);
aht.call(null, envelope);
接著就可以定義一個SoapObject類型的實例去獲取我們返回來的數據
SoapObject so = (SoapObject) envelope.bodyIn;
這里如果是返回來的數據只有一行並且只有一個值,比如驗證函數,返回boolean類型的話,操作比較簡單,String getReturn= so.getProperty("return"); 這個getReturn就是你要獲取的值。
但是如果返回來是多行的值的話,這個方法就不行了,我們必須對返回來的信息做一些解析。我曾試過用J2SE的標准方式來獲取,但是會報錯,最主要的可能是他的方式在android當中不能使用。所以在這里我用了正則表達式這種方式來進行數據的解析,我們先來看一下他返回的數據的結構是什麼情況。
GetMyFriendsResponse{return=FriendsMessage{ <br>permitList=anyType{nickName=我愛羅; singnature=null; userId=2; }; permitList=anyType{nickName=jack; singnature=null; userId=1004; }; permitList=anyType{nickName=admin; singnature=leo_admin; userId=1001; };};}
簡單看他很想Json結構,但是確不是。。。
就目前的解決方式,我只是通過規律來進行了正則表達式的解析:如解析上面的內容。
//首先取得permitList(好友)的個數
String testPattern = "permitList";
int resultlength = result.length();
cresult = cresult.replace(testPattern, "");
int lastlength = (resultlength - cresult.length()) / testPattern.length();
//取得每個permitList中的值。
String LoginReturn="", pattern="nickName=.*?;\\s*singnature=.*?;\\s*userId=.*?;";
//動態生成String 數組,存儲每個好友的信息
String[] GetFinalReturn = new String[lastlength];
for (int i=0;i<lastlength;i++){
LoginReturn = result.replaceFirst("^.*("+pattern+").*$", "$1");
GetFinalReturn[i] = LoginReturn;
result = result.replace(LoginReturn,"");
}
這個數組裡面存儲的格式就是nickName=admin; singnature=leo_admin; userId=1001;
這樣以來,我們可以根據"="和";"兩個符號之間做split操作就可以得到數據。
好了,到此連接webservice和解析返回來的數據的工作就做完了,雖然這個方式看起來很復雜,但是目前來說,用ksoap2方式來連接webservice暫時還沒有找到更有效的解決方式。。