当前位置:首页 » 安卓系统 » androidguid

androidguid

发布时间: 2022-11-19 10:50:06

㈠ android调用webservice怎么传递对象

1.webservice方法要传递参数的对象中包含了日期类型,guid类型。如下所示:

[html] view plain
POST /MyWebService.asmx HTTP/1.1
Host: 192.168.11.62
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/AddMaintenanceInfo"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddMaintenanceInfo xmlns="http://tempuri.org/">
<model>
<Id>guid</Id>
<CarId>guid</CarId>
<Cost>string</Cost>
<Dates>dateTime</Dates>
</model>
</AddMaintenanceInfo>
</soap:Body>
</soap:Envelope>

2.新建一个类CarMaintenanceInfo用于传递参数对象,并使其实现KvmSerializable,如下

[java] view plain
public class CarMaintenanceInfo implements KvmSerializable {

/**
* 车辆ID
*/
public String CarId;

/**
* 车辆维修费用
*/
public String Cost;

public String Dates;

@Override
public Object getProperty(int arg0) {
switch (arg0) {
case 0:
return CarId;
case 1:
return Cost;
case 2:
return Dates;
default:
break;
}
return null;
}

@Override
public int getPropertyCount() {
return 3;
}

@Override
public void getPropertyInfo(int arg0, Hashtable arg1, PropertyInfo arg2) {
switch (arg0) {
case 0:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "CarId";
break;
case 1:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "Cost";
break;
case 2:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "Dates";
break;
default:
break;
}
}

@Override
public void setProperty(int arg0, Object arg1) {
switch (arg0) {
case 0:
CarId = arg1.toString();
break;
case 1:
Cost = arg1.toString();
break;
case 2:
Dates = arg1.toString();
break;
default:
break;
}

}

}

注意:getPropertyCount的值一定要与该类对象的属性数相同,否则在传递到服务器时,服务器收不到部分对象的属性。

3.编写请求方法,如下:

[java] view plain
public boolean addMaintenanceInfo(Context context) throws IOException, XmlPullParserException {

String nameSpace = "http://tempuri.org/";
String methodName = "AddMaintenanceInfo";
String soapAction = "http://tempuri.org/AddMaintenanceInfo";

String url = "http://192.168.11.62:6900/MyWebService.asmx?wsdl";// 后面加不加那个?wsdl参数影响都不大

CarMaintenanceInfo info = new CarMaintenanceInfo();
info.setProperty(0, "9fee02c9-8785-4b49-b389-58ed6562c66d");
info.setProperty(1, "12778787");
info.setProperty(2, "2013-07-29T16:45:20");

// 建立webservice连接对象
org.ksoap2.transport.HttpTransportSE transport = new HttpTransportSE(url);
transport.debug = true;// 是否是调试模式

// 设置连接参数
SoapObject soapObject = new SoapObject(nameSpace, methodName);
PropertyInfo objekt = new PropertyInfo();
objekt.setName("model");
objekt.setValue(info);
objekt.setType(info.getClass());
soapObject.addProperty(objekt);

// 设置返回参数
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);// soap协议版本必须用SoapEnvelope.VER11(Soap
// V1.1)
envelope.dotNet = true;// 注意:这个属性是对dotnetwebservice协议的支持,如果dotnet的webservice
// 不指定rpc方式则用true否则要用false
envelope.bodyOut = transport;
envelope.setOutputSoapObject(soapObject);// 设置请求参数
// new MarshalDate().register(envelope);
envelope.addMapping(nameSpace, "CarMaintenanceInfo", info.getClass());// 传对象时必须,参数namespace是webservice中指定的,

// claszz是自定义类的类型
try {
transport.call(soapAction, envelope);
// SoapObject sb = (SoapObject)envelope.bodyIn;//服务器返回的对象存在envelope的bodyIn中
Object obj = envelope.getResponse();// 直接将返回值强制转换为已知对象
Log.d("WebService", "返回结果:" + obj.toString());

}
catch (IOException e) {
e.printStackTrace();
}
catch (XmlPullParserException e) {
e.printStackTrace();
}
catch (Exception ex) {
ex.printStackTrace();
}

return true;

// 解析返回的结果
// return Boolean.parseBoolean(new AnalyzeUtil().analyze(response));
}

注意:传递date类型的时候其实可以使用Date而不是String。但是需要修改几个地方
1.CarMaintenanceInfo类中的getPropertyInfo(),将arg2.type = PropertyInfo.STRING_CLASS修改为MarshalDate.DATE_CLASS;
2. 在请求方法中的 envelope.setOutputSoapObject(soapObject);下加上 new MarshalDate().register(envelope);
虽然可以使用Date,但是传到服务器上的时间与本地时间有时差问题。

当Android 调用webservice,请求参数中有日期,guid,double时,将这些类型在添加对象前转换为字符串即可。

[java] view plain
// 构造request
SoapObject request = new SoapObject(PublishInfo.NAMESPACE, "GetCarListByRegion");
request.addProperty("leftTopLat", String.valueOf(leftTopLat));
request.addProperty("leftTopLng", String.valueOf(leftTopLng));
request.addProperty("rightBottomLat", String.valueOf(rightBottomLat));
request.addProperty("rightBottomLng", String.valueOf(rightBottomLng));

当需要传递一个服务器对象参数时.
[html] view plain
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetLicenseDetails xmlns="http://tempuri.org/">
<companyId>guid</companyId>
<licenseNos>
<string>string</string>
<string>string</string>
</licenseNos>
<pageOptions>
<page>int</page>
<rows>int</rows>
<total>int</total>
<sort>string</sort>
<order>string</order>
<skip>int</skip>
<Remark>string</Remark>
</pageOptions>
</GetLicenseDetails>
</soap:Body>
</soap:Envelope>

[java] view plain
public ListPageResult<LicenseInfo> getLicenseDetails(String[] licenseNos, int page, int rows, int total) {
// 构造request
SoapObject request = new SoapObject(PublishInfo.NAMESPACE, "GetLicenseDetails");
// 许可证列表
SoapObject deviceObject = new SoapObject(PublishInfo.NAMESPACE, "GetLicenseDetails");
if (licenseNos != null && licenseNos.length > 0) {
for (int i = 0; i < licenseNos.length; i++) {
if (!"".equals(licenseNos[i])) {
deviceObject.addProperty("string", licenseNos[i]);
}
}
request.addProperty("licenseNos", deviceObject);
}
else {
request.addProperty("licenseNos", null);
}
// 分页数据
SoapObject optionObject = new SoapObject(PublishInfo.NAMESPACE, "PageOptions");
optionObject.addProperty("page", page);
optionObject.addProperty("rows", rows);
optionObject.addProperty("total", total);
optionObject.addProperty("sort", null);
optionObject.addProperty("order", "desc");
optionObject.addProperty("skip", 0);
optionObject.addProperty("Remark", null);
request.addProperty("pageOptions", optionObject);
// 获取response
Object response = sendRequest(context, request);
if (!mNetErrorHanlder.hasError(response)) { return ObjectAnalyze.getLicenseDetails(response); }
return null;
}

㈡ 怎样获取安卓应用guid

http://dl.21ic.com/download/android-programmers-guid-ic-24986.html

不知是否帮助到你?如有帮助请采纳,如有疑问请交流!

㈢ 安卓天堂岛如何删除ID

用RE文件管理器进\data\data\com.seventeenbullets.androidE直接删除GUID和INSTALLATION,直接把GUID和INSTALLATION删除,新的ID就出来啦

安卓模拟器怎么获取ROOT权限

1、在root之前,将安卓模拟器彻底关闭,包括任务管理器中的进程(一般都是HD-开头的关于模拟器的进程,都关闭掉);

2、然后下载root工具箱(里面包含和img、su、reg、tools有关的文件);

3、检查一下自己的GUID,具体方法是:WIN键+R→regedit→回车键→[HKEY_CURRENT_USERSoftwareBlueStacks]注意“USER_GUID”="这里是指一些带有间隔的数字,每一个人都是不一样的,先复制下来这些数字,会有用的。

4、第四步,然后找到准备导入的注册表文件,选择鼠标右键【编辑】

5、将刚才第三步中复制出来的一串数字添加到注册表文件中,有两个地方需要修改


第11步:退出adb工具,点叉关闭即可。

然后退出bluestacks并重启,

㈤ android 怎么生成guid

使用java的UUID就可以了,
UUID uuid = UUID.randomUUID();
System.out.println(".{"+uuid.toString()+"}");
http://ke..com/link?url=_YODmqQ6J6XIchlBxuyCkWO--k-ADCrzmPaLQFAuRkOX1d_e

㈥ Android上大文件分片上传 具体怎么弄

正常情况下,一般都是在长传完成后,在服务器直接保存。

?

1
2
3
4
5
6
7

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//保存文件
context.Request.Files[0].SaveAs(context.Server.MapPath("~/1/" + context.Request.Files[0].FileName));
context.Response.Write("Hello World");
}

最近项目中用网络开源的上传组件webuploader,官方介绍webuploader支持分片上传。具体webuploader的使用方法见官网http://fex..com/webuploader/。

?

1
2
3
4
5
6
7
8
9
10
11
12

var uploader = WebUploader.create({
auto: true,
swf:'/webuploader/Uploader.swf',
// 文件接收服务端。
server: '/Uploader.ashx',
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#filePicker',
chunked: true,//开启分片上传
threads: 1,//上传并发数
//由于Http的无状态特征,在往服务器发送数据过程传递一个进入当前页面是生成的GUID作为标示
formData: {guid:"<%=Guid.NewGuid().ToString()%>"}
});

webuploader的分片上传是把文件分成若干份,然后向你定义的文件接收端post数据,如果上传的文件大于分片的尺寸,就会进行分片,然后会在post的数据中添加两个form元素chunk和chunks,前者标示当前分片在上传分片中的顺序(从0开始),后者代表总分片数。

㈦ 如何安装AndroidBootloaderInterface驱动

Win8 64位系统最简单的adb安装方法
把android-sdk里platform-tools目录的下面四个文件分别复制到C:\Windows\System32和C:\Windows\SysWOW64\这两个系统目录即可。
四个文件为:
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
fastboot.exe
可能一些朋友在xp上安装正常,但在Win 864位系统上安装就出现了问题,这是为什么?根据错误信息"系统找不到指定文件"的感到疑惑,于是打开inf信息文件,看看究竟;;
; Android WinUsb driver installation.;
[Version]
Signature = "$Windows NT$"
Class = AndroidUsbDeviceClass
ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider = %ProviderName%
DriverVer = 12/06/2010,4.0.0000.00000
CatalogFile.NTx86 = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat
;
; This section seems to be required for WinUsb driver installation.
; If this section is removed the installer will report an error
; "Required section not found in INF file".
;
[ClassInstall32]
Addreg = AndroidWinUsbClassReg
[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64
[Google.NTx86]
;OMAP3/4
%CompositeAdbInterface% = USB_Install, USB\Class_FF&SubClass_42&Prot_01
%SingleAdbInterface% = USB_Install, USB\Class_FF&SubClass_42&Prot_03
[Google.NTamd64]
;OMAP3/4
%CompositeAdbInterface% = USB_Install, USB\Class_FF&SubClass_42&Prot_01
%SingleAdbInterface% = USB_Install, USB\Class_FF&SubClass_42&Prot_03
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install
[WinUSB_Install]
KmdfLibraryVersion = 1.9
[USB_Install.HW]
AddReg = Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"
[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
HKLM,System\CurrentControlSet\Control\CoDeviceInstallers, \
{3F966BD9-FA04-4ec5-991C-D326973B5128},0x00010008, "USBCoInstaller.dll,Zoom2_CoInstaller"
; above line uses the line continuation character (\)
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
USBCoInstaller.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1
WdfCoInstaller01009.dll = 1
USBCoInstaller.dll = 1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 2
WdfCoInstaller01009.dll =
USBCoInstaller.dll = 2
[Strings]
ProviderName = "Google, Inc."
SingleAdbInterface = "Android ADB Interface"
CompositeAdbInterface = "Android Composite ADB Interface"
SingleBootLoaderInterface = "Android Bootloader Interface"
WinUSB_SvcDesc = "Android USB Driver"
DISK_NAME = "Android WinUsb installation disk"

ClassName = "Android Tablet"
------------------------------------------------------------------------------------------------------------------
根据
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
判断,因amd64不存在导致, 错误信息"系统找不到指定文件"。于是新建amd64文件夹将i386的文件复制到amd68,最后的结果成功安装驱动。

㈧ Android Studio安卓模拟器怎么用

1
首先,开启 Hyper-V 虚拟化技术(已经开启的无视);
① 选中 控制面板->卸载程序->启动或关闭Windows功能->Hyper-V->确定

2
下载完后是一个40M左右的 vs_emulatorsetup.exe 文件,不包含安卓模拟器的镜像文件,安装的时候会默认在线下载API 19(Andorid 4.4)的x86镜像,后续你也可以单独再下载其他的API xx版本,另外说明一下, Visual Studio Emulator for Android是不依赖Visual Studio的,也就是说可以单独安装使用,Android Studio是使用adb作为桥梁来连接 Visual Studio Emulator for Android 。
安装步骤我就不列出来了, 记得安装后重启(它需要把自己加入Hyper-V Administrators的管理员组里面) 。
安装重启后打开 Visual Studio Emulator for Android ,如下所示:

3
如果你启动了模拟器,则会在Hyper-V里面自动创建出对应的x86的Android虚拟机来,笔者的如下:

4
2.设置Andorid Studio使其可以使用这些模拟器
打开Android Studio> Run > Edit Configurations > Defaults / Android Application /General 选项卡的 Target Device 节点,勾选 Show chooser dialog 和 Use same device for future launches 。 记得不要忘记点Apply和OK。 如下图:

3. 为Android Studio添加启动模拟器的快捷按钮
虽然在Visual Studio Emulator for Android的管理器窗口中可以启动模拟器,但是每次都要到这里面去打开还是比较繁琐的,故而我们为Android Studio添加一个启动Visual Studio Emulator for Android的快捷按钮。
3.1 配置External Tools
打开 File > Settings > External Tools > Add :

Name:随便写,方便你认出来就好,笔者的是 VS Emulator (4.4 API 19) 。
Program:填写Visual Studio Emulator for Android安装目录下的emulatoecmd.exe的绝对路径,就是用它来启动模拟器的。笔者的是 C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe 。
Parameters:添加启动模拟器的参数,/sku:Android是说明打开Android的模拟器,/id:后面的Guid是模拟器的唯一 编号, 总的意思是指定要启动哪一个Android模拟器。 id可以通过 emulatorcmd.exe /sku:Android list /type:device 获得,如下:

Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$。
3.2 添加按钮到Toolbar
在toolbar空白处点击右键,选择 Customize Menus and Toolbars 。然后导航到Main Toolbar > Add After >在弹出的面板中找到 External tool > VS Emulator (4.4 API 19) 然后按 OK 。 如下:

然后点击我们新添加的按钮了,就可以启动Android模拟器了:

4. 为Android Studio添加Contect模拟器的快捷按钮
第三节的按钮只是启动了模拟器,但是Andorid Studio还无法连接到模拟器,这里就要使用adb命令来连接到刚才启动的模拟器上 。
4.1配置External Tools
同样是添加一个快捷按钮,步骤和第三部一样,只是参数不同,这里我就只把参数列出来了:
Name:随便写,方便你认出来就好,笔者的是 adb Connect (VS Emulator) 。
Program:填写adb.exe的绝对路径,笔者的是 D:\_android\sdk\platform-tools\adb.exe 。
Parameters:添加adb.exe的参数,connect ip:5555;笔者的是 192.168.2.233:5555。ip可以通过打开模拟器在wifi中查看,也可以在模拟器的设置中network中查看

Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$ 。
4.2添加按钮到Toolbar
步骤和3.2一样的,这里就不再解释了。贴个图吧:

5.用Visual Studio Emulator for Android调试Android App
按下 Run 按钮(绿色箭头那个...),弹出选择Android设备的选择框:

OK啦,大功告成:

6. 进一步完善
每次调试前都要点一下 启动模拟器 的按钮,等模拟器启动然后再点击 contect模拟器的按钮,然后才能点 run调试 ,,,好繁琐。
我们来配置一下run之前要执行的命令,让run按钮把这三件事都做了!
打开 Run > Edit Configurations > Defaults / Android Application / Emulator 选项卡的BeforeLaunch 节点, 把我们刚才创建的两个 External Tool 添加到此处 , 记得不要忘记点Apply和OK,顺序如下:

以上就是为大家带来的Windows 10安卓模拟器使用的方法,希望可以帮助到大家。

㈨ macbook os x 系统如何修改安卓模拟器guid

重新装一个就可以.这东西很容易出错的

热点内容
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:312
德国C语言 发布:2024-05-19 04:13:40 浏览:959
音频管理器没有文件夹 发布:2024-05-19 04:13:36 浏览:666
qq邮箱端口993服务器怎么填 发布:2024-05-19 04:07:05 浏览:202
javaapi框架 发布:2024-05-19 04:06:59 浏览:359
与存储结构无关的术语 发布:2024-05-19 04:05:41 浏览:499
编译路由器固件选择 发布:2024-05-19 03:56:28 浏览:39
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620