博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
揭秘uc浏览器四
阅读量:7029 次
发布时间:2019-06-28

本文共 3463 字,大约阅读时间需要 11 分钟。

请问大家用过uc浏览器,他收藏一个网页是怎么操作的?

是不是这样,按菜单键——弹出添加网页,收藏网页等等的菜单操作,这个菜单操作很人性化了,并且在前面的篇幅已经说过了,这里不做太多的赘述了。

我这里只说一说添加书签这个页面怎么的实现了。

这个添加书签的页面布局文件如下所示:

由布局文件,我们可以推断出,一定是你点击了添加书签的以后,再将其网址名称,和网址保存到文本框,让用户得以编辑,进一步提升用户体验,是这样的吗?

丑媳妇总要见公婆,是亮代码,解开谜底的时候了,源代码如下:

/** * Add / Edit bookmark activity. */public class EditBookmarkActivity extends Activity {    /**     * mTitleEditText 名字文本框     * mUrlEditText URL文本框     * mOkButton 确定按钮     * mCancelButton 取消按钮     */    private EditText mTitleEditText;    private EditText mUrlEditText;        private Button mOkButton;    private Button mCancelButton;        private long mRowId = -1;        /**     * 数据初始化的过程     */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                Window w = getWindow();         w.requestFeature(Window.FEATURE_LEFT_ICON);                setContentView(R.layout.edit_bookmark_activity);                w.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,    android.R.drawable.ic_input_add);                mTitleEditText = (EditText) findViewById(R.id.EditBookmarkActivity_TitleValue);        mUrlEditText = (EditText) findViewById(R.id.EditBookmarkActivity_UrlValue);                mOkButton = (Button) findViewById(R.id.EditBookmarkActivity_BtnOk);        mCancelButton = (Button) findViewById(R.id.EditBookmarkActivity_BtnCancel);                mOkButton.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View v) {                                setAsBookmark();                setResult(RESULT_OK);                finish();            }        });                mCancelButton.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View v) {                setResult(RESULT_CANCELED);                finish();            }        });                Bundle extras = getIntent().getExtras();        if (extras != null) {                        String title = extras.getString(Constants.EXTRA_ID_BOOKMARK_TITLE);            if ((title != null) &&                    (title.length() > 0)) {                mTitleEditText.setText(title);            }                        String url = extras.getString(Constants.EXTRA_ID_BOOKMARK_URL);            if ((url != null) &&                    (url.length() > 0)) {                mUrlEditText.setText(url);            } else {                mUrlEditText.setHint("http://");            }                        mRowId = extras.getLong(Constants.EXTRA_ID_BOOKMARK_ID);                    }                if (mRowId == -1) {            setTitle(R.string.EditBookmarkActivity_TitleAdd);        }    }        /**     * Set the current title and url values as a bookmark, e.g. adding a record if necessary or set only the bookmark flag.     */    private void setAsBookmark() {        BookmarksProviderWrapper.setAsBookmark(getContentResolver(), mRowId, mTitleEditText.getText().toString(), mUrlEditText.getText().toString(), true);    }}

通过这个控制的java文件我们可以清楚的分析出来:

①照例,是一些控件常量的声明。

②找oncreate这个数据的初始化的方法中了,对相应的数据进行初始化,赋予相应点击事件这些都是惯例性的动作,简称惯性。主要,我们知道这个界面,是从其他界面进入,数据一定是带过来的,那怎么带过来的,是通过bundle。android中的bundle是activity中传递数据的桥梁。打个比喻,Intent就是连接Activity(或其他组件,如service等等)的公路,那么Bundle就是跑在这条道路上的运输车,需要传输的数据就封装在Bundle之中。从实现上来看Bundle类是一个key-value对。

③当你点击保存按钮以后,你就把他保存到你建立一个保存数据的数据库,当然,这端数据是你编辑以后的数据了,否则就关闭此对话框。

怎么样,这个代码的实现是不是同我们猜想一模一样,华罗庚说过你倘若猜想与书写的差不多,请跳过把。大家是否猜想到代码的实现,那请你跳过这篇聱牙诘曲的文章。

转载地址:http://vbrxl.baihongyu.com/

你可能感兴趣的文章
iOS UI高级之网络编程(HTTP协议)
查看>>
使用cocoaPods import导入时没有提示的解决办法
查看>>
iOS数据持久化存储之归档NSKeyedArchiver
查看>>
JavaScript面向对象
查看>>
Intellij修改模板代码
查看>>
2.页面布局示例笔记
查看>>
一些老游戏CPU 100%占用的解决方法
查看>>
f5基本介绍
查看>>
博前语
查看>>
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
查看>>
郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(一))...
查看>>
python (ploit)
查看>>
Android 用achartengine 画折线图怎么显示不正确
查看>>
程序简单的测试与升级(暨实践第一次作业)
查看>>
信号处理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>
mysql基本操作
查看>>
39.CSS3弹性伸缩布局【下】
查看>>
[javascript]图解+注释版 Ext.extend()
查看>>