Попытка поместить фотографию, которую я делаю с моей камерой, в галерею моего приложения, чтобы просмотреть ее - PullRequest
0 голосов
/ 15 ноября 2018

У меня проблемы с выяснением, как сделать снимок, который делает моя камера, и отображением его в галерее в моем приложении. В своей основной деятельности я использую: открытый класс MainActivity расширяет AppCompatActivity {

@SuppressLint("WrongViewCast")
@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ImageButton Camera;
    Camera= findViewById(R.id.CameraID);
    Camera.setOnClickListener(new View.OnClickListener() {


        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent Intent3=new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
            startActivity(Intent3);
        }
    });

}

Это запускает камеру. После съемки изображение сохраняется на SD-карте в моем телефоне.

У меня есть класс галереи с массивом изображений. Здесь я пытаюсь показать картинки. Я понимаю, что использовать формат R.id.name не имеет смысла, так как эти изображения не находятся в моей папке для рисования, но мне нужно было заполнить их чем-то, чтобы я мог протестировать страницу Gallery.Layout.xml. Мой класс галереи выглядит следующим образом: Галерея открытого класса расширяет AppCompatActivity { private Integer [] images = {R.drawable.fish1, R.drawable.fish2, R.drawable.fish3, R.drawable.fish4, R.drawable.fish5, R.drawable.fish6, R.drawable.fish7, R.drawable.fish8}; частный ImageView ImageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gallary);
    Intent intent = getIntent();

    android.widget.Gallery imgGallery = (android.widget.Gallery) findViewById(R.id.gallery);

    imgGallery.setAdapter(new ImageAdapter(this));
    imageview = (ImageView) findViewById(R.id.imageView);
    imgGallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            Toast.makeText(getApplicationContext(), "Image " + arg2,Toast.LENGTH_SHORT).show();
            imageview.setImageResource(images[arg2]);
        }
    });
}



public class ImageAdapter extends BaseAdapter {
    private Context context;
    int imageBackground;

    public ImageAdapter(Context context) {

        this.context = context;
    }

    @Override
    public int getCount() {

        return images.length;
    }

    @Override
    public Object getItem(int arg0) {

        return arg0;
    }

    @Override
    public long getItemId(int arg0) {

        return arg0;
    }

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {

        ImageView imageView = new ImageView(context);
        imageView.setImageResource(images[arg0]);
        return imageView;
    }
}

}

...