标签: android-gallery

如何从内置图库中检索picasa照片?

我想从内置的Android图库中检索调用ACTION_PICKIntent 的照片.我对Picasa的图片有疑问.我已将代码用于此链接,但它不起作用(File对象不存在).请问任何想法.

android android-intent android-gallery

7
推荐指数
2
解决办法
3472
查看次数

使用GalleryView选择多个图像

我只是想知道Android是否内置了代码,以便我可以在库视图中选择多个图像,然后将这些图像作为文件名导出到字符串数组中(例如/sdcard/~f1.jpg,/sdcard/~f2. JPG格式,...).

再次感谢任何帮助!只是为了让你们知道,我正在使用的画廊工作正常(对于一个图像) - 因为它正确导出文件名.只需要知道是否有一种简单的方法来选择倍数并导出它们.再次感谢!

user-interface android android-gallery

6
推荐指数
1
解决办法
2万
查看次数

拖放Android图库图片

我正在开发一个允许用户从Gallery小部件订购商品的应用程序.用户必须能够从"图库"窗口小部件中选择订单.订单应在图库中显示为图像,用户必须能够拖动图像并将其放置在订单按钮上.

我被拖放部分困住了.如何使用Android中的Gallery小部件拖放图像?

android drag-and-drop android-gallery

6
推荐指数
1
解决办法
1783
查看次数

自动滚动图库小部件

我需要实现一个一次滚动一个项目的画廊,它可以进行'自动滚动':即每隔几秒,它会自动滚动到下一个项目.

根据这个主题:Android:以编程方式在Gallery小部件中的图像之间设置动画,我扩展了Gallery,覆盖onFling以忽略fling事件,而是向左或向右模拟DPAD箭头,以便一次移动单个项目:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
          int kEvent;
          if(isScrollingLeft(e1, e2)){ //Check if scrolling left
            kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
          }
          else{ //Otherwise scrolling right
            kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
          }
          onKeyDown(kEvent, null);

          return true; 
    }
Run Code Online (Sandbox Code Playgroud)

这很好用.对于自动滚动,我创建一个处理程序并postDelayed runnable以相同的方式模拟相同的DPAD键按下:

handler.postDelayed(new Runnable() {
    public void run() { 
        onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);
    }
}, AUTO_SCROLL_INTERVAL);
Run Code Online (Sandbox Code Playgroud)

但这没有做任何事!!

我知道runnable以正确的间隔按预期执行,因为我记录并确认了这一点,但是onKeyDown不会导致库滚动或切换项目.为什么这种方法适用于一种方法而不是另一种方法 我试着打电话给我的onFling,但无济于事.也尝试了dispatchKeyEvent,但没有运气.

我真的需要这样做,但我也真的想要理解为什么相同的代码不能在两个不同的地方产生相同的结果......这是否与Android视图处理输入事件的方式有关?我查看了图库代码的线索,但一无所获!好像它应该有效.

拜托,我很难过......任何想法?

谢谢

android android-widget android-gallery

6
推荐指数
1
解决办法
5200
查看次数

如何在android中删除已删除图像的缩略图?

我在hashset中有图像链接.从那以后,我下载了图片.在我从该URL创建位图后,我扫描文件将其放入库中,以便我可以在库中看到它.我使用以下代码.

MediaScannerConnection.scanFile(obContext, new String[] { f.getAbsolutePath() }, null, null);
Run Code Online (Sandbox Code Playgroud)

要仅查看我的自定义库中的特定图像,我使用以下代码

Cursor imagecursor=managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            columns, 
                MediaStore.Images.Media.DATA + " like ? ",
                new String[] {"%myDesiredDirectory%"},  
                null);
Run Code Online (Sandbox Code Playgroud)

所以它是在向我展示画廊之前扫描myDesiredDirectory.扫描后,画廊有我的图像.

但现在我有两个问题:

  1. 扫描时,它会为新下载的图像创建缩略图.这些缩略图在图库中也可见.因此相同的图片可见两次.这是不希望的.

  2. 在我的应用程序运行的下一次迭代中,我想只显示新的图像集.为了实现这一点,我决定删除从第一次迭代下载的图像.

我使用以下代码删除该目录中的所有文件

if(dirChk==true){
                        File dir = new File(Path);
                        String[] children = dir.list();
                        String[] pathsOfDeletedThumbs=new String[children.length];
                        Log.d(LOGGER, "dir contains "+children.length);
                        for (int i = 0; i < children.length; i++) {
                            String temp = Path+children[i]; 
                            Log.d(LOGGER, "temp is "+temp);


                           new File(dir, children[i]).delete();
                        }
Run Code Online (Sandbox Code Playgroud)

但是那些自动创建的缩略图仍然存在于图库中.

任何人都可以帮我避免创建缩略图,如果不可避免,我们删除原始文件时也可以删除缩略图吗?

提前致谢...

android android-gallery

6
推荐指数
0
解决办法
1721
查看次数

从画廊视图中选择多个图像

我想创建一个图库视图,我想在其中使用橙色矩形框选择多个图像.

它应该类似于以下内容:

画廊视图

屏幕看起来像http://i.imgur.com/qAO0Q.jpg

android android-gallery custom-adapter

6
推荐指数
2
解决办法
1347
查看次数

ClassCastException:AbsListView $ LayoutParams无法强制转换为Gallery $ LayoutParams

我正在尝试开发Android 3.1平板电脑应用程序.

这个应用程序将有很多图像,我已经按照UI线程教程中的处理位图,但我做错了,因为我得到:

java.lang.ClassCastException:android.widget.AbsListView $ LayoutParams无法强制转换为android.widget.Gallery $ LayoutParams

这是我的代码:

我在一个Activity上设置了Gallery

mFactGallery = (Gallery)mView.findViewById(R.id.factGallery);
mFactGallery.setAdapter(new ImageGalleryAdapter(mActivity, ImageView.ScaleType.FIT_END, 180, 90));
Run Code Online (Sandbox Code Playgroud)

ImageGalleryAdapter.java

public class ImageGalleryAdapter extends BaseAdapter
{
    private ArrayList<String> mImagesPath;
    private Context mContext;
    private int mWidth;
    private int mHeight;

    public ArrayList<String> getmImagesPath()
    {
        return mImagesPath;
    }

    public void setmImagesPath(ArrayList<String> mImagesPath)
    {
        this.mImagesPath = mImagesPath;
    }

    public void addImage(String imagePath)
    {
        mImagesPath.add(imagePath);
    }

    public ImageGalleryAdapter(Context context, ImageView.ScaleType scaleType, int width, int height)
    {
        mContext = context;
        mWidth = …
Run Code Online (Sandbox Code Playgroud)

android android-gallery android-asynctask

6
推荐指数
2
解决办法
1万
查看次数

什么是MINI_THUMB_MAGIC以及如何使用它?

背景

我注意到MediaStore.Images.ImageColumns的一个奇怪的列叫做" MINI_THUMB_MAGIC ".

文档说的只是:

迷你拇指id.

类型:INTEGER

常数值:"mini_thumb_magic"

这个问题

我的猜测是这个字段与MediaStore.Images.Thumbnails有关.

这是对的吗 ?如果没有,这是什么以及如何使用它?

如果它是正确的,我还有其他相关的问题:

  1. 它是原始图像的迷你尺寸图像吗?它使用相同的宽高比还是对它进行中心裁剪?

  2. 为什么"MICRO"的大小是方形(96 x 96),"MINI"的大小是非方形矩形(512 x 384)?

  3. 你如何使用它?我的猜测是,它是通过使用"做THUMB_DATA ",这是一个blob,所以你使用它像这样,但是那又有什么用"的宗旨getThumbnail "如果你已经有了这个领域?

  4. 如果方向值不为0,它会获得旋转的缩略图吗?意思是如果我想展示它,我不需要旋转图像?

  5. 是否可以与缩略图一起查询图像?也许使用内连接?

  6. 它适用于所有Android设备和版本吗?

  7. 为什么它甚至被称为"魔术"?是因为它也适用于视频(由于某种原因,音乐不存在,例如,它可能是专辑的封面照片)?

sql android mediastore android-contentresolver android-gallery

6
推荐指数
1
解决办法
1401
查看次数

通过编程获取从图库中选择的图像大小(以kb或mb为单位)

我正在从图库中选择图像,我想以编程方式确定图像的大小(kb或mb)。这是我写的:

public String calculateFileSize(Uri filepath)
{
    //String filepathstr=filepath.toString();
    File file = new File(filepath.getPath());

    // Get length of file in bytes
    long fileSizeInBytes = file.length();
    // Convert the bytes to Kilobytes (1 KB = 1024 Bytes)
    long fileSizeInKB = fileSizeInBytes / 1024;
    // Convert the KB to MegaBytes (1 MB = 1024 KBytes)
    long fileSizeInMB = fileSizeInKB / 1024;

    String calString=Long.toString(fileSizeInMB);
    return calString;
}
Run Code Online (Sandbox Code Playgroud)

从图库中选择图像的uri来的很完美。但是值fileSizeInBytes是零。从图库中onActivityResult选择图像后,我在调用此方法。之前我在这里看到了几个相同的问题。但是没有一个对我有用。有什么办法吗?

android uri file filesize android-gallery

6
推荐指数
1
解决办法
9770
查看次数

捕获的图像未显示在库中,但已成功存储在SD卡中

我是android开发新手,我正在做小应用程序来捕获USB Camrea图像UVCCamera.

我已经使用UVCCamera这样的SD卡捕获图像并存储在SD卡中

File filepath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "IMG_"+getDateTime() + ".jpg");
mCameraClient.captureStill(filepath.toString()); 
Run Code Online (Sandbox Code Playgroud)

这里mCameraClient将使用UVC Camera进行处理并捕获图像并存储在该路径中,它将回调方法onCaptureDone

@Override
        public void onCaptureDone(final String path) {
            // TODO Auto-generated method stub
            Log.e(TAG, "onCaptureDone  called");
            getActivity().runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    //Toast -- Images Saved.
                }
            });
        }
    };
Run Code Online (Sandbox Code Playgroud)

然后我从图像按钮调用图库 onClickListener

    private MediaScannerConnection conn;

File folder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM));
    File[] mImagefile = folder.listFiles(new FilenameFilter() {
                    public boolean accept(File dir, String filename) {

                            return filename.endsWith(".jpg");
                    } …
Run Code Online (Sandbox Code Playgroud)

android image android-gallery android-mediascanner

6
推荐指数
1
解决办法
2847
查看次数