如何检索ProfilePictureView中的图片集并使用Android中的HashMap插入Sqlite数据库?

时间:2014-04-12 16:01:26

标签: android image sqlite

我已将ProfilePictureview设置为我的FB个人资料照片。我想要做的是从ProfilePictureView检索配置文件pic并将其插入Sqlite数据库。我的代码如下。请一步一步指导我。

 Request.executeMeRequestAsync(session,new Request.GraphUserCallback() {
          @Override
         public void onCompleted(GraphUser user, Response response) {
                    // TODO Auto-generated method stub
                    if(user!=null)
                    {
                    final String t1=user.getId();
                    final String t2=user.getName();
                    ProfilePictureView profilePictureView;
                    profilePictureView = (ProfilePictureView) findViewById(R.id.profilePic);
                    profilePictureView.setProfileId(user.getId());

                    int count=db.getme();
                    if(count==0)
                    {

                    map.put("uid",t1.toString());
                    map.put("name",t2.toString());
                    db.insertnewuser(map);
                    }
                    }
                }
            });

MyDatabase类:

  public void insertnewuser(HashMap<String, String> queryValues4) {
    SQLiteDatabase database = this.getWritableDatabase();

    ContentValues values4 = new ContentValues();

    values4.put("fbuserid", queryValues4.get("name"));
    values4.put("fbname", queryValues4.get("uid"));


     database.insert("me", null, values4);
     database.close();

}

1 个答案:

答案 0 :(得分:1)

我不确定我是否真的会帮助你,但这就是我所做的并遇到了一些问题。

有两种方法可以获取个人资料照片:

这一个:

profilePictureView = (ProfilePictureView) view.findViewById(R.id.selection_profile_pic);

ImageView fbImage = ((ImageView) profilePictureView.getChildAt(0));

Bitmap bitmap = ((BitmapDrawable) fbImage.getDrawable()).getBitmap();

这一个:

profilePictureView.setDrawingCacheEnabled(true); profilePictureView.setProfileId(user.getId());

Bitmap bitmap = profilePictureView.getDrawingCache();

要将位图添加到数据库,我在此处遵循了本教程:

http://sunil-android.blogspot.com.br/2013/10/insert-and-retrieve-image-into-db.html

但是,我得到的个人资料图片实际上是无用户登录图片,如下所示: (http://i.stack.imgur.com/EWlLu.jpg

我猜你必须等到从Facebook上检索图片才能尝试获取它。但是由于我正在使用newMeRequest回调方法,我不知道还能做什么。

毕竟你设法做到了吗?