Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android数据库存储与检索_Android_Database - Fatal编程技术网

Android数据库存储与检索

Android数据库存储与检索,android,database,Android,Database,嗨,我是Android的新手。有人能描述一下将图像存储到Android数据库并检索它的方法吗?看看本教程 您可以使用以下代码: 用于存储图像: Map<String, byte[]> hh = new HashMap<String, byte[]>(); String hi = "http://i.stack.imgur.com/TLjuP.jpg"; byte[] logoImagedata = getLogoImage(hi); hh.put("im

嗨,我是Android的新手。有人能描述一下将图像存储到Android数据库并检索它的方法吗?

看看本教程

您可以使用以下代码: 用于存储图像:

Map<String, byte[]> hh = new HashMap<String, byte[]>();

String hi = "http://i.stack.imgur.com/TLjuP.jpg";
byte[] logoImagedata = getLogoImage(hi);       

hh.put("img",logoImagedata);
和getLogoImage:

private byte[] getLogoImage(String url){
       try {
               URL imageUrl = new URL(url);
               URLConnection ucon = imageUrl.openConnection();

               InputStream is = ucon.getInputStream();
               BufferedInputStream bis = new BufferedInputStream(is);

               ByteArrayBuffer baf = new ByteArrayBuffer(500);
               int current = 0;
               while ((current = bis.read()) != -1) {
                       baf.append((byte) current);
               }

               return baf.toByteArray();
       } catch (Exception e) {
               Log.d("ImageManager", "Error: " + e.toString());
               return null;
       }

  }

我希望这对您有所帮助。

您不知道如何将图像保存到数据库中,这让您觉得很幸运。这是一种非常糟糕的做法。只需插入链接或文件路径即可。文件或任何二进制数据应很少存储在数据库中。它们应该由文件系统存储,文件的路径存储在数据库中。长话短说,关系/SQL数据库根本不能很好地处理这类数据,不仅在Android中这样做,而且在一般编程中这样做被认为是一种行业反实践。有人能描述一下。。。这不是一个教程网站,非常感谢你的帮助:如果这个答案对你有帮助并解决了你的问题,那么请接受其他人的答案。
private byte[] getLogoImage(String url){
       try {
               URL imageUrl = new URL(url);
               URLConnection ucon = imageUrl.openConnection();

               InputStream is = ucon.getInputStream();
               BufferedInputStream bis = new BufferedInputStream(is);

               ByteArrayBuffer baf = new ByteArrayBuffer(500);
               int current = 0;
               while ((current = bis.read()) != -1) {
                       baf.append((byte) current);
               }

               return baf.toByteArray();
       } catch (Exception e) {
               Log.d("ImageManager", "Error: " + e.toString());
               return null;
       }

  }