Ⅰ android 字符串怎么获取各个字符
java中String 类有一个方法为substring(int beginIndex, int endIndex),它返回一个新字符串,它是此字符串从指定的
beginIndex处开始,一直到索引 endIndex - 1处的字符组成的新字符串。因此,该子字符串的长度为 endIndex-beginIndex
。
String a="a796Fb28@";
String b=a.substring(0,5);
则b返回值为a796F。
Ⅱ 如何得到android EditText里面的字符串
Android中有许多写法创建事件处理方式,一般会使用Android:onClick属性来指定。
举例说明:
实现摄氏温度到华氏温度的转变
1、
EditText editText1 =(EditText) findViewById (R.id.editText1)
c=Integer.parseInt(editText1.getText().toString());
用来获取editText1中的信息
2、
EditText editText2 =(EditText) findViewById (R.id.editText2);
f=(9.0*c)/5.0+32.0;
editText2.setText(String.valueOf(f));
通过editText1 获取的信息然后经过计算
将计算的结果返回editText2中然后在editText2中显示出来
(2)android搜索字符串扩展阅读:
EditText 控件的用法
EditText 在开发中也是经常用到的控件,也是一个比较必要的组件。
它是用户跟Android应用进行数据传输的窗户。
1、android:text设置文本内容。
2、android:textColor字体颜色。
3、android:hint内容为空时候显示的文本。
4、android:textColorHint为空时显示的文本的颜色。
5、android:maxLength限制显示的文本长度,超出部分不显示。
6、android:minLines设置文本的最小行数。
7、android:gravity设置文本位置,如设置成“center”,文本将居中显示。
8、android:drawableLeft在text的左边输出一个drawable,如图片。
Ⅲ android 怎样查找字符串中的某个中文(请教各位大神)
String str = "你好";
if(str.indexOf("你") != -1)
{
System.out.println("包含该字符串");
}
Ⅳ android 怎么获取字符串中指定的字符
Android开发中截取某字符串或者路径中的某字符串的方法substr(start,length)、substring(start,end)、charAt(int index)、indexOf(int str,int fromIndex)
substr(start,length) :substr是从起始点截取某个长度的字符串
substring(start,end):substring是截取2个位置之间及start-end之间的字符串
charAt(int index):实现从字符串中提取指定位置的字符
indexOf(int str,int fromIndex):返回指定字符在此字符串中第一次出现处的索引。如果在此 String 对象表示的字符序列中出现值为 str 的字符,则返回第一次出现该字符的索引(以 Unicode 代码单元表示
Ⅳ android字符串进行特定取词操作
int len;
char *pdomain;
pdomain=strnmatch(filestr,">#<",strlen(filestr),&len);
char *strnmatch(char *str,char *matchstr,int n,int *plength)
{
//功能:
//str为被搜索字符串
//n为搜索字符串的前n个字符
//matchstr为匹配字符串,支持* ?模糊匹配,#表示欲获取的字段,如<html>#</html>
//plength保存匹配字段的长度
//函数返回值为字符指针,若matchstr中包含#,则指向匹配字段的#部分,否则指向开头
char *p,*psubstr,*pmatch;
int flag;
for(p=str;p<str+n&&*p;p++)
{
flag=1;
pmatch=matchstr;
psubstr=p;
while(1)
{
if(*pmatch==0)
{
*plength=0;
break;//匹配
}
else
{
if(*psubstr==0)
{
flag=0;//不匹配
break;
}
}
if(*pmatch=='*'||*pmatch=='#')//递归
{
// *plength=match(psubstr,pmatch+1,plength)-psubstr;
*plength=strnmatch(psubstr,pmatch+1,strlen(psubstr),plength)-psubstr;
if(*plength<0)
{
flag=0;
break;
}
else
{
if(*pmatch=='#')
{
return psubstr;
}
break;
}
}
else if(*pmatch=='?')
{
pmatch++;
psubstr++;
}
else
{
if(*pmatch==*psubstr)
{
pmatch++;
psubstr++;
}
else
{
flag=0;//不匹配
break;
}
}
}
if(flag==1)//已经找到第一个匹配字符串,退出,可设置计数器寻找第n个匹配字符串
{
return p;
}
}
*plength=0;
return 0;
}
Ⅵ android studio怎么进行全局搜索,在整个项目里定位到某个字符串或者方法。类似Eclip
Android studio的默认全局搜索快捷键是Ctrl +shift+f
然后会出现下图
双击方法就可以定位到该方法。希望对你有帮助。
Ⅶ android 获得字符串的值
如果sbmc是String类型数据,就可以这样表示:
new String[]{sbmc}
如果sbmc是其他数据类型数据,可以这样表示:
new String[]{String.valueOf(sbmc)}
欢迎继续交流!
Ⅷ 软件需求:在Android手机系统中,搜索某一指定字符串所出现的屏幕,即搜索引用指定字符串的屏幕
麦当劳的wifi就是那样 很无奈哦
跟手机没关系 只要你能搜得到 就说明没关系
连接是另外一回事
你在别地方带Wifi的可以连上吧..
一般的号都是通用的不用设置 无锁的嘛
连不上 设置下先就是改一下频段
我听别人说上麦当劳的要用自带游览器,打开会自动登录麦当劳的网站,要设置才行。
不是很了解 基本上我不怎么去麦当劳用Wifi的 只去买东西吃。
但Wifi都那样吧 不会很很大变化的 多试试就知道了!
Ⅸ android应用中的搜索功能怎么实现的
在APP应用中启用搜索
在app应用中,至少要执行如下的三个步骤,才能让app应用能够进行检索。如果要提供搜索建议,还需要执行第4步:
编写搜索配置的XML文件
编写搜索的activity类
在Android的manifest.xml文件中,对两面两个步骤的工作进行配置。
如果要使用搜索建议,则需要增加一个contentprovider。
配置搜索的XML配置文件
首先看下如何配置搜索的XML配置文件。先命名配置文件名称为searchable.xml,保存在res/xml文件夹中。然后需要设置搜索框的文本,并且应该增加一个hint的提示文本信息,如下代码所示:
<searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/search_label"> android:hint="@string/search_hint" </searchable>
关于搜索配置文件有很多的配置选项,建议参考Android的手册可以获得更多:
http://developer.android.com/guide/topics/search/searchable-config.html。
增加搜索的Activity
当用户进行搜索时,Android调用activity进行搜索,代码如下:
publicclass SampleSearchActivity extends ListActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); handleIntent(getIntent()); }public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); handleIntent(getIntent()); } public void onNewIntent(Intent intent) { setIntent(intent); handleIntent(intent); } public void onListItemClick(ListView l, View v, int position, long id) { // 点每个搜索结果时的处理代码 } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); doSearch(query); } } private void doSearch(String queryStr) { //执行真正的查询结果处理 } }
在上面的代码中,在handleIntent方法中,当按下搜索按钮,系统就会自动发送Intent,action是Intent.ACTION_SEARCH,然后通过intent.getStringExtra(SearchManager.QUERY);获得要搜索的字符串。
其中为什么要包含onNewIntent()方法呢?主要是因为Android的back后退机制。Android会默认把每一个新的activity放到activity栈的顶部。如果用户点了后退键,则会关闭栈顶部的activity。尝试考虑一种情况,用户搜索一个内容并且系统列出了结果,如果用户发现结果不是他所要的,或者希望重新检索,则会重新点击搜索按键,这样将会产生一个新的搜索activity的实例,在activity栈中就会有两个搜索的activity,这是开发者并不期待的,所以,需要将这个搜索的activity声明为singleTop类型的activity,这样的话,无论用户按返回键还是尽心个多次的搜索,在acitivty栈中始终保持的是一个搜索activity的实例。因为当activity被设置为singleTop的加载模式时,如果堆栈的顶部已经存在了该Activity,那么,它便不会重新创建,而是调用onNewIntent。如果,该Activity存在,但不是在顶部,那么该Activity依然要重新创建。
mainifest配置文件
接下来,需要对manifest配置文件进行配置,必须要对其中进行如下配置:
搜索的activity.
使用搜索的intent
activity启动模式
searchable.xml中的元数据
更多的定义搜索的元数据
下面是典型的一个搜索的配置
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".YourApp" > <meta-data android:name="android.app.default_searchable" android:value=".YourSearchActivity" /> <activity android:label="@string/app_name" android:launchMode="singleTop" android:name=".YourSearchActivity" > <intent-filter > <action android:name="android.intent.action.SEARCH" /> </intent-filter> <intent-filter > <action android:name="android.intent.action.VIEW" /> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" /> </activity> </application>
在上面的典型配置中,要注意如下几点:
1)由于当调用搜索activity时,Android调用的是android.intent.action.SEARCH作为搜索的intent,所以必须在intent-filter中包含android.intent.action.SEARCH。
2)在<meta-data>中,指出了searchable.xml的位置
3)同样在<meta-data>中,通过:
<meta-data android:name="android.app.default_searchable" android:value=".YourSearchActivity" />
指出了当执行搜索的字符串提交时,将调用哪一个activity去进行处理。
Ⅹ 如何使用Android的搜索框架
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。
本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增加如语音搜索和搜索建议等功能。
基础知识
Android的搜索框架将代您管理的搜索对话框,您不需要自己去开发一个搜索框,不需要担心要把搜索框放什么位置,也不需要担心搜索框影响您当前的界面。所有的这些工作都由SearchManager类来为您处理(以下简称“搜索管理器”),它管理的Android搜索对话框的整个生命周期,并执行您的应用程序将发送的搜索请求,返回相应的搜索关键字。
当用户执行一个搜索,搜索管理器将使用一个专门的Intent把搜索查询的关键字传给您在配置文件中配置的处理搜索结果的Activity。从本质上讲,所有你需要的就是一个Activity来接收Intent,然后执行搜索,并给出结果。具体来说,你需要的做的事就包括以下内容:
一个搜索配置
我们用个XML配置文件来对搜索对话框进行配置,包括一些功能的配置,如文本框,设置语音搜索和搜索建议中显示的提示文字等。
一个用来处理搜索请求的Activity
这个Activity用来接收搜索查询的内容,然后搜索您的数据并显示搜索结果。
一种用户执行搜索的途径
默认情况下,一旦你配置了一个可搜索的Activity,设备搜索键(如果有)将调用搜索对话框。然而,你应该始终提供另一种手段,让用户可以调用搜索对话框,如在选项菜单中的搜索按钮或其他用户界面上的按钮,因为不是所有的设备提供一个专门的搜索键。
创建一个搜索对话框配置文件
搜索框配置文件是一个用来配置您的应用程序中搜索框的设置的XML文件,这个文件一般命名为searchable.xml,并且必须保存在项目的res/xml/目录下。
配置文件的根节点必须为,可以有一个或多个属性。如下所示:
[html] view
plainprint?
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/searchLabel" android:hint="@string/searchHint">
</searchable>
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/searchLabel" android:hint="@string/searchHint">
</searchable>
上面的配置文件中,除android:hint属性外,其它都是一个搜索对话框必须的配置项,android:label是一个必须的属性,它的值为一个string资源引用,不能直接用字符串,通常会是应用程序的名称(尽管它是一个必须的属性,但通常情况下是不显示出来的,除非你开启了搜索建议功能)。android:hint是配置搜索框的输入提示信息,也必须引用string.xml中配置的字符串资源,不能直接使用字符串。
可以配置很多的属性,但大部分属性都只是在使用搜索建议和语音搜索时进行配置,尽管如此,我们建议你一定要配置android:hint,用于提示用户需要输入的信息。
接下来,你需要把这个配置文件放到你的应用程序中。
创建一个可用于搜索的Activity
当用户从一个搜索框执行搜索时,搜索管理器(Search
Manager)会通过ACTION_SEARCH Intent
把要搜索的内容(关键字)发送到一个可执行搜索的Activity。这个Acitivity查询数据并显示结果。
定义一个可搜索的Activity
如果你还没有准备好,那么就创建一个用来执行搜索的Activity,声明它可以响应ACTION_SEARCH
Intent ,并且增加搜索框配置信息。为此,你需要添加一个元素和一个元素在你的manifest文件中的节点。如下所示:
[html] view
plainprint?
<application ... >
<activity android:name=".MySearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
...
</application>
<application ... >
<activity android:name=".MySearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
...
</application>
中的android:name属性值必须为”android.app.searchable”,android:resource属性值必须引用上面提到的res/xml/目录下的搜索配置文件(本例中的res/xml/searchable.xml)。
请注意,只有配置了上面的meta-data节点的Activity的节点才能执行搜索,如果想在整个应用程序中都可以调用搜索框,可以进行如下配置:
[html] view
plainprint?
<application ... >
<activity android:name=".MySearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<activity android:name=".AnotherActivity" ... >
</activity>
<!—这个配置就可以让你在整个应用程序中调用搜索框 -->
<meta-data android:name="android.app.default_searchable"
android:value=".MySearchableActivity" />
...
</application>
<application ... >
<activity android:name=".MySearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<activity android:name=".AnotherActivity" ... >
</activity>
<!—这个配置就可以让你在整个应用程序中调用搜索框 -->
<meta-data android:name="android.app.default_searchable"
android:value=".MySearchableActivity" />
...
</application>
上面代码中android:name=”android.app.default_searchable”
定义一个响应搜索框搜索请求的名称,android:value指定是由哪个Activity响应并执行搜索。当我们在应用程序中的
OtherAcitivity中执行搜索请求时,MySearchableActivity将会被加载用于执行搜索并显示搜索结果。
执行一个搜索
当一个Activity声明为可搜索时,执行实际的搜索包括三个步骤:接收查询,检索你的数据,并提交结果。
通常情况下,你的搜索结果需要在一个ListView中展现,所以你用于执行搜索的Acitivity要继承ListActivity,这样,可以方便的访问ListView的Api。
接收搜索查询
当从搜索对话框执行搜索时,刚才配置的可用于搜索的Acitivity将会被Intent激活,同时带着一些搜索相关的参数,你需要检查Intent并做出搜索响应,如下所示:
[java] view
plainprint?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);Intent intent = getIntent();
//判断是否是搜索请求
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
//获取搜索的查询内容(关键字)
String query = intent.getStringExtra(SearchManager.QUERY);
//执行相应的查询动作
doMySearch(query);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
Intent intent = getIntent();
//判断是否是搜索请求
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
//获取搜索的查询内容(关键字)
String query = intent.getStringExtra(SearchManager.QUERY);
//执行相应的查询动作
doMySearch(query);
}
}
doMySearch()方法将根据关键字查询数据库,或从网络上查询数据,如果是耗时的搜索,你还需要使用进度条,来告诉用户搜索正在进行,最后返回结果后,可以调用ListView的setAdapter()方法将结果显示在ListView中。
调用搜索对话框
你可以从应用程序中的任何一个地方调用onSearchRequested()方法激活搜索框,比如从菜单中或者一个按钮等。你也要以在
onCreate()方法中调用setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL),这样,当用户按下键盘上的按键时,将会自动激活搜索框。
搜索框和普通对话框一样,浮动在屏幕的最上方,它不会改变任何Activity堆栈状态,没有任何Activity生命周期中的方法会被调用,只是当搜索框出现就,正在运行的Activity会失去输入焦点。
如果你要在执行搜索时,进行别的操作,可以重写onSearchRequested()方法,如下所示:
[java] view
plainprint?
@Override
public boolean onSearchRequested() {
//这个方法中干你想干的事,比如做一些被始化工作
pauseSomeStuff();
return super.onSearchRequested();
}
@Override
public boolean onSearchRequested() {
//这个方法中干你想干的事,比如做一些被始化工作
pauseSomeStuff();
return super.onSearchRequested();
}
如果当前的Activity就是响应搜索请求的Activity时,会有以下两种情况:
默认情况下,ACTION_SEARCH
Intent将会创建一个新的Activity,并调用onCreate()方法,这个新的Activity会显示在最前面,你将同时有两个
Activity实例。当你按“返回”键里,会回到没有执行搜索前的一个Activity。
另一种情况是配置了android:launchMode=”singleTop”的Activity,这时,我们需要在
onNewIntent(Intent)方法中处理搜索请求,如下所示:
[java] view
plainprint?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
handleIntent(getIntent());
}@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
相应的Activity配置如下
[html] view
plainprint?
<activity android:name=".MySearchableActivity"
android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<activity android:name=".MySearchableActivity"
android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
如何给搜索框增加参数
要给搜索框传递参数,我们需要重写onSearchRequested()方法,如下所示:
[java] view
plainprint?
@Override
public boolean onSearchRequested() {
Bundle appData = new Bundle();
appData.putBoolean(MySearchableActivity.JARGON, true);
startSearch(null, false, appData, false);
return true;
}
@Override
public boolean onSearchRequested() {
Bundle appData = new Bundle();
appData.putBoolean(MySearchableActivity.JARGON, true);
startSearch(null, false, appData, false);
return true;
}
我们的Activity在收到搜索框的搜索请求时,通过如下方法获取参数:
[java] view
plainprint?
Bundle appData = getIntent().getBundleExtra(SearchManager.APP_DATA);
if (appData != null) {
boolean jargon = appData.getBoolean(MySearchableActivity.JARGON);
}
Bundle appData = getIntent().getBundleExtra(SearchManager.APP_DATA);
if (appData != null) {
boolean jargon = appData.getBoolean(MySearchableActivity.JARGON);
}
最后我们来看看如何使用android的语音搜索:
只需要对我们的搜索配置文件做如下改动,你的搜索就支持语音搜索了,配置文件如下所示:
[html] view
plainprint?
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/searchLabel"
android:hint="@string/searchHint"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer">
</searchable>