当前位置:首页 » 网页前端 » android转web
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

android转web

发布时间: 2022-08-05 05:45:59

❶ 想从WEB开发转到android的开发,可行么

首先,我本人也是从做web的转行到了android。说一下心得体会:
1.做web端的转行android比较简单,因为有些概念是想通的,例如LinearLayout布局比较类似于div。
2.android做应用层的只需要对java做了解即可,用到的基本都是java语法。
另外,需具备多线程,网络编程等知识,这样才会更加容易上手。

望采纳,谢谢~

❷ android 跳转webview怎么调

代码如下:
[java] view plain
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//实例化WebView对象
webview = new WebView(this);
//设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
//加载需要显示的网页
webview.loadUrl("file:///android_asset/www/test.html");

❸ 怎样实现android和javaweb数据交互

要想运行网页上的js脚本,webview必须设置支持Javas cript。
Java代码
1mWebview.getSettings().setJavas criptEnabled(true);
然后是设置webview要加载的网页:
web的网页:webView.loadUrl("http://www.google.com");
本地的网页:webView.loadUrl("file:///android_asset/XX.html"); //本地的存放在:assets文件夹中
webview做完基本的初始化后我们还要要给它,加进一个回调的代理类Javas criptInterface,并给它一个调用的名称:ncp
Java代码
1mWebView.addJavas criptInterface(new Javas criptInterface(),"ncp");
Javas criptInterface可以是一个普通的Java类,类实现的方法,均可被js回调:
Java代码
final class Javas criptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
Java要调用js的方法,只需知道js的方法名称即可:
Java代码
1mWebView.loadUrl("javas cript:onSaveCallback()");
js 这边就更简单:
Js代码
window.onload = function(){
document.getElementById('btn_1').addEventListener('click', onBtnClick, false);
var _int_value = window.ncp.callOnJs();
alert("get int from java:" + _int_value );
}
function onBtnClick() {
window.ncp.callOnJs2("click");
}
Java和js交互有以下一些特点:
1.Java 调用 js 里面的函数,速度并不令人满意,大概一次一两百毫秒吧,如果要做交互性很强的事情,这种速度会让人疯掉的。而反过来就不一样了, js 去调 java 的方法,速度很快,基本上 40-50 毫秒一次。所以尽量用 js 调用 java 方法,而不是 java 去调用 js 函数。
2.Java 调用 js 的函数,没有返回值,而 Js 调用 java 方法,可以有返回值。返回值可以是基本类型、字符串,也可以是对象。如果是字符串,有个很讨厌的问题,第 3 点我会讲的。如果是对象,这个对象会被转换为 js 的对象,直接可以访问里面的方法。但是我不推荐 java 返回给 js 的是对象,除非是必须。因为 js 收到 java 返回的对象,会产生一些交换对象,而如果这些对象的数量增加到了 500 或 600 以上,程序就会出问题。所以尽量返回基本数据类型或者字符串。
3.Js 调用 Java 的方法,返回值如果是字符串,你会发现这个字符串是 native 的,不能对它进行一些修改操作,比如想对它 substr ,取不到。怎么解决呢?转成 locale 的。使用 toLocaleString() 函数就可以了。不过这个函数的速度并不快,转化的字符串如果很多,将会很耗费时间。

❹ 求助Android如何实现按钮button跳转到webview

给按钮添加一个监听,通过Intent实现跳转就好了

❺ android下打开Web浏览器的几种常见的方法

一。通过意图实现浏览
由于代码简单,就不提供完整的源代码,只给主要过程:

//通过下述方法打开浏览器

private void openBrowser(){
//urlText是一个文本输入框,输入网站地址
//Uri 是统一资源标识符
Uri uri = Uri.parse(urlText.getText().toString());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
注意:输入URL时,不要忘记“http://”部分。

二。利用视图打开网页
这个例子是通过调用WebKit浏览器引擎提供的WebView实现的。
具体源代码如下:
/res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<EditText
android:layout_width="240dp"
android:layout_height="wrap_content"
android:id="@+id/etWebSite"
android:hint="输入网址"
android:singleLine="true"
android:layout_marginRight="5dp"
/>
<Button
android:id="@+id/searchBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索"
android:layout_marginRight="5dp"
/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/backBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页"
android:layout_marginRight="5dp"
/>
<Button
android:id="@+id/nextBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:layout_marginRight="5dp"
/>
</LinearLayout>
<WebView android:id="@+id/webView1" android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>
</LinearLayout>

/res/src/com.myandroid

package com.myandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.URLUtil;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class WebViewActivity extends Activity {

private Button schBtn,backBtn,nextBtn;
private WebView webView;
private EditText mText;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

schBtn = (Button)findViewById(R.id.searchBtn);
mText = (EditText)findViewById(R.id.etWebSite);
webView = (WebView)findViewById(R.id.webView1);
backBtn = (Button)findViewById(R.id.backBtn);
nextBtn = (Button)findViewById(R.id.nextBtn);
schBtn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
//设置可以使用Javascript
webView.getSettings().setJavaScriptEnabled(true); String strURI = mText.getText().toString();
//检测网站的合法性
if(URLUtil.isNetworkUrl(strURI)){
webView.loadUrl(strURI);
Toast.makeText(WebViewActivity.this, strURI, Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(WebViewActivity.this, "输入非法网站\n"+strURI, Toast.LENGTH_SHORT).show();
}
}
});

backBtn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
if(webView.canGoBack()){
webView.goBack();
}
}
});

nextBtn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
if(webView.canGoForward()){
webView.goForward();
}
}
});
}
}

同时还要在AndroidManifest.xml中添加访问因特网的权限:
<uses-permission android:name="android.permission.INTERNET"/>

❻ android中点击button,跳转到webview中打开。求大神解答

<activity
android:name="XXXX"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
</intent-filter>
</activity>

❼ android web端怎么使用

须在主线程中开启一个线程,并且使用Handler这个对象来实现数据的异步请求.然后当请求响应完成之后才会在界面中更新数据,这应该就是android中的异步请求机制吧..下面是整个服务器端以及客户端的代码.首先我服务器端是通过struts来完成的.所以关于struts的jar包以及Json包所依赖的jar包都要导入到web程序中去.以下是服务器端的包图

web.xml文件中要配置过滤器,我是把所有请求都通过struts中的action进行处理的,所以下面是web.xml中的代码

[html] view plain print?在CODE上查看代码片派生到我的代码片
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>YltxServer</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 定义Struts2的核心控制器:FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 定义Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

同时按照struts中的规则,创建一个struts.xml文件,并注册自己写的action
[java] view plain print?在CODE上查看代码片派生到我的代码片
package com.maylor.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport implements ServletRequestAware,
ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private HttpServletResponse response;

public void login() {
try {
// HttpServletRequest request =ServletActionContext.getRequest();
// HttpServletResponse response=ServletActionContext.getResponse();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
// 将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername());
// 输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json);

// this.response.getWriter().write(json.toString());

JSONObject json = new JSONObject();
json.put("username", "username");
json.put("password", "password");
JSONObject json1 = new JSONObject();
json1.put("phone", "phone");
json1.put("tel", "tel");
JSONArray array = new JSONArray();
array.add(json);
array.add(json1);
byte[] jsonBytes = array.toString().getBytes("utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);

/**
* JSONObject json=new JSONObject(); json.put("login", "login");
* byte[] jsonBytes = json.toString().getBytes("utf-8");
* response.setContentType("text/html;charset=utf-8");
* response.setContentLength(jsonBytes.length);
* response.getOutputStream().write(jsonBytes);
* response.getOutputStream().flush();
* response.getOutputStream().close();
**/

} catch (Exception e) {
e.printStackTrace();
}
// return null;
}

@Override
public void setServletResponse(HttpServletResponse arg0) {
// TODO Auto-generated method stub
this.response = arg0;
}

@Override
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
this.request = arg0;
}
}
然后就是客户端的请求了.
下面是android客户端的代码,记住要在AndroidMainifest.xml中加入Internet访问权限

<uses-permission android:name="android.permission.INTERNET">

</uses-permission>
下面就是客户端的代码部分了.

[java] view plain print?在CODE上查看代码片派生到我的代码片
package com.maylor.demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {
private static String URL = "http://192.168.2.52:8080/YltxServer/login";
public Handler mHandler;

@SuppressLint("HandlerLeak")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getPDAServerData();
// Button button = (Button) findViewById(R.id.button1);
// button.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View arg0) {
// // TODO Auto-generated method stub
// Intent intent = new Intent(MainActivity.this,
// PoiSearchActivity.class);
// startActivity(intent);
// }
// });
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1000) {
TextView view = (TextView) findViewById(R.id.textview);
String str = "";
try {
JSONArray array = new JSONArray(msg.obj.toString());
JSONObject object = array.getJSONObject(0);
str = object.getString("username");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.e("wangchao", str);
view.setText(str);
}
}
};
}

/**
* 请求服务
*
* @param url
*/
private void getPDAServerData() {
new Thread() {
public void run() {
HttpClient client = new DefaultHttpClient();
HttpGet request;
String msg = "";
try {
request = new HttpGet(URL);
HttpResponse response = client.execute(request);
// 判断请求是否成功
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream in = entity.getContent();

BufferedReader buff = new BufferedReader(
new InputStreamReader(in));
String line = "";
while ((line = buff.readLine()) != null) {
msg += line;
}
Message msg1 = mHandler.obtainMessage();
msg1.what = 1000;
msg1.obj = msg;
mHandler.sendMessage(msg1);
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这个服务就算是全部完成了..整个工程

❽ 我是学Java语言为基础的,后来在Java的基础上学习了android开发,现在app开发不好混,想转学web、html5

前端那些很简单,抽出一点点时间学就可以学得很好了。重点还是其他的,你学java或者android都可以啊。

还有别听别人说,学好前端设计一点儿都不厉害,因为html,css那些太简单了,根本就什么都说明不了!加油吧!

❾ android中点击button,跳转到webview中打开。求大神解答😭

Uri uri = Uri.parse("http://www..com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

❿ android 手机现在现在好像卖的比较火,有点像转andriod开发。我现在做是做web开发的,不知道好不好转啊

基础入门书:
Android开发范例大全
Android应用开发详解

1)搜一下青大实训, 大量Android学习文章,Android游戏开发视频,Android项目
2)网络中搜“IT AIR博客”有大量Android学习文章,游戏开发视频,Android项目:新浪微博ANDROID客户端开发,捷通手机订机票Android客户端
3)“IT学习资源站 IT AIR” ,提供Android学习讨论。