找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
感激所有對伊莉作出奉獻的人尊貴會員無限下載附件你準備好成為出色的版主了嗎?
航海王強姦出包王女名偵探柯旬果mg 無碼vr
水電工傳黒の案山宿命殘fallout 風雲拳擊sone 123kuzu_v0

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁][720P]海賊王1098

[繁]迷宮飯13-

[繁]SYNDUALITY Noir

[繁]肌肉魔法使-MASHL

[繁]超龍珠英雄MM 02-

TVアニメ『一拳超人
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 2485|回復: 5

[作業] android圖片寄信[複製鏈接]

帖子
42
積分
503 點
潛水值
35670 米
發表於 2016-3-17 07:20 PM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
如題
目前使用android studio寫一份寄信程式
我使用的是Javamail的方式來寄信
但目前遇到的問題是可以將主旨和內容寄出,但我不知道圖片可以用怎樣的寫法來解決寄出的問題
現在是使用照相後將所照圖片貼到imageview元件上
但該怎麼將在元件上的圖片寄出呢?
有聽別人說可以使用MIME等的...但尋找後還是一頭霧水
麻煩知道的大大幫幫小小新手
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
發表於 2016-3-18 12:40 PM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
你搞錯了

ImageView元件是不可能直接當成郵件內容寄出去的
而是圖片要先存檔
一般都是存成JPG的檔案
然後把JPG檔當成附件的方式
也就是setAttachment的方式來做
MIME的問題可以不用去管

點評

晴符o 那請問有方法可以將照相後的那張圖片直接傳進附件中,當我跳到寄信畫面時只要按寄出就好  發表於 2016-3-18 10:22 PM
chevylin0802 嗯!我是指這個意思  發表於 2016-3-18 08:53 PM
晴符o 我是把照相程式寫在程式中 但我照相後相片都有出現在資料夾中 你指的存檔是這意思嗎  發表於 2016-3-18 06:24 PM
chevylin0802 我以為你連照相都寫進程式裏面, 只需要把相片檔以附件方式加進去就可以傳送了  發表於 2016-3-18 04:47 PM
晴符o 照相下來的照片不是直接存下來了嗎? 在相簿都能找到照片  發表於 2016-3-18 04:25 PM
chevylin0802 存檔是一定要做的動作  發表於 2016-3-18 02:55 PM
晴符o 還是有方法能將照相下來的圖片直接傳到attachment中 直接按寄出就可以了  發表於 2016-3-18 02:36 PM
晴符o 可能是我說法有問題,我的意思是將照相後顯示在imageview上的照片也就是剛照下來的那張圖片寄出 並不是要寄出元件  發表於 2016-3-18 02:29 PM
系統已重置禁訪用戶到普通用戶和密碼一次
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
發表於 2016-3-18 10:56 PM|顯示全部樓層
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
  1. public void addAttachment(String filename) throws Exception {
  2.     BodyPart messageBodyPart = new MimeBodyPart();
  3.     DataSource source = new FileDataSource(filename);
  4.     messageBodyPart.setDataHandler(new DataHandler(source));
  5.     messageBodyPart.setFileName(filename);

  6.     _multipart.addBodyPart(messageBodyPart);
  7.   }
複製代碼
你看這個是不是你要的

下載: 訪客無法瀏覽下載點,請先 註冊登入會員
...
瀏覽完整內容,請先 註冊登入會員

點評

晴符o 我將我的程式碼貼在下方,能麻煩大大教怎麼寫入嗎?  發表於 2016-3-19 11:55 AM
chevylin0802 那ImageView當中的src不是相片檔路徑名稱是什麼?  發表於 2016-3-19 10:38 AM
晴符o 照你這樣說,要把相片檔名稱寫進去,那我是要將相片預先傳入APP中在執行嗎?不然我剛照完相時產生的照片我也不知道名字才對呀  發表於 2016-3-19 10:36 AM
chevylin0802 不用, 你只需要做ImageView的onClick時, 把ImageView的src, 也就是相片檔名稱加入附件  發表於 2016-3-19 09:02 AM
晴符o 請問附件有需要再布局那加甚麼元件嗎? 看別人的Code好像沒看到  發表於 2016-3-19 08:18 AM
系統已重置禁訪用戶到普通用戶和密碼一次

使用道具檢舉

帖子
42
積分
503 點
潛水值
35670 米
發表於 2016-3-19 11:49 AM|顯示全部樓層
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 晴符o 於 2016-3-19 11:50 AM 編輯

大概是小弟愚鈍...看了後也不知道如何下手
下面大概是我的程式碼

SendMail.java
  1. public class SendMail extends AsyncTask<Void,Void,Void> {

  2.     private Context context;
  3.     private Session session;
  4.     private String email;
  5.     private String subject;
  6.     private String message;


  7.     private ProgressDialog progressDialog;


  8.     public SendMail(Context context, String email, String subject, String message){

  9.         this.context = context;
  10.         this.email = email;
  11.         this.subject = subject;
  12.         this.message = message;
  13.     }

  14.     @Override
  15.     protected void onPreExecute() {
  16.         super.onPreExecute();

  17.         progressDialog = ProgressDialog.show(context,"Sending message","Please wait...",false,false);
  18.     }

  19.     @Override
  20.     protected void onPostExecute(Void aVoid) {
  21.         super.onPostExecute(aVoid);

  22.         progressDialog.dismiss();

  23.         Toast.makeText(context,"Message Sent",Toast.LENGTH_LONG).show();
  24.     }


  25.     @Override
  26.     protected Void doInBackground(Void... params) {

  27.         Properties props = new Properties();


  28.         props.put("mail.smtp.host", "smtp.gmail.com");
  29.         props.put("mail.smtp.socketFactory.port", "465");
  30.         props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  31.         props.put("mail.smtp.auth", "true");
  32.         props.put("mail.smtp.port", "465");


  33.         session = Session.getDefaultInstance(props,
  34.                 new javax.mail.Authenticator() {
  35.                     //Authenticating the password
  36.                     protected PasswordAuthentication getPasswordAuthentication() {
  37.                         return new PasswordAuthentication(Config.EMAIL, Config.PASSWORD);
  38.                     }
  39.                 });

  40.         try {

  41.             MimeMessage mm = new MimeMessage(session);


  42.             mm.setFrom(new InternetAddress(Config.EMAIL));
  43.             mm.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
  44.             mm.setSubject(subject);
  45.             mm.setText(message);

  46.             Transport.send(mm);

  47.         } catch (MessagingException e) {
  48.             e.printStackTrace();
  49.         }
  50.         return null;
  51.     }
  52. }
複製代碼
MainActivity.java
  1. public class MainActivity extends AppCompatActivity implements View.OnClickListener {

  2.     private EditText editTextEmail;
  3.     private EditText editTextSubject;
  4.     private EditText editTextMessage;
  5.     private Button buttonSend;
  6.     Button button1;
  7.     ImageView image1;


  8.     @Override
  9.     protected void onCreate(Bundle savedInstanceState) {
  10.         super.onCreate(savedInstanceState);
  11.         setContentView(R.layout.activity_main);

  12.         editTextEmail = (EditText) findViewById(R.id.editTextEmail);
  13.         editTextSubject = (EditText) findViewById(R.id.editTextSubject);
  14.         editTextMessage = (EditText) findViewById(R.id.editTextMessage);
  15.         image1=(ImageView)findViewById(R.id.image1);
  16.         button1=(Button)findViewById(R.id.button1);
  17.         buttonSend = (Button) findViewById(R.id.buttonSend);

  18.         buttonSend.setOnClickListener(this);
  19.         button1.setOnClickListener(new OnClickListener() {
  20.             @Override
  21.             public void onClick(View v) {
  22.                 Intent i =new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  23.                 startActivityForResult(i, 101);
  24.             }
  25.         });
  26.     }

  27.     @Override
  28.     protected void onActivityResult(int requestCode,int resultCode,Intent data){
  29.         super.onActivityResult(requestCode, resultCode, data);
  30.         if (resultCode==Activity.RESULT_OK&&requestCode==101)
  31.         {
  32.             Bundle extras = data.getExtras();
  33.             Bitmap bmp =(Bitmap)extras.get("data");
  34.             image1.setImageBitmap(bmp);
  35.         }
  36.         else {
  37.             Toast.makeText(this,"沒照到!",Toast.LENGTH_LONG).show();
  38.         }
  39.     }




  40.     private void sendEmail() {
  41.         String email = editTextEmail.getText().toString().trim();
  42.         String subject = editTextSubject.getText().toString().trim();
  43.         String message = editTextMessage.getText().toString().trim();

  44.         SendMail sm = new SendMail(this, email, subject, message);

  45.         sm.execute();
  46.     }

  47.     @Override
  48.     public void onClick(View v) {
  49.         sendEmail();
  50.     }
  51. }
複製代碼
Config.java
  1. public class Config {
  2.     //我的郵件帳號密碼
  3.     public static final String EMAIL ="xxx@gmail.com";
  4.     public static final String PASSWORD ="yyy";
  5. }
複製代碼
佈局activity_main.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     android:orientation="vertical"
  3.     xmlns:tools="http://schemas.android.com/tools"
  4.     android:layout_width="match_parent"
  5.     android:layout_height="match_parent"
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"
  7.     android:paddingRight="@dimen/activity_horizontal_margin"
  8.     android:paddingTop="@dimen/activity_vertical_margin"
  9.     android:paddingBottom="@dimen/activity_vertical_margin"
  10.     tools:context=".MainActivity">

  11.     <TextView
  12.         android:text="請輸入電子信箱:"
  13.         android:layout_width="wrap_content"
  14.         android:layout_height="wrap_content" />
  15.     <EditText
  16.         android:layout_width="match_parent"
  17.         android:layout_height="wrap_content"
  18.         android:id="@+id/editTextEmail" />
  19.     <TextView
  20.         android:text="請輸入內容:"
  21.         android:layout_width="wrap_content"
  22.         android:layout_height="wrap_content" />
  23.     <EditText
  24.         android:layout_width="match_parent"
  25.         android:layout_height="wrap_content"
  26.         android:id="@+id/editTextSubject" />
  27.     <TextView
  28.         android:text="請輸入內容:"
  29.         android:layout_width="wrap_content"
  30.         android:layout_height="wrap_content" />
  31.     <EditText
  32.         android:lines="3"
  33.         android:layout_width="match_parent"
  34.         android:layout_height="wrap_content"
  35.         android:id="@+id/editTextMessage" />
  36.     <ImageView
  37.         android:layout_width="300dp"
  38.         android:layout_height="150dp"
  39.         android:id="@+id/image1"/>
  40.     <Button
  41.         android:layout_width="match_parent"
  42.         android:layout_height="wrap_content"
  43.         android:id="@+id/button1"
  44.         android:text="照相"/>
  45.     <Button
  46.         android:layout_width="match_parent"
  47.         android:layout_height="wrap_content"
  48.         android:id="@+id/buttonSend"
  49.         android:text="寄出"/>

  50. </LinearLayout>
複製代碼
以上是參考別人的程式碼(突然找不到網址)再加上相機程式

請問我開該從哪下手可以解決我的問題呢?...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
發表於 2016-3-19 04:28 PM|顯示全部樓層
本帖最後由 chevylin0802 於 2016-3-19 04:40 PM 編輯
晴符o 發表於 2016-3-19 11:49 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

大概是小弟愚鈍...看了後也不知道如何下手
下面大概是我的程式碼
...
瀏覽完整內容,請先 註冊登入會員





點評

晴符o 至於第75行是要打寄信目的的信箱吧  發表於 2016-3-19 05:09 PM
晴符o 不好意思問個很笨的問題...在他的Code中 該把我的信箱帳密打在哪? 在MailActivity的第72行嗎? 那第74行的那兩個很像信箱的是甚麼?  發表於 2016-3-19 05:08 PM
晴符o 謝謝 我嘗試看看  發表於 2016-3-19 04:33 PM
系統已重置禁訪用戶到普通用戶和密碼一次

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
發表於 2016-3-19 05:13 PM|顯示全部樓層
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
本帖最後由 chevylin0802 於 2016-3-19 05:41 PM 編輯
chevylin0802 發表於 2016-3-19 04:28 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

你原先參考的範例寫得很不好

我另外給你一個參考網址
...
瀏覽完整內容,請先 註冊登入會員

點評

晴符o 謝謝指教 我會再努力的  發表於 2016-3-19 06:09 PM
系統已重置禁訪用戶到普通用戶和密碼一次
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部