5

アプリケーションでマラーティー語のテキストを表示する必要があります。実際、私は手順を知っています。私はこのコードを使用しました:

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

しかし、これはハードコーディングされており、制限されています。実際、表示したいWebサービスデータには、マラーティー語と英語のデータが含まれています。マラーティーデータが来るたびに、ボックスだけが表示されます。ここで私の出力は次のようになります: 出力

マラーティー語形式でデータを表示できるようにするには、何をする必要があるか誰でも知っていますか? 前もって感謝します

ここに私のコードがあります: 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) {
            }

        }

    }
}
4

2 に答える 2

2

これの代わりに:

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

書きます

 Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Marathi-Saras.TTF");
于 2012-05-25T07:24:45.717 に答える
0

実際に必要なのは、マラーティー語を含む xml リンクを作成し、json または sax パーサーを使用してその xml リンクを解析することです.xml リンクを作成するには、php 開発者のサポートが必要です。

ヘルプやサポートが必要な場合は、私に連絡してください。

于 2012-05-25T07:16:36.577 に答える