package cn.android.browser;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.android.browser.HelpTabAct;
import cn.android.browser.HistoryBean;
import cn.android.browser.HttpData;
import cn.android.browser.SQLiteHelper;
import cn.android.browser.WriteFavoriteXml;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.ContextMenu.ContextMenuInfo;
import android.webkit.WebBackForwardList;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class Main extends Activity
{
private WebView mWebView = null;
final Activity context = this;
private SQLiteHelper mOpenHelper;
public static Cursor myCursor_one;
Intent directCall;
private WriteFavoriteXml writeXml = new WriteFavoriteXml();
private ImageButton btn = null;
private EditText edit = null;
private ImageButton forwardBtn = null;
private ImageButton backBtn = null;
private ListView list = null;
private Button go_back = null;
private ImageButton menuBtn = null;
private final static int HISTORY_ITEM = 0; //历史记录
private final static int HTTP_ITEM = 1; //关于
private final static int SHORTCUT_ITEM = 2; //快捷方式
private final static int ADD_FAVORITE = 3; //加入收藏夹
private final static int FAVORITE_ITEM = 4; //收藏夹
private final static int PREFERENCE_ITEM = 5; //帮助网页
private final static int EXIT_ITEM = 7; //退出
private String cur_url = "http://m.hao123.com";
private final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
List<Map<String, Object>> history_data = new ArrayList<Map<String, Object>>();
List<HistoryBean> xml_data = new ArrayList<HistoryBean>();
String[] dialog_data = new String[]{};
public int selectId = 0;
SharedPreferences sp;
Drawable drawable;
private static String SAVE_KEY = "save-view";
public static Main instance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.w("debug.onCreate","onCreate");
requestWindowFeature(Window.FEATURE_PROGRESS);//让进度条显示在标题栏上
mOpenHelper = new SQLiteHelper(this);
directCall = new Intent(Intent.ACTION_MAIN);//快捷方式
onInit();
instance = this;
if (savedInstanceState == null)
{
deleteTable();
}
else
{
Bundle map = savedInstanceState.getBundle(SAVE_KEY);
if (map != null)
{
restoreState(map);
}
}
}
private void onInit() {
setContentView(R.layout.main);
edit = (EditText)findViewById(R.id.edit_1);
mWebView = (WebView) findViewById(R.id.wv1);
btn = (ImageButton)findViewById(R.id.button_1);
forwardBtn = (ImageButton)findViewById(R.id.forward_btn);
backBtn = (ImageButton)findViewById(R.id.back_btn);
menuBtn = (ImageButton)findViewById(R.id.menu_btn);
btn.setOnClickListener( new Button.OnClickListener()
{
public void onClick( View v )
{
// TODO Auto-generated method stub
String str = edit.getText().toString();
if(str != "")
{
cur_url = str;
setTitle();
mWebView.loadUrl(str);
}
}
} );
forwardBtn.setOnClickListener( new Button.OnClickListener()
{
public void onClick( View v )
{
// TODO Auto-generated method stub
if(mWebView.canGoForward())
mWebView.goForward();
}
} );
backBtn.setOnClickListener( new Button.OnClickListener()
{
public void onClick( View v )
{
// TODO Auto-generated method stub
if(mWebView.canGoBack())
mWebView.goBack();
}
} );
menuBtn.setOnClickListener( new Button.OnClickListener()
{
public void onClick( View v )
{
context.openOptionsMenu();
}
} );
mWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mWebView.loadUrl(url);
cur_url = url;
setTitle();
//insertTable(url,1,mWebView.getTitle());
return true;
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//Activity和Webview根据加载程度决定进度条的进度大小
//当加载到100%的时候 进度条自动消失
context.setProgress(progress * 100);
if(progress>=100)
{
insertTable(cur_url,1,view.getTitle());
}
//Log.d("TTTTTTTTT",progress+","+view.getTitle());
}
});
mWebView.loadUrl(cur_url);
setTitle();
Log.i("debug.Init",cur_url);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
{
Log.i("onCreateContextMenu",v.toString());
Log.i("onCreateContextMenu",String.valueOf(v.getId()));
}
private void setTitle()
{
Bitmap bitmap = mWebView.getFavicon();
drawable = new BitmapDrawable(bitmap);
//edit.setCompoundDrawables(drawable, null, null, null);
drawable = this.getResources().getDrawable(R.drawable.history);
edit.setCompoundDrawablesWithIntrinsicBounds(drawable, null,null,null);
edit.setText(cur_url);
//edit.setMaxLines(1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
menu.add(0, HISTORY_ITEM, HISTORY_ITEM, R.string.history).setIcon(R.drawable.history); //setIcon,setText
menu.add(0, HTTP_ITEM, HTTP_ITEM, R.string.http_name).setIcon(R.drawable.about);
menu.add(0, SHORTCUT_ITEM, SHORTCUT_ITEM, R.string.shortcut).setIcon(R.drawable.icon);
menu.add(0, ADD_FAVORITE, ADD_FAVORITE, R.string.addFavorite).setIcon(R.drawable.add_favorite);
menu.add(0, FAVORITE_ITEM, FAVORITE_ITEM, R.string.favorite).setIcon(R.drawable.favorite);
menu.add(1, PREFERENCE_ITEM, PREFERENCE_ITEM, R.string.preference).setIcon(R.drawable.help);
return true;
}
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId()){
case HISTORY_ITEM:
goto_history_view();
break;
case HTTP_ITEM:
showDialog(HTTP_ITEM);
break;
case SHORTCUT_ITEM:
createShortcut();
没有合适的资源?快使用搜索试试~ 我知道了~
基于Android的简单网页浏览器设计与源码实现
共88个文件
class:41个
xml:15个
png:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 109 浏览量
2022-06-20
21:19:56
上传
评论
收藏 211KB RAR 举报
温馨提示
基于Android的简单网页浏览器设计与源码实现
资源推荐
资源详情
资源评论
收起资源包目录
基于Android的简单网页浏览器设计与源码实现.rar (88个子文件)
基于Android的简单网页浏览器设计与源码实现
.project 845B
default.properties 449B
bin
cn
android
browser
Main$12.class 864B
R$string.class 978B
Main$1.class 1KB
SQLiteHelper.class 2KB
R$layout.class 538B
Main$17.class 801B
Main$13.class 1KB
Main$11.class 1KB
Main$8.class 1KB
HelpTabAct.class 3KB
FavoriteXmlHandler.class 3KB
R$drawable.class 739B
R$array.class 436B
LongTextBox.class 2KB
Main$15.class 820B
HttpData$ImageAdapter.class 2KB
Main$3.class 900B
R$anim.class 508B
Main$6.class 1KB
R.class 669B
R$xml.class 392B
HelpTabAct$2.class 1019B
Main$10.class 2KB
Main$14.class 850B
Main$9.class 851B
WebPreference.class 2KB
HttpData.class 10KB
Main$4.class 807B
Main$5.class 978B
Main$2.class 906B
Main.class 17KB
R$attr.class 340B
Main$16.class 890B
HelpTabAct$1.class 2KB
WebPreference$1.class 2KB
Main$7.class 737B
HistoryBean.class 1KB
HttpData$2.class 971B
WriteFavoriteXml.class 6KB
HttpData$1.class 990B
R$id.class 897B
MyBrowser.apk 67KB
resources.ap_ 44KB
classes.dex 42KB
.settings
org.eclipse.core.resources.prefs 116B
org.eclipse.jdt.core.prefs 629B
AndroidManifest.xml 1KB
src
cn
android
browser
SQLiteHelper.java 1KB
HttpData.java 11KB
HistoryBean.java 745B
HelpTabAct.java 3KB
LongTextBox.java 1KB
WriteFavoriteXml.java 5KB
Main.java 19KB
WebPreference.java 4KB
FavoriteXmlHandler.java 3KB
res
values
arrays.xml 326B
strings.xml 1004B
layout
gall.xml 866B
history.xml 684B
help.xml 853B
vlist.xml 880B
main.xml 2KB
http.xml 438B
xml
preferences.xml 1KB
drawable-ldpi
icon.png 3KB
drawable-hdpi
icon.png 9KB
drawable
add_favorite.PNG 969B
history.PNG 898B
favorite.PNG 1KB
forward.PNG 635B
tab_indicator.xml 874B
about.png 3KB
help.PNG 1KB
go.PNG 1KB
menu.PNG 537B
back.PNG 594B
tab_focus.png 1KB
icon.png 5KB
anim
push_right_in.xml 287B
push_left_out.xml 287B
push_right_out.xml 286B
push_left_in.xml 286B
drawable-mdpi
icon.png 5KB
.classpath 280B
gen
cn
android
browser
R.java 4KB
assets
共 88 条
- 1
资源评论
- m0_671698692022-07-21资源很好用,有较大的参考价值,资源不错,支持一下。
Sherry_shiry
- 粉丝: 2
- 资源: 1097
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功