我正在使用此API进行XML分析 “http://cinema.dinamalar.com/rss.php”将tamil新闻列入清单,但它不起作用..请帮助我..这是我的代码..
public class MainActivity extends Activity {
TextView tv1,tv2,tv3;
String URL = "http://cinema.dinamalar.com/rss.php";
// XML node keys
String KEY_ITEM = "item"; // parent node
String KEY_TITLE = "title";
String KEY_LINK = "link";
String KEY_DESC = "description";
String KEY_DATE = "pubDate";
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.textView1);
tv2 = (TextView) findViewById(R.id.textView2);
tv3 = (TextView) findViewById(R.id.textView3);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
//p.getElementsByTagName('Category')[0].firstChild.wholeText
tv1.setText(parser.getValue((Element) doc.getElementsByTagName(KEY_ITEM).item(0),KEY_TITLE).toString());
tv2.setText(parser.getValue((Element) doc.getElementsByTagName(KEY_ITEM).item(0),KEY_AUTHOR).toString());
tv3.setText(parser.getValue((Element) doc.getElementsByTagName(KEY_ITEM).item(0),KEY_LINK).toString());
Toast.makeText(this,parser.getValue((Element) doc.getElementsByTagName(KEY_ITEM).item(0),KEY_LINK),Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
首先,您必须了解,直到ICS(4.0)为止,Android OS(除少数三星和SE手机外)均不支持泰米尔语。即使那样,它仍然存在错误,并且Jelly Bean(4.2)提供了全面的支持。
仅当您在应用中使用Unicode Tamil字体时,您才会看到框。原因是系统中没有泰米尔语字体。
此解决方案可以解决。您所要做的就是下载Bamini字体并将其放置在资产文件夹中。然后使用字体Bamini创建TypeFace,并将其设置为TextView。
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf");
customText1.setTypeface(font1);
现在使用转换器将Unicode字体转换为Bamini编码。代替Unicode文本,将转换后的Bamini编码脚本提供给setText方法。
如果您讨厌所有这些手动编码转换,请查看此库
正如我在上一行中所述,如果您想在运行应用程序时动态更改编码,请考虑使用我为Android编写的库。该库将帮助您将Unicode字符串转换为Bamini,TSCII,TAB,TAM和Anjal。
设置非常简单。您所要做的只是将库导入到Android项目中,然后按如下所示调用该库。
// Initialise the Typeface (assumes TSCII, Bamini, Anjal, TAB or TAM font located inside assets/fonts folder)
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/mylai.ttf");
// Initialises the TextView
TextView tv = (TextView)findViewById(R.id.textView1);
//Setting the Typeface
tv.setTypeface(tf);
//Magic happens here ;) encoding conversion
String TSCIIString = TamilUtil.convertToTamil(TamilUtil.TSCII, "வணக்கம் அன்ரொயிட்");
//Setting the new string to TextView
tv.setText(TSCIIString);
随库一起提供了一个示例应用程序。查看有关如何利用该库将Unicode字符串转换为Bamini,TAB,TAM,TSCII和Anjal的应用程序。
您需要利用Android中可用的TypeFace类。您可以使用Bamini或TSCII编码(Mylai是TSCII字体)。