2012-05-25 22 views
5

से आने वाले एंड्रॉइड में मैराथी टेक्स्ट कैसे दिखाएं मुझे अपने आवेदन में मराठी टेक्स्ट दिखाने की ज़रूरत है। वास्तव में मैं प्रक्रिया जानता हूँ। मैंने इस कोड का उपयोग किया है:webservice

Typeface font = Typeface.createFromAsset(getAssets(), "Marathi-Saras.TTF"); 
     userNameTxt.setTypeface(font); 
     userNameTxt.setText("Marathi"); 

लेकिन यह हार्डकोड और सीमित है। असल में मेरे webservice डेटा जो मैं दिखाना चाहता हूं उनमें कुछ मराठी और अंग्रेजी डेटा शामिल है। जब भी मातृ डेटा आता है तो यह मुझे केवल बक्से दिखाता है। यहाँ मेरी आउटपुट जो इस तरह दिखता है: output

किसी को भी क्या मैं इतना है कि मैं मराठी रूप में डेटा दिखा सकते हैं क्या करने की जरूरत चाहिए पता कर सकते हैं। XMLHandler वर्ग

package com.app.unipune.announcements.parserHandler; 

import org.xml.sax.Attributes; 
import org.xml.sax.SAXException; 
import org.xml.sax.helpers.DefaultHandler; 

import android.text.Html; 

public class AnnouncementHandler extends DefaultHandler { 
    public static ItemList itemList; 
    public boolean current = false; 
    public String currentValue = null; 

    @Override 
    public void startElement(String uri, String localName, String qName, 
      Attributes attributes) throws SAXException { 
     current = true; 
     if (localName.equals("channel")) { 
      itemList = new ItemList(); 
     } 
    } 

    @Override 
    public void endElement(String uri, String localName, String qName) 
      throws SAXException { 
     current = false; 
     if (localName.equals("title")) { 
      itemList.setTitle(currentValue); 
     } else if (localName.equals("author")) { 
      itemList.setLink(currentValue); 
     } else if (localName.equals("description")) { 
      itemList.setDescription(currentValue); 

     }else if(localName.equals("guid")) 
     { 
      itemList.setGuid(currentValue); 
      System.out.println(currentValue); 
     } 
    } 

    @Override 
    public void characters(char[] ch, int start, int length) 
      throws SAXException { 
     if (current) { 
      currentValue = new String(ch, start, length); 
      current = false; 
     } 
    } 

} 
यहाँ

मैं इसे उपयोग कर रहा हूँ:

package com.app.unipune.announcements; 

import java.net.URL; 
import java.util.ArrayList; 

import javax.xml.parsers.SAXParser; 
import javax.xml.parsers.SAXParserFactory; 

import org.xml.sax.InputSource; 
import org.xml.sax.XMLReader; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.ProgressDialog; 
import android.content.Context; 
import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.text.method.LinkMovementMethod; 
import android.widget.ListView; 

import com.app.unipune.announcements.parserHandler.Adapter; 
import com.app.unipune.announcements.parserHandler.AnnouncementHandler; 
import com.app.unipune.announcements.parserHandler.ItemList; 

public class Announcements extends Activity { 
    private ProgressDialog dialog; 
    ItemList itemList; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.descriptionlist); 
     if (isInternetOn() == true) { 
      dialog = ProgressDialog.show(this, "Loading", "Please Wait...", 
        true, false); 

      System.out.println("start call"); 
      Handler myHandler = new DoParsing(); 
      Message m = new Message(); 
      myHandler.sendMessageDelayed(m, 2000); 
      System.out.println("end Call"); 
     } else { 
      new AlertDialog.Builder(Announcements.this) 
        .setTitle("Error") 
        .setMessage(
          "Your device is not Connected to the Internet." 
            + "\n" 
            + "Please make connection to proceed ") 
        .setPositiveButton("OK", null).show(); 
     } 

    } 

    public final boolean isInternetOn() { 
     ConnectivityManager connec = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED 
       || connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) { 
      return true; 
     } else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) { 
      return false; 
     } 
     return false; 
    } 

    public class DoParsing extends Handler { 
     @Override 
     public void handleMessage(Message msg) { 
      try { 

       URL url = new URL(
         "http://uopnews.unipune.ac.in/_layouts/listfeed.aspx?List={E1D35B2C-88CA-40FF-A956-C01C44A45DC8}"); 
       System.out.println("URL= " + url); 
       SAXParserFactory saxPF = SAXParserFactory.newInstance(); 
       SAXParser saxP = saxPF.newSAXParser(); 
       XMLReader xmlR = saxP.getXMLReader(); 
       AnnouncementHandler handler = new AnnouncementHandler(); 
       xmlR.setContentHandler(handler); 
       xmlR.parse(new InputSource(url.openStream())); 

       itemList = new ItemList(); 
       itemList = AnnouncementHandler.itemList; 

       ArrayList<String> title = itemList.getTitle(); 
       System.out.println("title=" + title); 
       ArrayList<String> des = itemList.getDescription(); 
       ArrayList<String> link = itemList.getLink(); 

       Adapter adapter = new Adapter(Announcements.this, title, des,link); 

       ListView lview = (ListView) findViewById(R.id.searchList); 
       lview.setAdapter(adapter); 

       dialog.dismiss(); 
      } catch (Exception e) { 
      } 

     } 

    } 
} 
+0

जांच के लिए इस लिंक http://stackoverflow.com/a/10637645/1012284 –

+0

@Agarwal, मैं आपके साथ बात करने के लिए 20 reputaion की जरूरत :(मेरे पास सिर्फ 5 है क्योंकि मैं यहां नया हूं। – Neha

+0

@Neha: क्या आपने इस समस्या को हल करने का प्रबंधन किया था? यदि हां तो कृपया मुझे बताएं कि कैसे? – dd619

उत्तर

0

क्या यू वास्तव में क्या करने की जरूरत एक xml लिंक स्थापित करता है, बनाने है अग्रिम

यहाँ में धन्यवाद मेरे कोड है मराठी शब्द, और जेएसएल या सैक्स पार्सर का उपयोग करते हुए एक्सएमएल लिंक का विश्लेषण करें .. एक्सएमएल लिंक बनाने के लिए, आपको एक PHP डेवलपर के समर्थन की आवश्यकता है।

यदि आपको किसी भी मदद या समर्थन की ज़रूरत है, तो कृपया मुझसे संपर्क करें।

+0

कृपया इस लिंक पर जाएं: देखें-स्रोत: http: //uopnews.unipune। ac.in/_layouts/listfeed.aspx?List={E1D35B2C-88CA-40FF-A956-C01C44A45DC8} और इसका पृष्ठ स्रोत। मैं direc हूँ SAX पार्सर का उपयोग करके इसे पार्सिंग करें। क्या मुझे इस के लिए केवल दो अंग्रेजी और दूसरे के लिए दो अलग-अलग वेबसाइसेस बनाने की ज़रूरत है? – Neha

+0

नेहा, जो लिंक आपने मुझे अभी भेजा है, उसमें सामग्री को देखने में सक्षम नहीं हूं। जब मैं सामग्री देखने की कोशिश करता हूं, तो यह संदेश प्राप्त हो रहा है- "साइट पर वापस जाएं त्रुटि" आवश्यक क्वेरी स्ट्रिंग: सूची। विंडोज SharePoint सेवाओं के साथ समस्याओं का निवारण करें। – DeepakAndroid

+0

इस लिंक पर सीधे क्लिक न करें। इसे कॉपी करें और फिर इसे Google क्रोम – Neha

2
बजाय इस बात का

:

Typeface font = Typeface.createFromAsset(getAssets(), "Marathi-Saras.TTF"); 

लिखने

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Marathi-Saras.TTF"); 
+0

में पेस्ट करें, अपनी .ttf फ़ाइल को फोंट फ़ोल्डर में भी रखें, जिसे आपको संपत्ति फ़ोल्डर में बनाने की आवश्यकता है। –

+0

मुझे लगता है कि उपयोगकर्ता दो टाइपफेस का उपयोग करना चाहता है और एकल टीटीएफ नहीं। प्राप्त डेटा बोक्ज़ अंग्रेजी और मराठी के मिश्रण की तरह है। यह वास्तव में कैसे मदद करता है? –

+0

@ अग्रवाल, कृपया मेरा आउटपुट जांचें, आपको यह पता चल सकता है कि मैं वास्तव में – Neha

संबंधित मुद्दे