android网页自动输入,Android中实现地址栏输入网址能浏览该地址网页源码并操作访问网络...

045b3e480528ad0ab09550ff6f4c4513.gif 

首先实现简单布局:

android:id="@+id/et_url"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true"

android:ems="10"

android:text="@string/url_text" >

android:id="@+id/btn_ie"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@+id/et_url"

android:onClick="sendHttp"

android:text="@string/btn_text" />

android:id="@+id/sv_id"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_below="@+id/btn_ie" >

android:id="@+id/tv_ie"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="@string/ie_text" />

在Stirng中

http://luochuang.iteye.com/blog/1606231

浏览

显示浏览网页内容

新建类文件 :

325e7da58122decaa78b8f6eb665298d.gif 

首先MainActivity 中代码 :

public class MainActivity extends Activity {

// 声明控件

public EditText et_url;

public TextView tv_ie;

// 网路操作类

public NetWorkUtils netWorkUtils;

private Handler handler;

public String content;

public static final int TEXT = 1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获取et_url对象

et_url = (EditText) findViewById(R.id.et_url);

tv_ie = (TextView) findViewById(R.id.tv_ie);

// 实例化

netWorkUtils = new NetWorkUtils(this);

// 实例化这个处理者

handler = new Handler() {

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch (msg.what) {

case TEXT:

tv_ie.setText(content);// 设置显示的文本

break;

default:

break;

}

}

};

}

@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;

}

public void sendHttp(View v) {

// 设置网络

boolean flag = netWorkUtils.setActiveNetWork();

if (flag) {

// run方法 执行完毕 这个线程就消耗了

// 子线程

new Thread(new Runnable() {

@Override

public void run() {

send();

handler.sendEmptyMessage(TEXT);

}

}).start();

}

}

// 发送请求操作

@SuppressLint("NewApi")

public void send() {

// 获取url的path路径

String path = et_url.getText().toString();

if (path.isEmpty()) {

Toast.makeText(MainActivity.this, "访问 的url地址不能为空",

Toast.LENGTH_LONG).show();

} else {

content = HttpUtils.sendGet(path);

}

/*// 设置网络

netWorkUtils.setActiveNetWork();

// 获取url的path路径

String path = et_url.getText().toString();

if (path.isEmpty()) {

Toast.makeText(MainActivity.this, "访问 的url地址不能为空",

Toast.LENGTH_LONG).show();

} else {

try {

// 设置访问的url

URL url = new URL(path);

// 打开请求

HttpURLConnection httpURLConnection = (HttpURLConnection) url

.openConnection();

// 设置请求的信息

httpURLConnection.setRequestMethod("GET");

// 判断服务器是否响应成功

if (httpURLConnection.getResponseCode() == 200) {

// 获取响应的输入流对象

InputStream is = httpURLConnection.getInputStream();

// 字节输出流

ByteArrayOutputStream bops = new ByteArrayOutputStream();

// 读取数据的缓存区

byte buffer[] = new byte[1024];

// 读取长度记录

int len = 0;

// 循环读取

while ((len = is.read(buffer)) != -1) {

bops.write(buffer, 0, len);

}

// 把读取的内容转换成byte数组

byte data[] = bops.toByteArray();

// 把转换成字符串

content = new String(data);

} else {

Toast.makeText(MainActivity.this, "服务器响应错误",

Toast.LENGTH_LONG).show();

}

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}*/

}

}

public class HttpUtils {

public static String sendGet(String path) {

String content = null;

try {

// 设置访问url

URL url = new URL(path);

// 打开请求

HttpURLConnection httpURLConnection = (HttpURLConnection) url

.openConnection();

// 设置请求的信息

httpURLConnection.setRequestMethod("GET");

// 设置请求是否超时时间

httpURLConnection.setConnectTimeout(5000);

// 判断服务器是否响应成功

if (httpURLConnection.getResponseCode() == 200) {

// 获取响应的输入流对象

InputStream is = httpURLConnection.getInputStream();

byte data[] = StreamTools.isToData(is);

// 把转换成字符串

content = new String(data);

// 内容编码方式

if (content.contains("gb2312")) {

content = new String(data, "gb2312");

}

}

// 断开连接

httpURLConnection.disconnect();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return content;

}

}

public class StreamTools {

public static byte[] isToData(InputStream is) throws IOException{

//字节输出流

ByteArrayOutputStream bops = new ByteArrayOutputStream();

//读取数据的缓存区

byte buffer[] = new byte[1024];

//读取长度 的记录

int len = 0;

//循环读取

while((len = is.read(buffer)) != -1){

bops.write(buffer, 0, len);

}

//把读取的内容转换成 byte数组

byte data[] = bops.toByteArray();

return data;

}

}

public class NetWorkUtils {

private Context context;

// 网路链接管理对象

public ConnectivityManager connectivityManager;

public NetWorkUtils(Context context) {

this.context = context;

// 获取网络链接的对象

connectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

}

//public void setActiveNetWork() {

public boolean setActiveNetWork() {

boolean flag = false;

// 获取可用的网络链接对象

NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();

if (networkInfo == null) {

new AlertDialog.Builder(context)

.setTitle("网络不可用")

.setMessage("可以设置网络?")

.setPositiveButton("确认",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

Toast.makeText(context, "点击确认",

Toast.LENGTH_LONG).show();

// 声明意图

Intent intent = new Intent();

intent.setAction(Intent.ACTION_MAIN);

intent.addCategory("android.intent.category.LAUNCHER");

intent.setComponent(new ComponentName(

"com.android.settings",

"com.android.settings.Settings"));

intent.setFlags(0x10200000);

// 执行意图

context.startActivity(intent);

}

})

.setNegativeButton("取消",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

}

// 必须.show();

}).show();

}

//判断网络是否可用

if(networkInfo!=null){

flag=true;

}

return flag;

}

}

然后就是要在AndroidManifest.xml中添加 可以访问网络的权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值