2013-01-21 13 views
8

moje pytanie brzmi: jak stworzyć imageButton, który pozwala użytkownikowi przesłać obraz z telefonu i wstawić go do aplikacji jako profil obrazu? jak WhatsApp na przykład pozwala użytkownikowi wybrać obraz z telefonu i ustawić go jako profil obrazu.pozwalają użytkownikowi wstawić obraz w aplikacji Android

Dzięki

+0

jeśli moja odpowiedź pomóc następnie zaakceptować odpowiedź – Janmejoy

Odpowiedz

7

Tutaj są następujące linki ..

create image button

przesyłanie obrazu

example 1

example 2

example 3

+0

Dzięki za linki. udało mi się uruchomić kody w podanych przykładach. Co się stanie, jeśli aplikacja wymaga od użytkownika zapisania się do konta, a użytkownik musi wstawić obraz jako zdjęcie profilowe, aby po zalogowaniu użytkownika na jego konto użytkownik mógł zobaczyć zdjęcie profilowe. Jak to zrobić? Podobnie jak WhatsApp; w jaki sposób przechowują zdjęcia przesłane przez użytkownika do profilu? – Mack

+0

@Make masz na myśli przesłać zdjęcia, które można zrobić na kilka sposobów, takich jak parsowanie z Facebook lub Twitter lub z galerii – Janmejoy

+0

Mam aplikację, która poprosić użytkownika o wstawienie obrazu do profilu. moje pytanie brzmi: gdzie mam przechowywać zdjęcie użytkownika? MySQL DB, Sqlite DB, pamięć wewnętrzna lub pamięć zewnętrzna? – Mack

0

MY XML FILE

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

<ImageView 
    android:id="@android:id/icon" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:onClick="selectImage" 
    /> 

mój plik

public class Test extends AppCompatActivity { 
private static final int SELECT_PICTURE = 0; 
private ImageView imageView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_test); 
    imageView = (ImageView) findViewById(android.R.id.icon); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     Bitmap bitmap = getPath(data.getData()); 
     imageView.setImageBitmap(bitmap); 
    } 
} 

private Bitmap getPath(Uri uri) { 

    String[] projection = {MediaStore.Images.Media.DATA}; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor 
      .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    String filePath = cursor.getString(column_index); 
    // cursor.close(); 
    // Convert file path into bitmap image using below line. 
    Bitmap bitmap = BitmapFactory.decodeFile(filePath); 

    return bitmap; 
} 

private void selectImage() { 

    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE); 
} 

}