1. 程式人生 > >上傳頭像 呼叫相機拍照 ,及簡單的呼叫相簿的照片來上傳頭像

上傳頭像 呼叫相機拍照 ,及簡單的呼叫相簿的照片來上傳頭像

首先我在對應的主頁面 xml裡面進行一個相關的UI介面的佈局

對應的兩個Button按鈕 一個拍照,一個呼叫相簿

一個Imageview 的一張小機器人的圖片

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.shangchuantouxiang.MainActivity">

  <!--  <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/img"
        android:layout_width="100dp"
        android:layout_height="100dp"
        fresco:placeholderImage="@mipmap/ic_launcher"
        fresco:placeholderImageScaleType="focusCrop"
        fresco:roundAsCircle="true"
        />-->
    <ImageView
       android:src="@mipmap/ic_launcher"
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
<Button
    android:text="拍照"
    android:id="@+id/paizhao"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
    <Button
        android:text="相簿"
        android:id="@+id/xc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
接下來就是主頁面 MainActivity 

對應的佈局的兩個按鈕           拍照       和 相簿     的點選事件     

public class MainActivity extends AppCompatActivity {
    Button paizhao, xc;
    ImageView img;
//定義一個私有的變數來拍照回撥
        private String path;
    //定義靜態變數來記錄相簿
    private static final int IMAGE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img = (ImageView) findViewById(R.id.img);
        paizhao = (Button) findViewById(R.id.paizhao);
        xc = (Button) findViewById(R.id.xc);

     paizhao.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        //第一種
//	 Intent intent = new Intent("android.media.action.STILL_IMAGE_CAMERA");
//	 startActivity(intent);
//  filePath = "storage/emulated/legacy/"+System.currentTimeMillis()+".jpg";
        path= Environment.getExternalStorageDirectory().getPath()+"/"+System.currentTimeMillis()+".jpg";

        Uri uri=Uri.fromFile(new File(path));//處理存放位置
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//建立拍照的意圖
        intent .putExtra(MediaStore.EXTRA_OUTPUT, uri);//指定處理方的位置為系統的沼澤的存放位置
        startActivityForResult(intent, 1);
    }
});


        //呼叫相簿的相片回傳
        xc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(intent,IMAGE);

            }
        });


    }
// 進行的相簿裡面來獲得code來判斷         //呼叫相簿
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        //       呼叫相機拍照  把相機拍的照傳回 該圖片的控制元件
        Uri uri = Uri.fromFile(new File(path));
        img.setImageURI(uri);
        //獲取圖片路徑
        if (requestCode == IMAGE && resultCode == Activity.RESULT_OK && data != null) {
            Uri selectedImage = data.getData();
            String[] filePathColumns = {MediaStore.Images.Media.DATA};
            Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null);
            c.moveToFirst();
            int columnIndex = c.getColumnIndex(filePathColumns[0]);
            String imagePath = c.getString(columnIndex);
            showImage(imagePath);
            c.close();

        }
    }



    private void showImage(String imaePath) {

        Bitmap bm = BitmapFactory.decodeFile(imaePath);

        img.setImageBitmap(bm);

    }

}

這樣就可以了

相關推薦

頭像 呼叫相機拍照 簡單呼叫相簿照片頭像

首先我在對應的主頁面 xml裡面進行一個相關的UI介面的佈局 對應的兩個Button按鈕 一個拍照,一個呼叫相簿 一個Imageview 的一張小機器人的圖片 <?xml version="1.0" encoding="utf-8"?> <LinearLa

Andrid 呼叫相機拍照相簿圖片裁剪

Andrid 呼叫相機拍照,相簿,圖片裁剪   新增讀寫許可權 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission a

Android呼叫相機拍照壓縮圖片後儲存SD卡中

最近在搞一個專案,需求是呼叫系統相機拍完照片後儲存本地,再上傳至後臺伺服器,但為了節省流量需要壓縮上傳,將圖片壓縮至100K以內。這個是在特定機器上執行,類似於手持POS機,但是它的相機幾乎沒有優化,對焦慢,而且拍照也不清晰,使用自己的手機呼叫系統相機拍照後圖片

關於Android呼叫相機拍照完成後無法返回

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); String path = Environment.getExternalStorageDirectory().getAbsolutePath()

呼叫系統相機拍照相簿選取圖片

前不久在專案中再次遇到了這個問題,就是從系統相簿中選取圖片,呼叫系統的相機拍照並上傳的問題。由於之前比較懶沒能在做完之後對寫的程式碼進行整理儲存,以至於再次遇到的時候還是重新去研究了一下造成了開發過程中的時間浪費。 注意的點:1.呼叫系統的相機拍攝並取得原圖,並對角度進行處

手機的web頁面呼叫相機拍照

想在手機裡的web頁面裡上傳照片,又希望能呼叫攝像頭拍完了再上傳。 <input type="file" capture="camera" accept="image/*" id="filetest" name="filetest"> 看這程式碼,重要的是capture

在Android瀏覽器中通過WebView呼叫相機拍照/選擇檔案 到伺服器

                最近做的一個專案中,有這樣一個要求,在瀏覽器中呼叫系統的拍照功能或者選擇檔案,然後將檔案上傳到伺服器,類似修改頭像。        簡單而言,就是在一個html頁面中有這樣一段程式碼 <input class="filePrew" type="file" capture=

Android WebView 選擇圖片並呼叫相機拍照/相簿/選擇檔案)

前言: 這個功能其實我才剛接觸。不熟...在這個給大家提供的都是經過本人驗證之後的一些案例。可以在專案中跑的。 最近專案嵌入混合開發,都是使用WebView來跳轉,頁面展示。有用到這個圖片上傳的功能。 原本是一臉懵的,查了很多資料看一些大神都寫的很多程式碼很複雜(原諒我

android呼叫相機拍照返回的照片大小太小變得模糊

1、使用相機拍照預設情況下呼叫相機的方式: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAMERA_REQUEST_CODE);//CAMERA_REQ

android 呼叫系統相機拍照返回的data為null

最近做專案,需要拍照功能,於是就想簡單的呼叫系統相機來完成這一需求(當然,如果想要個性化一點的,也可以自定義camera去實現,這裡暫時不做)。 if(Environment.getExternalStorageState().equals(Environ

Android呼叫相機拍照壓縮圖片…

1、直接onActivityResult裡 ,從Intent data引數中可以取出拍照後縮圖,基本不需要壓縮的。 2、是設定儲存路徑,然後拍完之後直接讀取該路徑的圖片: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Str

呼叫Android系統自帶相機拍照相簿中獲取圖片(相容7.0系統)

一,前言: 在日常的手機應用開發過程中,經常會遇到上傳圖片的需求,像上傳頭像之類的,這就需要呼叫系統的相機,相簿獲取照片。但是在Android 系統7.0之後認為這種操作是不安全的,這篇文章主要就是記錄7.0獲取照片遇到的問題。 二,FileProvider介紹 都

iOS 呼叫相機拍照和選擇相簿圖片 設定頭像

不多說,直接上程式碼 #import "ViewController.h" @interface ViewController ()<UIImagePickerControllerDe

Android呼叫系統相機拍照相簿中選擇照片呼叫系統攝像機錄影

最近在Android Studio上折騰程式碼,昨天編譯器又很不給面子的報錯了: Error type 3 Error: Activity class {com.example.myapplication/com.example.myapplication

呼叫Android相機拍照解決了拍照時候記憶體溢位溢位的問題

在別處上看到的文章,解決了我在開發中的拍照後記憶體溢位的問題,下面就是程式碼 private static int CARMER_REQUEST_CODE = 1; private String filedirName = "sencondIDCard";

.Net檔案處理三大正規化開發注意事項

  最近工作內容涉及到一點前端的內容,把學習到的內容記錄下來,在今後的開發過程中,不要犯錯。本篇只針對一些剛入職的小白及前端開發人員,大牛請繞道!~   剛開始我們先不講上傳檔案的防範問題,先通過一個例子,讓大家瞭解其中的危害。   先給大家看一個簡單的頁面,細心的小夥伴已經發現了,這個上傳的按鈕是禁用狀

用Html5/CSS3做Winform一步一步教你搭建CefSharp開發環境(附JavaScript異步調用C#例子全部源代碼)

轉載 界面設計 右鍵 異步 一個 由於 編寫 scrip 調用 本文為雞毛巾原創,原文地址:http://www.cnblogs.com/jimaojin/p/7077131.html,轉載請註明 CefSharp說白了就是Chromium瀏覽器的嵌入式核心,我們用此開發W

android7.0呼叫相機時候FileProvider報NullPointerException的解決方法

      今天在做專案的時候,用到了呼叫相機的功能。但是這次忽然FileProvider報了空指標的錯誤      定位錯誤的時候,找到了FileProvider,是獲取地址的一個方法      在這裡報空指標的話,我覺得應該是地址為空所造成的,在檢查完所寫方法後,

前端圖片到oss服務模仿微博多張圖片(最多九張)

效果圖如下 核心js檔案 推薦《前端上傳元件Plupload使用指南》,有較詳細使用指南。 檔案地址: https://www.cnblogs.com/2050/p/3913184.html#plupload_doc4 首先是css檔案的引入 上傳元

android7.0呼叫相機拍照的問題解決方案

最近在應用中開發呼叫系統相機拍照的時候,遇到一個問題,就是在安卓7.0及以上機型使用,按照往常寫法Uri.fromFile(imgFile)回丟擲異常FileUriExposedException導致程