android关闭service上传图片,服务端是c#,求,android关闭service代码和c# webservice的代码 跪求

android如何调用SSl(https)加密的C#写的webservice_百度知道
android如何调用SSl(https)加密的C#写的webservice
通IISSSL证书Android边关联起使用呢
我有更好的答案
按默认排序
0. 准备工作及环境说明
0.1 检查JDK环境变量否确(略)我使用JDK 1.6
0.2 准备web服务器选用TOMCAT 6.0
0.3 准备web service服务端客户端(略写用eclipse工具)1. 证书
用文件我存放D:/SSL/文件夹内其D:/SSL/server/内文件要交给服务器用D:/SSL/client/内文件要交给客户端用
1.1服务端证书始-运行-CMD-dos窗口执行执行命令:keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/SSL/server/tomcat.keystore -dname &CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN& -validity 3650 -storepass zljzlj -keypass zljzlj2.so库保护使C/C++ 层面代码安全防护加资源文件保护(图片、音频等文件防查看防修改)、xml 主配文件保护(主配文件进行二签名)、内存保护等措施基本保证App态静态安全
这一篇我早就看过了,有没有其他的回复呢
其他类似问题
webservice的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请教用android调用C#的WebService,实现把图片传递到远程数据库
[问题点数:40分,结帖人whxxxp]
请教用android调用C#的WebService,实现把图片传递到远程数据库
[问题点数:40分,结帖人whxxxp]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。通过webservice与android实现通信(C#与android) - 下载频道 - CSDN.NET
&&&&通过webservice与android实现通信(C#与android)
&通过webservice与android实现通信(C#与android)
通过webservice与android实现通信(C#与android)
若举报审核通过,可奖励20下载分
被举报人:
woaixinxin123
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 传优质资源可以获取积分,详细见。选择完成有奖的任务,可以获取积分。选择购买VIP会员服务,无需积分下载资源。评价资源返积分:第一次绑定手机,将获50下载积分及100论坛可用分。论坛可用分兑换下载积分。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
通过webservice与android实现通信(C#与android)
所需积分:3
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000trackbacks-0
近段时间终於全面各Android平台进军,但是在入面的时候,的确遇到很多问题,即使在调用webservce也遇到不了的问题,在一番系统的学习过後,终於明白了个大概,现将学习的心得写下,与所有跟我一样刚入门的菜菜分享。
本人开发环境为Android Studio,如用Eclipse的童鞋请参照参照。
■下载 ksoap2-android 包
去下载最新版的&ksoap2-android&,我现时使用的版本为:&ksoap2-android-assembly-3.0.0-RC.4-jar-with-dependencies.jar&
下载後,将类库复制到&libs&&文件下。如果Eclipse的童鞋到这里引用就完事了,但於Android Studio的就还没有完,因为Android Studio使用的是gradle,故还需要对引用进行声明。找到build.gradle文件(於项目的底部),打开於dependencies节点里,添加代码:
dependencies {
compile 'com.android.support:support-v4:13.0.+'
//添加以下代码以声明类库的引用
compile files('libs/ksoap2-android-assembly-3.0.0-RC.4-jar-with-dependencies.jar')
下面开始我以一个登录的例子来讲解整个webserive的调用过程layout_login中有两个EditText控件,一个按钮,登录界面最基本的配置。
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|center_horizontal|center_vertical"
android:orientation="vertical"
android:background="#6AA7D2"&
&LinearLayout
android:id="@+id/Layout_Input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:layout_marginBottom="0dp"
android:orientation="vertical"&
android:id="@+id/Txt_Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="用户名" /&
android:id="@+id/Txt_Password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="密码" /&
&/LinearLayout&
&LinearLayout
android:id="@+id/Layout_Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"&
android:id="@+id/Btn_Login"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录"
android:onClick="Btn_Login_OnClick" /&
&/LinearLayout&
&/LinearLayout&
当点击登录Button时,执行以下事件&
public void Btn_Login_OnClick(View view) {
loginName = ControlHelper.GetText(this, R.id.Txt_Name);
loginPassword = ControlHelper.GetText(this, R.id.Txt_Password);
if (loginName.equals("")) {
MessageHelper.AlertDialog(this, "操作提示","用户名不能为空."));
findViewById(R.id.Txt_Name).requestFocus();
view.setEnabled(false);
progressDialog = ProgressDialog.show(this,"Loading...","Please wait...",true,false);
Thread thread = new Thread(new Runnable() {
public void run() {
SystemClock.sleep(1000);
Login(loginName, loginPassword);
thread.start();
说明:由於Android4.0以後主线程为了线程安全,访问网络不能由主线程进,只能由子线程访问,另外像.net的winform一样,子线程不能控制UI,所有的UI都必需由主线程控制,所以所有的什麽提示框,等候框都必需同主线程去操作。所以上面的代码中,Login的方法是在新开的子线程中完成的。
而Runnable就是一个Thread要实现的接口,此接口中有一个run()方法,当线程执行start()方法时,就会自动调用Thread的Runnable接口中的run()方法。所以我们要子线程执行的所有代码都在run()里完成。
顺带一提的就是,子线程读取UI上控件的值是没有限制的,所以如果想在子程线中读取UI,直接读取就可以了。
但於子线程又是怎样跟主线程沟通的呢?这就要提到另外两个东东就是Handler跟Message了。
下面先看一看Login方法里面的代码
private void Login(String name,String psw)
Message msg = new Message();
{       //声明Service的空间命名,.net默认为       
//第二个参数是要调用的方法
SoapObject so
= new SoapObject(this.getString(R.string.webservice_namespace), "Login");      & //设置调用Service需要传入的两个参数,闻说参数名可以不正确,但顺序必需要正确
so.addProperty("accountName", name);
so.addProperty("password", psw);
      
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.bodyOut =       
envelope.dotNet = true;
       
String url = this.getString(R.string.webservice_domain) + this.getString(R.string.webservice_url_logic);
HttpTransportSE ht = new HttpTransportSE(url);
ht.call(null, envelope);
if (envelope.getResponse()!=null)
{          //接收返回的对象
SoapObject responseSO = (SoapObject)envelope.getResponse();
Boolean succeed = Boolean.parseBoolean(responseSO.getProperty("Succeed").toString());
if(!succeed)
msg.obj = responseSO.getProperty("Message").toString();
msg.what = 0;
msg.obj = responseSO.getProperty("ReturnObject");
msg.what = 1;
catch (Exception ex)
msg.obj = ex.getMessage();
msg.what = -1;
handler.sendMessage(msg);
我先讲讲我们的ksoap2是如何使用,再去讲解Message与Handler。
上面的注释都写得很清楚了,在这里我提一提,在获取接收的对象时,有两种方法:
1. envelope.bodyIn
2.envelope.getResponse();
我选用的是第二种方法,因为我发现可以很好转换回一个SoapObject,可能bodyIn都可以,但我没有深入的研究,没有发言权,有兴趣又好学的同学们可以研究一下,记得研究完跟我说一声。
别外值得一提如果你的Service返回的是一个对象,在ksoap2里,你的对象依然是一个SoapObject,你必须要写代码自已转换,後面我还会有文章另外介绍。
下面再讲如何,通知主线程,我所获取得的返回结果了,大家看到,於Login方法中一开始就定义了一个Message的对象,其实这个对象就是用於线程之间通讯所使用的,姑且先这样理解。
他有一个obj的属性与一个what的属性,obj用於存放通讯的数据,what是用於存放一个标志,为什麽需要这个标志呢?因为你Message可能有好多种状态情况,what就是为了区分这些状态而存在,如果你还是有不明白的,可能看了以下的代码,或许会对你的了解有所帮助。
Handler接收Message
private Handler handler = new Handler(){
public void handleMessage(Message msg){
findViewById(R.id.Btn_Login).setEnabled(true);
progressDialog.dismiss();
switch (msg.what)
//exception
MessageHelper.AlertDialog(Activity_Main.this, "异常提示", msg.obj.toString());
MessageHelper.AlertDialog(Activity_Main.this, "错误提示", msg.obj.toString());
//login success
MessageHelper.AlertDialog(Activity_Main.this, "操作提示", "登录成功。");            break;
最後是需要在activity中定义一个Handler对象,并实现handleMessage的方法就可以。这样整个调用Webservice的过程就完成了。
但是这里面还差一点小小的动作,就是由於你的程序未声明网络访问的权限,所以无法加接网络,并且有异常被抛出,声明方法是,只需要在AndroidManifest.xml中声明就可以了。
android:minSdkVersion="7"
android:targetSdkVersion="16" /&
&!--添加以下节点声明网络使用--&
&uses-permission android:name="android.permission.INTERNET" /&
OK,你的调用webservice的程序就可以正常运行了。
阅读(...) 评论() &

我要回帖

更多关于 android关闭service 的文章

 

随机推荐