webview删除有什么影响

webview删除有什么影响,第1张

这个程序删除以后手机上的浏览器打开就会停止。

android system Webview是安卓的一个浏览器内核,手机上的应用可以通过调用它来直接显示网页内容。

webview 会将我们浏览过的网页url已经网页文件(css、图片、js等)保存到数据库表中。

Webview是安卓的一个浏览器内核,手机上的应用可以通过调用它来直接显示网页内容,这次更新主要是为了解决一些应用不能正常显示网页内容的问题,比如12306的支付页面无法显示等。

这个是不能删除的,如果删除了很多应用都不能正常使用了。

1、Android中的WebView控件当加载html时候,会在data/应用package下生成database与cache两个文件夹如下图如示:

Url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下。

WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源)、H5缓存(即AppCache)。

2、缓存构成

/data/data/package_name/cache/

/data/data/package_name/database/webview.db

/data/data/package_name/database/webviewCache.db

webview 会将浏览过的网页url以及网页文件(css、图片、js等)保存到数据库表中。

缓存模式(5种)

LOAD_CACHE_ONLY:  不使用网络,只读取本地缓存数据

LOAD_DEFAULT:  根据cache-control决定是否从网络上取数据。

LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式

LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.

LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。

<pre name="code" class="java">package com.qin.operadb

import java.io.DataInput

import java.io.DataOutput

import java.io.IOException

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.SQLException

import org.apache.hadoop.io.Text

import org.apache.hadoop.io.Writable

import org.apache.hadoop.mapreduce.lib.db.DBWritable

/***

* 封装数据库实体信息

* 的记录

*

* 搜索大数据技术交流群:376932160

*

* **/

public class PersonRecoder implements Writable,DBWritable {

public int id//对应数据库中id字段

public String name//对应数据库中的name字段

public int age//对应数据库中的age字段

@Override

public void readFields(ResultSet result) throws SQLException {

this.id=result.getInt(1)

this.name=result.getString(2)

this.age=result.getInt(3)

}

@Override

public void write(PreparedStatement stmt) throws SQLException {

stmt.setInt(1, id)

stmt.setString(2, name)

stmt.setInt(3, age)

}

@Override

public void readFields(DataInput arg0) throws IOException {

// TODO Auto-generated method stub

this.id=arg0.readInt()

this.name=Text.readString(arg0)

this.age=arg0.readInt()

}

@Override

public void write(DataOutput out) throws IOException {

// TODO Auto-generated method stub

out.writeInt(id)

Text.writeString(out, this.name)

out.writeInt(this.age)

}

@Override

public String toString() {

// TODO Auto-generated method stub

return "id: "+id+" 年龄: "+age+" 名字:"+name

}

}

</pre>

MR类的定义代码,注意是一个Map Only作业:

<pre name="code" class="java">package com.qin.operadb

import java.io.IOException

import org.apache.hadoop.conf.Configuration

import org.apache.hadoop.fs.FileSystem

import org.apache.hadoop.fs.Path

import org.apache.hadoop.io.LongWritable

import org.apache.hadoop.io.Text

import org.apache.hadoop.mapred.JobConf

import org.apache.hadoop.mapred.lib.IdentityReducer

import org.apache.hadoop.mapreduce.Job

import org.apache.hadoop.mapreduce.Mapper

import org.apache.hadoop.mapreduce.lib.db.DBConfiguration

import org.apache.hadoop.mapreduce.lib.db.DBInputFormat

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat

public class ReadMapDB {

/**

* Map作业读取数据记录数

*

* **/

private static class DBMap extends Mapper&ltLongWritable, PersonRecoder , LongWritable, Text&gt{

@Override

protected void map(LongWritable key, PersonRecoder value,Context context)

throws IOException, InterruptedException {

context.write(new LongWritable(value.id), new Text(value.toString()))

}

}

public static void main(String[] args)throws Exception {

JobConf conf=new JobConf(ReadMapDB.class)

//Configuration conf=new Configuration()

// conf.set("mapred.job.tracker","192.168.75.130:9001")

//读取person中的数据字段

// conf.setJar("tt.jar")

//注意这行代码放在最前面,进行初始化,否则会报

DBConfiguration.configureDB(conf, "com.mysql.jdbc.Driver", "jdbc:mysql://192.168.211.36:3306/test", "root", "qin")

/**要读取的字段信息**/

String fileds[]=new String[]{"id","name","age"}

/**Job任务**/

Job job=new Job(conf, "readDB")

System.out.println("模式: "+conf.get("mapred.job.tracker"))

/**设置数据库输入格式的一些信息**/

DBInputFormat.setInput(job, PersonRecoder.class, "person", null, "id", fileds)

/***设置输入格式*/

job.setInputFormatClass(DBInputFormat.class)

job.setOutputKeyClass(LongWritable.class)

job.setOutputValueClass(Text.class)

job.setMapperClass(DBMap.class)

String path="hdfs://192.168.75.130:9000/root/outputdb"

FileSystem fs=FileSystem.get(conf)

Path p=new Path(path)

if(fs.exists(p)){

fs.delete(p, true)

System.out.println("输出路径存在,已删除!")

}

FileOutputFormat.setOutputPath(job,p )

System.exit(job.waitForCompletion(true) ? 0 : 1)

}

}

</pre>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9952836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存