Sök…


Introduktion

Detta ämne koncentrerar sig huvudsakligen på att ladda bitmapparna effektivt i Android-enheter.

När det gäller att ladda en bitmapp kommer frågan var den laddas från. Här kommer vi att diskutera hur du laddar Bitmap från Resource med i Android-enheten. dvs. t.ex. från Galleri.

Vi kommer att gå igenom detta genom exempel som diskuteras nedan.

Syntax

  • <uses-permission> -> Tagg som används för tillståndet.
  • android:name -> Ett attribut som används för att ge namn för tillståndet vi kommer att begära.
  • android.permission.READ_EXTERNAL_STORAGE -> Det är systembehörigheter
  • exempel "android.permission.CAMERA" eller "android.permission.READ_CONTACTS"

Ladda bilden från resurs från Android-enhet. Använda avsikter.

Använda avsikter för att ladda bilden från galleriet.

  1. Till att börja med måste du ha tillstånd
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  1. Använd följande kod för att ha utformningen enligt följande.

Layout Visual

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="androidexamples.idevroids.loadimagefrmgallery.MainActivity">

    <ImageView
        android:id="@+id/imgView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@color/abc_search_url_text_normal"></ImageView>

    <Button
        android:id="@+id/buttonLoadPicture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:text="Load Picture"
        android:layout_gravity="bottom|center"></Button>

</LinearLayout>
  1. Använd följande kod för att visa bilden med knappen Klicka.

Knapp Klicka kommer att vara

Button loadImg = (Button) this.findViewById(R.id.buttonLoadPicture);
loadImg.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult(i, RESULT_LOAD_IMAGE);
    }
});
  1. När du klickat på knappen öppnar det galleriet med hjälp av avsikt.

Du måste välja bild och skicka tillbaka den till huvudaktiviteten. Här kan vi göra det med hjälp av onActivityResult.

protected void onActivityResult(int requestCode, int resultCode, Intent data)  {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };

        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();

        ImageView imageView = (ImageView) findViewById(R.id.imgView);
        imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow