Articles of string

如何从命令行发送String intent额外值?

我的自动化测试通过adb shell am发送意图,但是我在指定一个额外的字符串数组时遇到了麻烦。 根据Intent类文档 ,可以将一个String []额外添加到intent中。 但是, am命令的Intent规范文档未列出字符串数组types。 我在文档中看到的唯一字符串types是普通字符串,也许是null“string”: –esn Add a null extra. This option is not supported for URI intents. -e|–es Add string data as a key-value pair. 为了发送字符串数组而编写java应用程序是否可以避免? 有没有办法从命令行发送一个String []额外的? 编辑以防这种情况不可能,这样做的首选方法是什么?

如何在Android字符串资源中添加utf-16字符?

我想在我的应用程序的字符串中使用Emojis。 当然,所有字符串都驻留在strings.xml中 问题是并非所有的Emojis都是16位友好的。 一些Emojis可以表示为“普通”16位hex: ‘\ u26FF’,但有些是32位hex(UTF-16),通常表示为: ‘\ x1F600’ 。 在代码中处理应用程序内部的内容时我没有问题。 但strings.xml资源文件是UTF8编码的,并且不能正确处理非16位转义字符。 我尝试使用‘\ x1F600’ – 因为我看到‘\ u26FF’工作正常。 但它似乎不会吞噬’x’逃脱字符。 它也不像正则expression式‘\ x {1F600}’ 所以我最终使用字符串占位符‘%1 $ s’并在代码中填写表情符号,如下所示: // greeting_3 is defined as: “hello there %1$s!” String s = context.getString(R.string.greeting_3, “😜”); // OR: String s = context.getString(R.string.greeting_3, new String(Character.toChars(0x1F61C))); 这不是一个非常优雅的解决方案…有没有一种正确的方法将32位UTF-8字符放在strings.xml中?

如何使用OnItemClick从列表视图中检索单击的字符串?

我在这里遇到了一些问题。 它看起来很简单,我一直在寻找它的解决方案。 不幸的是,我找不到任何东西。 这是我的问题….我想要做的是从一个On项目点击方法获取listview中显示的字符串。 这是我的列表视图: – lol – hi – waw 当我点击“lol”我想得到“lol”字符串….. 我应该在这里添加什么代码? : lv = (ListView) findViewById(R.id.list_view); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) { // Intent newI = new Intent(this,PDetail.class); Intent newI = new Intent (Create.this, PDetail.class); //String sd = ((() arg1).getText()).toString(); //newI.putExtra(“x”, arg2); startActivity (newI); // db.getList(arg3); […]

Android StringBuilder vs String Concatenation

我正在阅读此文档页面, http://developer.android.com/reference/android/util/Log.html 。 这部分引起了我的注意: 提示:当你拨打电话时不要忘记 Log.v(TAG, “index=” + i); 当您构建要传递给Log.d的字符串时,编译器使用StringBuilder并且至少发生三次分配:StringBuilder本身,缓冲区和String对象。 实际上,还有另一个缓冲区分配和复制,对gc的压力更大。 这意味着如果您的日志消息被过滤掉,那么您可能正在进行大量工作并产生大量开销。 这意味着Android编译器正在采用字符串连接(+)并将它们转换为StringBuilder和append语句。 我的假设是正确的还是更好地手动使用StringBuilder而不是字符串连接?

突出显示ListView项目中的搜索文本

我有一个ListView ,我使用自定义适配器来显示数据。 现在我想改变搜索文本字母颜色,如上面的屏幕截图。 这是SearchView的代码 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar_menu_item, menu); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView searchView = (SearchView) menu.findItem(R.id.action_search) .getActionView(); searchView.setSearchableInfo(searchManager .getSearchableInfo(getComponentName())); searchView.setOnQueryTextListener(this); return super.onCreateOptionsMenu(menu); } public boolean onQueryTextChange(String newText) { // this is adapter that will be filtered if (TextUtils.isEmpty(newText)){ lvCustomList.clearTextFilter(); } else{ lvCustomList.setFilterText(newText.toString()); } return […]

在Android中将字符串转换为Double

尝试从EditText获取double值并在将它们传递给另一个Intent之前对其进行操作。 不使用原始数据types,所以我可以使用toString方法。 问题是当我包含蛋白质= Double.valueOf(p).doubleValue(); 样式命令,程序强制立即关闭而不在logcat中留下任何信息。如果我将它们注释掉并设置一些虚拟数据,如protein = 1.0; 它没有任何问题。 原始数据types和解析double也是如此。 此代码与普通java中的虚拟数据完美配合。 我究竟做错了什么? EditText txtProt, txtCarb, txtFat, txtFiber, txtPoints; String p, c, f, fi; Double protein, carbs, fat, fiber; double temp; Integer points; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.v(“Create Prompt”, “ready for layout”); setContentView(R.layout.main); Log.v(“Layout Created”, “ready for variable assignment”); txtProt = (EditText) findViewById(R.id.Protein); txtCarb […]

是否有更快的方法将html字符解码为字符串而不是Html.fromHtml()?

我正在使用Html.fromHtml(STRING).toString()将可能有或没有html和/或html实体的字符串转换为纯文本字符串。 这很慢,我想我最后的计算是平均花费了大约22毫秒。 对于大批这些,它可以添加超过一分钟。 所以我正在寻找一个更快,性能更高的选项。 无论如何要加快速度还是有其他解码选择? 编辑:由于似乎没有更快或专为性能而构建的内置方法,我将奖励任何可以指向我的方向库的人: 适用于Android 许可免费使用 比Html.fromHtml(String).toString();更快Html.fromHtml(String).toString(); 作为一个注释,我已经用这个方法尝试了Jsoup: Jsoup.parse(String).text() ,它的速度较慢。

检查一个string是否是一个数字

我知道你可以通过执行Integer.parseInt("1234");来检查一个string是否是一个整数Integer.parseInt("1234"); 但是我想要做的就是将一个文本数字链接到一个整数。 即 “一”== 1 “两”== 2 “三”== 3 “二十”== 20 有什么图书馆可以用来做这个,还是我必须手工编程? 我想这样做的原因是我有一个语音识别的Android应用程序。 用户然后可以计数。 该号码显示在屏幕上。 编辑 经过一番尝试,我发现SpeechRecognizer类使用自动分析数字到实际的数字…

Android:避免在TextView中的断行string部分

我想避免在string的特定部分中断行。 比方说,我们有这个string: Speed (m/s) 理想情况是要么完全不跳,而要在一行中有完整的string,或者,如果需要跳转,则以这种方式: Speed (m/s) 我想避免的是这样的事情: Speed (m/ s) 有任何想法吗?

如何正确编辑阿拉伯文string?

<string name="message">هذا المجلد يحتويى على %1$s ملفات. الرجاء التأكد قبل الحذف. الملفات المحذوفة غير قابلة للإسترجاع.</string> 我想把“%1 $ s”放在阿拉伯语string中,但正如你在这里看到的那样,word,notepad ++,utraedit,都没有得到正确的string。 你们如何编辑阿拉伯文string?