2013-10-02 29 views
1

问题已更改。我如何检测字符串中的语言类型?

我来自伊朗&我们的书面语言是波斯语;

我有一个短信计数器,计数键入的字符;

我想,当用户类型English字符(字符英文歌唱+ +数字),计数变量做++到Number: 160

但是,如果在所有的有岭Persian焦,计数变量做++到Number: 70

我该怎么做。

我弄错了这段代码:var ucs2 = text.search(/[^\x00-\x7D]/) in php return什么字符用户;波斯字符或英文。

Java中的等效代码 - 什么是Android?

private final TextWatcher TextWatcher_Method = new TextWatcher() 
    { 
    public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
     { 
      cnt2=matn_counter.length(); 

      TextView counter=(TextView)findViewById(R.id.txt_counter); 

      cnt1=(int) Math.ceil(cnt2/6); 
      Integer cnt3=(cnt2%6); 

      counter.setText(Integer.toString(cnt1)+"/"+Integer.toString(cnt3)); 

     } 
    } 
+0

http://stackoverflow.com/questions/3581730/can-we-send-sms-through-emulator-in-android –

+0

发送短信没有simcard? – njzk2

+0

是的 - 我可以做吗? – Saeid

回答

2

无法从仿真器发送 '真实' 的短信到设备,因为你没有SIM卡。

但是,如果您有多个运行,您可以将它从仿真器发送到仿真器。

要做到这一点,看看这个问题:Sending and receiving text using android emulator

+0

如果我想发短信给一个真正的设备有什么解决方案 - 我不能只是调制解调器? – Saeid

+0

@saeid如果您没有SIM卡,则无法将SMS发送到真实设备。没有SIM卡=没有蜂窝网络=没有短信。即使使用有SIM卡的GSM调制解调器,也可以使用 –

+0

! :( – Saeid

1

下面是关于如何发送短信一些有用的提示,拨打电话,等... http://www.apurbadebnath.com/blog/android-emulator-tips/

+0

thanx - 我看到了这个页面 - 但是无处可去!我也有问题! – Saeid

+0

试试这个,打开2个模拟器。使用模拟器标题栏中显示的数字从一个消息发送到另一个消息。将有5554和第二将有5556,尝试从第一发送到5556 –

+0

我知道它 - 但是,我wana发送真正的短信到一个真正的手机 – Saeid

0

答案:

其实你应该检查ASCII字符。

如果任何字符是出ASCII范围(0x0000 to 0x007F)消息变得70长度限制的。

否则你示意,如果所有的字符为ASCII(例如英文字母或数字)的消息长度的限制是160

的代码很简单:

public static boolean isASCIIMessage(String s) { 
for (int i = 0; i < Character.codePointCount(s, 0, s.length()); i++) { 
    int c = s.codePointAt(i); 
    if (c >= 0x0000 && c <=0x007F) 
     return false; 
} 
return true; 

无论如何,如果你想要检测波斯输入见this answer