从网站

时间:2017-11-22 18:31:45

标签: java android svg web

您好我试图从网站上获取图片,所以我尝试了不同的东西。 我建立了与页面的连接,并使用输入流获取所有信息,并使用SVG库将该代码转换为ImageView。 我希望你能告诉我怎么做,因为我会非常感激。 我尝试获取图片的页面是:http://cube.crider.co.uk/visualcube.php?fmt=svg&size=200&alg=S2M2E2 我不会复制svg代码,因为它很大。但如果按f12,你会发现。

我还在Eclipse中创建了一个outputStream,它有一个图像副本并将其保存在我的电脑上...当我这样做时,如果我在资源管理器上打开它,我可以看到图像但是在手机中我没有'我知道怎么做。 谢谢你的帮助。

以下是我的课程:

public class MainActivity extends Activity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    imageView = findViewById(R.id.cubo);
    new AsynchTaskTest().execute();

}

内心课

private class AsynchTaskTest extends AsyncTask<Void,Void,String>
{
    @Override
    protected String doInBackground(Void... params) {

        String path = "http://cube.crider.co.uk/visualcube.php?fmt=svg&size=200&pzl=7&cc=grey&r=z-15x-105&sch=yyyyyy&fc=ynyyynynnnynnnyyyyyyyyynnnyynyynyynnnyyynnynnnnny";

        HttpURLConnection urlConnection = null;
        BufferedReader reader=null;

        try{
            URL url = new URL(path);

            urlConnection = (HttpURLConnection)url.openConnection();

            urlConnection.connect();

            InputStream inputStream = urlConnection.getInputStream();

            reader = new BufferedReader(new InputStreamReader(inputStream));
            StringBuffer buffer = new StringBuffer();
            String line = "";

            while((line = reader.readLine()) !=null) {
                buffer.append(line+"\n");

            }

            return buffer.toString();

        }
        catch (Exception e)
        {
            e.printStackTrace();
            return "exception";
        }
    }

    @Override
    protected void onPostExecute(String aVoid) {
        super.onPostExecute(aVoid);

        SVG svg = SVGParser.getSVGFromString(aVoid);
        imageView.setImageDrawable(svg.createPictureDrawable());

    }
}

}

0 个答案:

没有答案