我是Android新手。我想创建一个jar文件,如果我在另一个Android应用程序中调用该jar文件的方法,它将在应用程序的imageview中显示一个图像。例如
jar文件中的方法DisplayImg(URL);
我将在另一个应用程序中使用此jar作为库,在这里我将创建一个imageview
ImageView imageView;
imageView = (ImageView) findViewById(R.id.img);
然后,如果我拨打imageView.DisplayImg(URL);
,它将在imageview上显示指定的网址图片。我花了很多时间来获得解决方案而不是work.plz帮助代码谢谢
答案 0 :(得分:2)
您不需要创建库,事实上,有一个相同的库可用于完全您想要的内容!
它被称为Picasso
。你可以找到它here。
另请注意,如果您需要imageView.DisplayImage(URL);
,则应创建ImageView
类的新实例,因为它不包含此方法。我建议使用DisplayImage(URL, imageView);
。
但如果您真的想要这样做,请点击此处:
1-要创建库,请创建New Android Application Project
,然后在第二个窗口中选中Mark this project as a library
选项。另请注意,我们不需要Activity
。
2-在新创建的项目中创建一个新类,例如ImageUtils.java
。在这里,您需要放置DisplayImage()
方法:
public static void DisplayImage(String URL, ImageView imageView) {
new DownloadImageTask(imageView).execute(URL);
}
这适用于DownloadImageTask
类:
public static class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView imageView;
public DownloadImageTask(ImageView bmImage) {
this.imageView = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap imageBitmap = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
imageBitmap = BitmapFactory.decodeStream(in);
} catch (IOException e) {
// Probably there's no Internet connection. Warn the user about checking his/her connection.
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return imageBitmap;
}
protected void onPostExecute(Bitmap result) {
if (imageView != null) imageView.setImageBitmap(result);
}
}
3-将您的项目作为Android应用程序执行。
4- jar
文件夹下应该有bin
个文件。这是你的图书馆。将其导入您的其他应用程序并使用它。在该应用程序中,您可以将其与此代码一起使用:
ImageView imageView = (ImageView) findViewById(R.id.img);
ImageUtils.DisplayImage(URL, imageView);
5-不要忘记将此权限添加到使用此库的应用程序:
<uses-permission android:name="android.permission.INTERNET" />
希望有所帮助:)