Как мы можем интегрировать CSS-файлы с представлением xslt в Android Studio? - PullRequest
0 голосов
/ 15 апреля 2019

Итак, я создаю проект с помощью android studio.

Вначале я создал представление XML, которое переводит нас в представление xslt.

Чтобы создать представление xslt, яЯ отсортировал данные в xml-файл, который я получил через xslt-файл, а затем добавил еще один css-файл для оформления страницы, проблема в том, что он не распознает css-файл и даже изображения, которые я определил в xmlвот такой файл:

<photo src="ci1.jpg"/> 

вот основной класс 2-го действия:

 public class LoadXSLTinWebview extends Activity {

 WebView webview;
 /** Called when the activity is first created. */
   @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    WebView webview = new WebView(this);
    setContentView(webview);
     webview.loadUrl("C:/Users/Admin/AndroidStudioProjects/Oranguide/app/src/main/assets/cin2.css");
    //Reading XSLT
    String strXSLT = GetStyleSheet(R.raw.cinemaxsl);
    //Reading XML
    String strXML = GetStyleSheet(R.raw.cinemaxml);
    /*
     * Loading XSLT...
     */
    //Transform ...
    String html=StaticTransform(strXSLT, strXML);
    //Loading the above transformed XSLT in to Webview...
    webview.loadData(html,"text/html","utf-8");
}

/*
 * Transform XSLT to HTML string
 */
public static String StaticTransform(String strXsl, String strXml) {
    String html = "";

    try {

        InputStream ds = null;
        ds = new ByteArrayInputStream(strXml.getBytes("UTF-8"));

        Source xmlSource = new StreamSource(ds);

        InputStream xs = new ByteArrayInputStream(strXsl.getBytes("UTF-8"));
        Source xsltSource = new StreamSource(xs);

        StringWriter writer = new StringWriter();
        Result result = new StreamResult(writer);
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer = tFactory.newTransformer(xsltSource);
        transformer.transform(xmlSource, result);

        html = writer.toString();

        ds.close();
        xs.close();

        xmlSource = null;
        xsltSource = null;

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (TransformerConfigurationException e) {
        e.printStackTrace();
    } catch (TransformerFactoryConfigurationError e) {
        e.printStackTrace();
    } catch (TransformerException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    return html;
}

/*
 * Read file from res/raw...
 */
private String GetStyleSheet(int fileId) {
    String strXsl = null;

    InputStream raw = getResources().openRawResource(fileId);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    int size = 0;
    // Read the entire resource into a local byte buffer.
    byte[] buffer = new byte[1024];
    try {
        while ((size = raw.read(buffer, 0, 1024)) >= 0) {
            outputStream.write(buffer, 0, size);
        }
        raw.close();

        strXsl = outputStream.toString();

        Log.v("Log", "xsl ==> " + strXsl);
    } catch (IOException e) {
        e.printStackTrace();
    }

    return strXsl;

}

}

А вот MainActivity:


public class MainActivity extends AppCompatActivity {

    Button btn;
    WebView Webview1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Cliquer();
            }
        });


    }

    public void Cliquer() {
        Intent intent = new Intent(this,LoadXSLTinWebview.class);
        startActivity(intent);
    }

}

И вот чтоон показывает на экране введите описание изображения здесь

Можете ли вы найти мне решение, чтобы оно могло распознавать файл CSS и изображения?

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...