大致意思就是想做一个android应用程序注册功能的後台支撑,从android应用中发送用户名,密码等信息到一个网页,然後网页接收到数据进行处理。
现在的问题就是不知道怎麼实现二者之间的通信,
对於android应用程序,怎麼发送数据到网页呢?是不是要在网页那给出一个函数作为接口什麽的?如果是怎麼调用哪个函数呢?
对於网页,最大的问题就是不知道怎麼接收发过来的数据,能够接收并储存在一些变量里以後就好办了。
请帮帮忙吧。
不知道楼主懂不懂 javascript ,会php js应该不赖哈 哈哈!
android已经给你提供了 javascript 调用接口!
我这里就不写网页程序了啊 ,懒的敲的
就是使用webview加载网页,然后android本地程序和webview网页里面的js进行交互
实力话一个WebVIew 比如对象名为:webview 调用其中的方法 setJavascritEnable(true);
1:android客户端程序 调用webview里面的js程序
webview.loadUrl("javascripot:test()");
这个时候他就会调用你网页里面javascript代码当中的test方法
2:通过网页中的javascript代码进行调用本地 android程序
mWebView.addJavascriptInterface(new Object() {
public void heiHei() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
括号里面demo 就是伪造的一个dom对象的名字
然后通过 window.demo.heiHei()方法 就可以调用 本地android中代码了
如:
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
最后:传参我就不说了 ,相信你如果看懂以上的,基本你就可以实现你说的,传参也一样!
亲,给分儿吧!手敲的啊!
android已经给你提供了 javascript 调用接口!
我这里就不写网页程序了啊 ,懒的敲的
就是使用webview加载网页,然后android本地程序和webview网页里面的js进行交互
实力话一个WebVIew 比如对象名为:webview 调用其中的方法 setJavascritEnable(true);
1:android客户端程序 调用webview里面的js程序
webview.loadUrl("javascripot:test()");
这个时候他就会调用你网页里面javascript代码当中的test方法
2:通过网页中的javascript代码进行调用本地 android程序
mWebView.addJavascriptInterface(new Object() {
public void heiHei() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
括号里面demo 就是伪造的一个dom对象的名字
然后通过 window.demo.heiHei()方法 就可以调用 本地android中代码了
如:
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
最后:传参我就不说了 ,相信你如果看懂以上的,基本你就可以实现你说的,传参也一样!
亲,给分儿吧!手敲的啊!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-03-19
用HTTPPOST,把服务器跟客户端的协议定好~跟着协议走就好~
public static String getReultForHttpPost1(String url,String name, String pwd)
throws ClientProtocolException, IOException {
String strResult = null;
String httpUrl = url;
// HttpPost连接对象
HttpPost httpRequest = new HttpPost(httpUrl);
// 使用NameValuePair来保存要传递的Post参数
List<NameValuePair> params = new ArrayList<NameValuePair>();
// 添加要传递的参数
params.add(new BasicNameValuePair("tlp", name));
params.add(new BasicNameValuePair("pp", pwd));
// 设置字符集
HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312");
// 请求httpRequest
httpRequest.setEntity(httpentity);
// 取得默认的HttpClient
HttpClient httpclient = new DefaultHttpClient();
// 取得HttpResponse
HttpResponse httpResponse = httpclient.execute(httpRequest);
// HttpStatus.SC_OK表示连接成功
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 取得返回的字符串;
strResult = EntityUtils.toString(httpResponse.getEntity());
}
return strResult;
}本回答被提问者采纳
public static String getReultForHttpPost1(String url,String name, String pwd)
throws ClientProtocolException, IOException {
String strResult = null;
String httpUrl = url;
// HttpPost连接对象
HttpPost httpRequest = new HttpPost(httpUrl);
// 使用NameValuePair来保存要传递的Post参数
List<NameValuePair> params = new ArrayList<NameValuePair>();
// 添加要传递的参数
params.add(new BasicNameValuePair("tlp", name));
params.add(new BasicNameValuePair("pp", pwd));
// 设置字符集
HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312");
// 请求httpRequest
httpRequest.setEntity(httpentity);
// 取得默认的HttpClient
HttpClient httpclient = new DefaultHttpClient();
// 取得HttpResponse
HttpResponse httpResponse = httpclient.execute(httpRequest);
// HttpStatus.SC_OK表示连接成功
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 取得返回的字符串;
strResult = EntityUtils.toString(httpResponse.getEntity());
}
return strResult;
}本回答被提问者采纳
第2个回答 2015-06-18
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""
package="com.example.httpdemo1"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.httpdemo1.HttpDemo1Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""
package="com.example.httpdemo1"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.httpdemo1.HttpDemo1Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
第3个回答 2012-03-19
你可以用WebView初始化后,写如下:
WebView.getSettings().setJavaScriptEnabled(true);//这样就可以写js了
当WebView把网页加载成功后,写js直接调用网页方法:
WebView.loadUrl(“javascript:(。。。这里写方法。。)()”);
WebView.getSettings().setJavaScriptEnabled(true);//这样就可以写js了
当WebView把网页加载成功后,写js直接调用网页方法:
WebView.loadUrl(“javascript:(。。。这里写方法。。)()”);
第4个回答 2012-03-17
android有个 WEBVIEW控件 里面可以直接内嵌网页
直接做web开发 你可以试试
直接做web开发 你可以试试