2017-02-15 13 views
-1

안녕하세요 여러분, 저는 온라인 벽지 app을 만들고 있습니다. 사용자가 벽지 온라인에 액세스 할 수 있습니다 .i 두 버튼을 먼저 추가하려면 바탕 화면으로 설정하고 두 번째 버튼은 다운로드 버튼입니다. 나는 이것에 대해 감사 할 것입니다.배경 화면 버튼으로 세트를 추가하는 방법

공용 클래스 GalleryDetailActivity 모두의 ActionBarActivity {

public static final String EXTRA_IMAGE = "extra_image"; 


private ImageView mImageView; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_gallery_detail); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


    mImageView = (ImageView) findViewById(R.id.image); 

    if (getIntent() != null && getIntent().getExtras() != null) { 
     if (getIntent().getExtras().containsKey(EXTRA_IMAGE)) { 
      Picasso.with(this).load(getIntent().getExtras().getString(EXTRA_IMAGE)).into(mImageView); 
     } 

    } 
+0

지금까지 시도한 것을 보여줄 수 있습니까? – Forklift

+0

피카소와 json을 서버용 이미지 다운로드 용으로 사용합니다. –

답변

0

첫째을 확장, 당신은 당신이 그런 행동을 할 수있는 권한이 있는지 확인해야합니다. 매니페스트에 추가

<uses-permission android:name="android.permission.SET_WALLPAPER"/> 

일부 사이트 당신이 'doInBackground 스레드'를 사용할 수있는 호스팅 이미지를 다운로드하려면 아래의 제안 :

How to download and save an image in Android

에 의해 생성되는 배경 화면을 설정하는 버튼을 아래 코드 :

:

Button setWallpaper = (Button)findViewById(R.id.YOUR_BUTTON); 
ImageView imagePreview = (ImageView)findViewById(R.id.YOUR_PREVIEW); 
imagePreview.setImageResource(YOUR_IMAGE_RESOURCE); 

setWallpaper.setOnClickListener(new Button.OnClickListener(){ 
     @Override 
     public void onClick(View arg0) { 
      WallpaperManager myWallpaperManager 
      = WallpaperManager.getInstance(getApplicationContext()); 
      try { 
       myWallpaperManager.setResource(YOUR_IMAGE_RESOURCE); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
}}); 

YOUR_IMAGE 같은 로컬 리소스를 수

R.drawable.myImageFile 

대답의 링크에는 온라인 이미지를 다운로드하는 몇 가지 방법이 있습니다. 확인하고 먼저 로컬 이미지로 배경 화면을 설정하십시오.

File f = new File(Environment.getExternalStorageDirectory(), "yourfile.jpg"); 
String path = f.getAbsolutePath(); 
File jpg = new File(path); 

if(jpg.exists()) { 
    Bitmap bmp = BitmapFactory.decodeFile(path); 
    BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp); 
    WallpaperManager m=WallpaperManager.getInstance(this); 

    try { 
     m.setBitmap(bmp); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
+0

이미지에 무엇을 넣을지 _resource 내 소스는 온라인입니다. –

+0

더 많은 단서가 필요합니다. 이미지를 백그라운드로 다운로드 할 때 Picasso와 json을 사용하고 있습니다. 덕분에 –

+0

하시기 바랍니다, 로컬 파일을 사용해보십시오. 이를 수행하는 방법을 아는 편집 대답을 참조하십시오. 로컬 파일이 제대로 작동하면 제안 링크를 클릭하고 문제에 가장 적합한 답변을 선택하십시오. –