您好我试图从网站上获取图片,所以我尝试了不同的东西。 我建立了与页面的连接,并使用输入流获取所有信息,并使用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());
}
}
}