标签:VBA,类模块,用户窗体 本示例演示,当用户单击用户窗体中的命令按钮时,会弹出该命令按钮名称信息。 这个示例来源于ozgrid.com,有兴趣的朋友可以研究。...在用户窗体上共有24个命令按钮,如下图1所示。 图1 当单击某个命令按钮时,会依次显示该命名按钮名称和标题信息,如下图2所示。
无法处理用户没有看过的文档以及没有过的查询 企业微信截图_15626513457190.png 概率模型的核心思想就是,假设当前文档是某个用户想要的,那么这其中有多大的概率表明这个查询是来自于此特定用户...这种计算方式,很明显的是它依赖于当前语句的,用处在于处理自然语言中的不确定性,比如要知道某个句子“Today is”下一个单词是”Wednesday”的概率。...这种模型最简单的情况就是 Unigram LM Unigram LM 假设所有单词都是互相独立的,那么单个句子成立的概率就是每个单词出现的概率。...|q|等价于整个文档库中的单词在查询语句中出现的次数,也就是查询语句本身所包含的单词的数量 函数重写后,对于排序来讲,最后一部分,所有的文档算出来的值都是一样,所以可以忽略【针对所有的文档库计算的...】,对于中间的部分,可以看到相对长的查询有一个基于因子的log算法,某种程度上是对长度的一种惩罚,越长可以选择较大的因子,而对于第一部分来讲,可以看到,可见的文档的单词概率则类似于TF,不可见的文档部分则相当于
反馈的基本类型 relevance Feedback:查询结果返回后,有专门的人来识别那些信息是有用的,从而提高查询的命中率,这种方式很可靠 implicit feedback:观察有哪些返回结果是用户点击了的...,有点击的认为是对用户有用的,从而提高查询准确率 persudo feedback:获取返回结果的前k个值,认为是好的查询结果,然后增强查询 Rocchio Feedback思想 对于VSM(vector...的beta要大于persudo】;在使用的时候注意不要过度依赖,还是要以原始的查询为主,毕竟反馈只是一个小的样本 Kullback-Leibler divergence Retrieval model[...KL散度检索模型] kl作为反馈运算来讲,具体操作可以是:首先提供一个预估要查询的文档集,以及查询的关键字,分别计算出文档和查询的向量。...计算出二者的距离【基本和VSM一致】,通过这样的方式,会得到一个反馈的集合。
btn.setText("改变了按钮的文本"); Log.i("Tip","配置的按钮被点击了!")...@Override public void onClick(View view) { //通过getId来获取触发的是那个按钮 switch...,长按就是长按,单击就是单击) ?...再来看一个有趣的动作,可以移动的按钮,根据容器的event获取 X和Y坐标给按钮 现在打开MainActivity.xml的给容器一个ID值 <RelativeLayout xmlns:android=...键盘事件 设置我们文本框的键盘事件!
但是仅使用这种方式无法区分重要的词和非重要的词,比如the 什么是DF DF(document frequency),包含关键词的文档的个数 什么是IDF IDF(inverse document frequency...以下面文档为例,假如想搜索"news about presidential campaign",文档库中一共有3个文档 很明显presidential出现次数多,那篇文章应该更重要,那么可以加上次数做考虑...d3和d2却一样,有点无法接受,因为presidential的重要性很明显应该比about更重要,也就是说,不同词的权重是不一样的,在所有文档中出现的越多的词,应该重要性越低,可以算上IDF,假设 每个单词的...一般说来,长文档更有可能包含更多的词汇,因此它会以相对疏散的方式匹配到查询关键字,但真实主题却不是查询的关键字。这样看来,需要更好的方式来对长文本做出”惩罚”。...0,|d|(文档长度)越大,权值反而越小,也就得到了”惩罚”长文档的目的,当文档太短时,如果包含查询关键字,很有可能主题就是这些,起到适当的激励作用 文本获取(TR)的一般架构 tokenization
,添加界面提供两个文本框和一个按钮,用于输入音乐名和歌手名,当单击“添加”按钮时,将数据插入到表中,具体代码如下: package com.example.musiclist; import android.app.Activity...R.id.ButtonAdd); b1.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 获取用户输入的文本信息...“添加”按钮时,先将用户输入的音乐名和歌手信息封装到ContentValues对象中,再调用DBHelper的insert()方法将记录插入到数据库中,然后跳转到QueryActivity来显示音乐列表...()方法查询数据库并返回一个Cursor游标,然后使用SimpleCursorAdapter适配器将数据绑定到ListView控件上,并在ListView控件上注册单击监听器,当单击一条记录时,显示一个警告对话框提示是否删除...,单击“是”,则调用DBHelper的del()方法删除指定记录。
用户在每个应用都有一个openid,如果想打通账号体系就必须注册微信开放平台,关联公众号或者小程序才能获取unionid来唯一区分用户。...当然根据最新的规范 已经不需要去开放平台关联应用了,直接可以拿到unionid。 那么如果在无法获取unionid的情况: 举个例子:因为某些限制,新产品必须以新主体注册挂靠。...这时,如果已经有历史用户数据(比如基于公众号的某一业务),怎么去判断一个新用户(例如小程序用户)是同一用户呢? 这里提供一个暴力的方法: 就是根据用户的头像以及昵称来判断。...这里首先说明一下,同一个用户如果注册使用不同主体的小程序,虽然头像一样但是返回用户信息里头像的url是不同的(有兴趣的可以自己去验证一下)。...拿到用户的头像及昵称之后可以进行如下的判断 看用户昵称是否相同 头像相似度是否达到98%以上 如果二者都满足的话那么基本可以判断是同一用户了,但是这个方法只适用于短期内的用户数据迁移,如果时间过久,用户会修改自己的基本信息
前面介绍的文件操作储存数据是用文本文件或者二进制文件来储存数据的,下面介绍一个新的数据储存方式:SharedPreferences SharedPreferences 储存的文件采用xml格式的文件来储存数据...break; } } }; @SuppressLint("NewApi") private void login() // 单击登录按钮事件...toString()); // 如果选中记住密码单选框就储存密码 } editor.apply(); // 上传数据 Toast.makeText(this, "单击登录按钮...} } } 主要的思想还是通过两个自定义方法实现:login() 方法用于单击“登录”按钮时对用户名和密码等信息的储存,loadUserInfo() 方法用于恢复用户名和密码等操作...如果你是第一次运行程序,那么你的界面应该是这样的。输入账户和密码,单击记住密码: ? 点击登录按钮。然后完全退出程序,再次启动程序: ?
搜索在一般APP中是基本功能,且非常重要。 常见的有组装的EditText,今天主要讲的是SearchView。...(true); 设置搜索框展开时是否显示提交按钮,可不显示 mSearchView.setSubmitButtonEnabled(true); 让键盘的回车键设置成搜索 mSearchView.setImeOptions...mSearchView.setIconifiedByDefault(true); //设置搜索框展开时是否显示提交按钮,可不显示 mSearchView.setSubmitButtonEnabled...其他还有setOnCloseListener 关闭的监听,setOnSearchClickListener 点击搜索按钮的监听, setOnSuggestionListener 提示内容被选中的监听...// 当点击搜索按钮时触发该方法 @Override public boolean onQueryTextSubmit(String query) {
自动朗读支持可以对指定文本内容进行朗读,从而发生声音;不仅如此,Android的自动朗读支持还允许把文本对应的音频录制成音频文件,方便以后播放。...上面两个方法中的params都用于指定声音转换时的参数,speak()方法中的queueMode参数指定TTS发音队列模式,该参数支持如下两个常量。...接下来程序分别体统了两个按钮,一个按钮用于执行朗读发生,一个按钮用于将文本内容朗读音频保存成声音文件,分别通过调用TextToSpeech对象的两个方法完成。 运行程序,可以看到下图界面: ?...在界面中,当用户点击“朗读”按钮后,系统将会调用TTS的speak()方法来朗读文本框的内容;当用户单击“记录声音”按钮后,系统会调用synthesizeToFile()方法把文本框中的文本对应的朗读音频记录到...SD卡的声音文件中——单击该按钮后将可以在SD卡的根目录下生成一个sound.wav文件,该文件可以被导出,在其他音频播放软件中播放。
,然后我们开发者获取到用户输入的内容,提交给服务区进行判断再做相应的处理。...需要注意的是,修改文本框颜色和大小的时候,需要将view cast to textview或者edittext,源码的配置文件里面这个框就是一个view,强转一下即可。...EditText实现SearchView功能 前面searchview里面,如果要将键盘的换行改成搜索,是要修改imeOptions的属性即可,而Edittext的属性里其实是有这个的,所以在edittext...的布局中添加imeOptions = “actionSearch” ,但是只添加这个属性是无法实现的。...剩下和searchView还不一样的就是没有close的按钮,其实监听一下edittext的输入就可以了,后续我就没做了,addTextChangedListener应该能实现,思路是:如果edittext
EditText为我们提供了android:hint来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,你输入字符的时候就消失了,不影响你的EditText的文本。。...比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好...Toast.LENGTH_SHORT).show(); return false; } }); } } 运行程序,点击回车(也就是搜索图标软键盘按钮...七:EditText的取值、全选、部分选择、获取选中文本 下面通过一个例子来演示EditText的取值、全选、部分选择和获取选中文本.main.xml修改如下: <?...可以通过输入文字和点击下面的按钮测试。 八:小结 这结详细介绍了EditText的大部分特性和常用功能,如常用的密码框,获取值等等。这几天忙的没更新,这次更新个长的。可以够消化一阵子的。
前言 EditText ,文本输入框,一个再熟悉不过的的控件,在开发当中,我们需要经常用到。这边文章,主要是记录 EditText 的常用用法,需要的时候可以直接复制张贴,提高效率。...//设置文本的类型,用于帮助输入法显示合适的键盘类型. android:maxLength //设置EditText最多接受的文本的个数. android:lines //设置EditText显示的行数...默认获取焦点 EditText 默认获取焦点,并弹出键盘,这本来是默认的行为。..., 0); } 取消 EditText 默认获取焦点的行为 在EditText的父级控件中找一个,添加这两个属性: android:focusable="true" android:focusableInTouchMode...,显示搜索结果!")
比如:view.AddView(...). 4.在追加的父控件内时,可以指定布局的方式。 在动态添加完毕后,我们还需要能够获得对这些动态添加后的控件的值。...比如我添加一个文本框,我还想获得用户在这个文本框里填入的值。android的view控件里,都有个属性Tag,我们可以很方便的使用这个属性来存放我们的特殊标记,用这个特殊标记来标记我们的控件。...获取控件的步骤: 1.获得容器控件 2.遍历容器控件的包含的所有子控件,根据我们设置的标识Tag属性,或者判断控件的类型来找到我们想要的控件 3.从找到的控件里读取到我们想要的值。...也就是说,我们放置了一个静态的表格,然后动态的创建这个表格里的行。 LayoutParams 是布局参数的意思。在将创建好的子控件添加到它的父容器控件时,可以同时指定一个布局参数。...从视图中读取控件的内容: 我们在一个按钮的单击事件里写下这样的代码 StringBuffer sb = new StringBuffer(); for(int i = 0 ; i< _pnlContent.getChildCount
界面中还有一个按钮,当用户单击该按钮时,程序向服务器发送聊天信息。 layout/activity_main.xml界面布局代码如下: <?...-- 定义一个文本框,它用于接收用户的输入 -- <EditText android:id="@+id/input" android:layout_width="280dp" android...负责生成程序界面,并为程序的按钮单击事件绑定事件监听器,当用户单击按钮时向服务器发送信息。...EditText input; TextView show; // 定义界面上的一个按钮 Button send; Handler handler; // 定义与服务器通信的子线程 ClientThread...接着可以运行Android客户端——相当于启动聊天界面登录该服务器,接下来在任何一个Android客户端输入一些内容后单击“发送”按钮,将可以看到所有客户端(包含自己)都会收到刚刚输入的内容,这样就简单实现了一个
Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮会触发一个onClick点击事件。...一、Button简介 Button使用起来比较容易,可以通过指定android:background 属性为按钮增加背景颜色或背景图片,如果将背景图片设为不规则的背景图片,则可以开发出各种不规则形状的按钮...; 第二个按钮通过background属性配置了背景图片,因此该按钮将会显示为背景图片形状的按钮; 第三个按钮综合了文字显示和背景图片,因此该按钮将会显示为背景图片上带文字的按钮。...View.OnClickListener() { @Override public void onClick(View view) { // 获取用户输入的用户名和密码...到此,最常用的三个组件TextView、EditText和Button都已经学习完成,你都掌握了吗?
30dip” android:paddingBottom=”40dip” android:layout_weight=”1″ android:singleLine=”true” /> 1、 直接继承View是EditText...和Button的父类;其中TextView的xml属性很多具体参考手册即可; 2、 由于TextView中只用于显示文字,如果图文混合可以绘制一个drawable对象即可 xml属性对照(部分) android...:autoLink是否将符合指定格式的文本转换可单击的超链接形式(web、email、phone、map、all、none) android:cursorVisible设置文本框中的光标是否可见 android...android:hint文本框内容为空时,默认显示文字 android:password文本框是一个密码框 android:phoneNumber文本框只能输入数字 android:scrollHorizontally...组件ImageButton(按钮) 三、EditText组件(编辑框) 四、RadioGroup组件(单选组)RadioButton组件(单选框) 五、CheckBox组件(多选框) 六、ToggleButton
其实用Intent传递数据以及对象时,它的内部也是调用了Bundle对象相应的put()方法,也就是说Intent内部也是用Bundle来实现数据传递的,只是封装了一层而已。...创建一个示例程序,非常简单,一共有两个界面,其中第一个界面有用户名、密码和性别等信息,然后有一个注册按钮,第二个界面包含多个文本框。...和一个Button按钮,分别用于输入内容和单击“注册”按钮进行数据传递。...Intent对象,然后通过该对象的getStringExtra()方法获取输人的用户名,并将得到的用户名绑定在TextView控件中进行显示。...运行程序,在MainActivity的文本框中输入对应信息,可以看到左图所示效果。单击“注册”按钮,此时会跳转到SecondActivity界面,显示输人的信息,如右图所示。 ?
findViewById(R.id.edit); } //当用户单击menu键时触发该方法 @Override public boolean onCreateOptionsMenu(Menu menu...如果菜单项被单击后需要有自己的实现,则必须重写onOptionsItemSelected()方法,该方法会传入已经创建完毕的menuItem项。...如上图所示的带有标题和两个按钮的叫做ActionBar。是从安卓3.0开始被介绍使用的。系统默认使用ActionBar作为工具栏。ActionBar中的item可以显示为两种——按钮和溢出菜单。...如下图,两个图标代表的是按钮,三个竖点代表的是溢出菜单: ? 言归正传,关于showAsAction的值: 当为ifRoom时,表示如果有空间,就显示。...如上面的代码中两个都定义为IfRoom,则会显示为两个按钮。 “never”,顾名思义,就是不显示按钮。全部浓缩在溢出菜单中。 “withText”也就是显示按钮时跟随文字。
对于QQ登录时保存账号和密码的功能,不仅文件存储能够实现,SharePreferences同样也可以实现,而且SharedPreferences存取数据更加简单方便。...) findViewById(R.id.btn_login); //设置按钮的点击事件 btnLogin.setOnClickListener(this); } @Override public void...onClick(View v) { //当单机登录按钮时,获取QQ账号和密码 String number = etNumber.getText().toString().trim(); String...show(); }else{ Toast.makeText(this,"保存失败",Toast.LENGTH_SHORT).show(); } } } 运行程序 程序运行成功后,在界面输入账号和密码,单击登录按钮...总结 到此这篇关于Andriod Studio实现保存QQ密码功能的文章就介绍到这了,更多相关android studio 保存qq 密码内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持
领取专属 10元无门槛券
手把手带您无忧上云