如何在Android中使用jar文件显示图像?

时间:2014-07-24 09:32:35

标签: java android eclipse jar android-library

我是Android新手。我想创建一个jar文件,如果我在另一个Android应用程序中调用该jar文件的方法,它将在应用程序的imageview中显示一个图像。例如  jar文件中的方法DisplayImg(URL);我将在另一个应用程序中使用此jar作为库,在这里我将创建一个imageview

ImageView imageView;
imageView = (ImageView) findViewById(R.id.img);

然后,如果我拨打imageView.DisplayImg(URL);,它将在imageview上显示指定的网址图片。我花了很多时间来获得解决方案而不是work.plz帮助代码谢谢

1 个答案:

答案 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" />

希望有所帮助:)