Вы находитесь на странице: 1из 7

https://sofiananggawijaya.wordpress.

com/2014/01/31/langkah-membuat-aplikasi-kame
ra-sederhana-dengan-menggunakan-aplikasi-eclipse/
package com.camera100030146;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.WallpaperManager;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
/*
nama : Sofian Angga Wijaya
nim : 100030146
kls : a103
MK : mobile Teknology
*/

public class MainActivity extends Activity {


private Uri UrlGambar;
private ImageView SetImageView;
private static final int CAMERA = 1;
Uri imageUri = null;
//is FileInputStream;
private static final int FILE = 2;
String image_Currs =

int foto = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button home = (Button)findViewById(R.id.action_settings);
home.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
setwallpaper();
}
});
final String [] pilih = new String [] { Camera , SD Card };
ArrayAdapter<String> arr_adapter = new ArrayAdapter<String> (this, android.R.lay
out.select_dialog_item,pilih);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle( Pilih Gambar );
builder.setAdapter( arr_adapter, new DialogInterface.OnClickListener()
{
public void onClick( DialogInterface dialog, int pilihan )
{
if (pilihan == 0)
{
String random = String.valueOf(System.currentTimeMillis());

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);


File file = new File(Environment.getExternalStorageDirectory(),
DCIM/Camera/img_
image_Currs =

+ random +

.jpg );

img_ + random.toString() +

.jpg ;

foto++;
UrlGambar = Uri.fromFile(file);
try {
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, UrlGambar);
intent.putExtra( return-data , true);
startActivityForResult(intent, CAMERA);
} catch (Exception e) {
e.printStackTrace();
}
dialog.cancel();
}
else if(pilihan == 1)
{
Intent intent = new Intent();
intent.setType( image/* );
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,

Pilih Aplikasi ), FILE);

}
}
} );
final AlertDialog dialog = builder.create();
SetImageView = (ImageView) findViewById(R.id.action_settings);
Button tmb_pilih = (Button) findViewById(R.id.action_settings);
tmb_pilih.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.show();

}
});
}
public void setaswp(){
String FileName;
File file = new File(Environment.getExternalStorageDirectory() ,

DCIM/Camera/ );

File[] imageFiles = file.listFiles( );


if(imageFiles.length > 0 ) {
FileName = imageFiles[0].getName();
final WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseCo
ntext());
Bitmap myBitmap = BitmapFactory.decodeFile( /sdcard/DCIM/Camera/
DisplayMetrics displayMetrics = new DisplayMetrics();

+ FileName);

getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels << 1;
myBitmap = Bitmap.createScaledBitmap(myBitmap,width, height, true);
try {
wallpaperManager.setBitmap( myBitmap);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void setwallpaper(){
String Filename;
File file = new File(Environment.getExternalStorageDirectory(),
DCIM/Camera/ );
File[] imageFiles = file.listFiles( );
if(foto > 0){

Filename = image_Currs;
}
else{
Filename = imageFiles[imageFiles.length

1].getName();

}
File files = new File(Environment.getExternalStorageDirectory(),
DCIM/Camera/

+ Filename);

FileInputStream is;
try {
is = new FileInputStream(files);
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels << 1;
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bitmap = BitmapFactory.decodeStream(bis);
Bitmap useThisBitmap = Bitmap.createScaledBitmap(
bitmap, width , height, true);
bitmap.recycle();
if(file!=null){
System.out.println( Hi I am try to open Bit map );
final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
// wallpaperManager = WallpaperManager.getInstance(this);
// wallpaperDrawable = wallpaperManager.getDrawable();
wallpaperManager.setBitmap(useThisBitmap);
}
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block

e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private boolean equal(String image_Currs2, String string) {
// TODO Auto-generated method stub
return false;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) return;
Bitmap bitmap = null;
String path =

if (requestCode == FILE)
{
UrlGambar = data.getData();
path = getRealPath(UrlGambar);
if (path == null)
{
path = UrlGambar.getPath();
}
else
{
bitmap = BitmapFactory.decodeFile(path);
}
}
else
{

path = UrlGambar.getPath();
bitmap = BitmapFactory.decodeFile(path);
}
Toast.makeText(this, path,Toast.LENGTH_LONG).show();
SetImageView.setImageBitmap(bitmap);
}
public String getRealPath(Uri contentUri)
{
String path = null;
String[] images_data = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(contentUri, images_data, null, null,
null);
if(cursor.moveToFirst())
{
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
path = cursor.getString(column_index);
}
cursor.close();
return path;
}
}

Вам также может понравиться