更新用户的个人资料图片

时间:2013-04-20 19:05:56

标签: android sqlite caching image-loading

我正在创建一个应用程序,我使用ImageLoading Framework从服务器下载图像将URL放入缓存...现在我想要用户的配置文件图片更新但是甚至在更新了服务器上的配置文件图片之后不在应用程序中显示。应用程序显示用户的旧配置文件。为什么会出现这个问题,我该如何排除故障?请尽快帮助。如果这对我有用,也请发布链接..

提前致谢!!!

更新onclick的代码:

update_profile_pic.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        v.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP);
        String value_for_test="delete";
        Toast.makeText(getBaseContext(), "it works", Toast.LENGTH_SHORT).show();
        Intent i=new Intent(getApplicationContext(),ProfilePictureCaptureHomeActivity.class);
        i.putExtra("image",value_for_test);
        startActivity(i);

Profile Pic CaptureHome

DBAdapter db = new DBAdapter(getApplicationContext()); 
db.open();
if (null == phoneNumber) 
{ 
    Cursor c = db.getUserInfo();
    phoneNumber = c.getString(0);
    imageUrl = c.getString(1);

    System.out.println("the imageUrl is"+imageUrl);
    c.close(); 
}
setContentView(R.layout.profilepic_capture); 
if (null == imageUrl) 
{ 
    Cursor imageUrlObj = db.getUserInfo();
    imageUrl = imageUrlObj.getString(1);
    System.out.println("the imageurl is"+imageUrl);

    imageUrlObj.close(); 
}
db.close();

用于更新个人资料图片:

if(image!=null){
    Toast.makeText(getApplicationContext(), "Redirected", Toast.LENGTH_LONG).show();
    imageUrl=null;   
}
if(imageUrl != null)
{
    Intent uploadimg = new Intent(ProfilePictureCaptureHomeActivity.this,ListeningAndSharingHomeActivity.class);
    uploadimg.putExtra("phoneNumber", phoneNumber);
    startActivity(uploadimg);
}
else
{
    Log.v("ProfilePictureCaptureHomeActivity", "Staying Here");
}

_gallerybutton = (ImageButton) findViewById(R.id.btn_gallery);
_photobutton = (ImageButton) findViewById(R.id.btn_photo); 
System.out.println("here in popup phoneeeeee" + phoneNumber); 
System.out.println("here in flag************" + firstUpload);

_gallerybutton.setOnClickListener(new OnClickListener() { 
    @Override
    public void onClick(View v) {
        v.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP);
        System.out.println("here in galleryyyyyyyyyy");
        Intent uploadimg = new Intent(ProfilePictureCaptureHomeActivity.this,ProfilePicFromGallery.class);
        uploadimg.putExtra("phoneNumber", phoneNumber); 
        startActivity(uploadimg);
    }
});

_photobutton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        v.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP);
        System.out.println("here in take piccccc");
        Intent capIntent = new Intent(ProfilePictureCaptureHomeActivity.this,ProfilePicFromCamera.class);
        startActivity(capIntent);
    }
});

1 个答案:

答案 0 :(得分:0)

看看这段代码。

private  String deleteExistingFile(String url , Context context) 
{


    String SaveFolderName = context.getFilesDir().getAbsolutePath()  + "/yourinternalmemoryfolder"; 

    String  str_randomnumber= url.substring(url.lastIndexOf("/") + 1);
    File wallpaperDirectory = new File(SaveFolderName);
        if (!wallpaperDirectory.exists())
        wallpaperDirectory.mkdirs();                
    String  Photo_ImagePath=SaveFolderName+"/" + str_randomnumber ;                 


    String result = "";
    System.out.println("file path to be deleted " + Photo_ImagePath);

         File f = new File(Photo_ImagePath);
          if (f.exists())
          {
              System.out.println(" EEEEEEEEEEXXXXXXXXIIIIISSSSSSSTTTTTTT ");
          try {
            if(f.delete() == true){
                result = "Success";
            }else{
                result = "Failure";
            }

          }

          catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();

            return "Error";
        }

          }

          System.out.println("deleting existing file " + result);
        return result;

}