0

スペイン語と英語の両方が表示されるようにアプリをローカライズしようとしています。1 つの例外を除いて、ほとんどのローカリゼーションを把握しました。ロケールを追加してアプリを翻訳できるように、res/raw フォルダーに移動したいアプリの質問をリストした .xml ファイルがあります。

(getResources().getString(R.string."") を使用して /res からほとんどの文字列を呼び出すことができたので、ほとんどの場合、これは簡単でした。ただし、現在の引数に対してこの呼び出しを行うのは困難です。

res/raw/"".xml に xml があります

私は現在アセットマネージャーを使用して、質問の.xmlを取得しています

 public static List<Question> readQuestions(AssetManager assetManager){

    ArrayList<Question> questionArrayList = new ArrayList<Question>();
    try{
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(assetManager.open("questions.xml"));
        doc.getDocumentElement().normalize();
        NodeList nodeLst = doc.getElementsByTagName("question");
        for(int s=0; s<nodeLst.getLength(); s++){

raw フォルダーを呼び出して .xml を取得する方法を知っている人はいますか?

編集:::

入力ストリームにコードを利用しようとしていますが、シンボル「コンテキスト」を解決できないというコンテキストでエラーが発生します

 public static List<Question> readQuestions(AssetManager assetManager){

    ArrayList<Question> questionArrayList = new ArrayList<Question>();
    try{
        InputStream in = context.getResources().openRawResource(R.raw.questions);
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();

        Document doc = builder.parse(in);


        NodeList nodeLst = doc.getElementsByTagName("question");
4

1 に答える 1

2

res / raw/questions.xmlのInputStreamを取得するには

InputStream in = context.getResources().openRawResource(R.raw.questions);

この回答は、コンテキストがあることを前提としています。AndroidでのContextの取得と使用に慣れていない場合は、時間をかけて実際に理解することを強くお勧めします。そうでなければ、Androidプログラミングで遠くまで行くことはありません。

StackOverflowには、すでにコンテキストについて説明している多くの回答があります。これがAndroidの「コンテキスト」とは何ですか

于 2012-12-04T19:22:32.770 に答える