androidjavamail
A. 學習java軟體工程師未來有哪些就業方向
一、Java軟體工程師就業前景
Java軟體工程師就業前景如何?主要從Java的應用領域來看,Java語言的應用方向主要表現在以下三個方面:大中型的商業應用、桌面應用、再次是移動領域應用。
二、學習Java開發的就業方向
Java行業是一個大方向,崗位不同工作內容也多有不同,掌握一門Java技術之後就業的機會是很廣泛的,現在根據已入職工作的千鋒廣州Java學員的就業方向,給大家提供參考:
Java開發的就業方向一:Java企業級應用開發目前Java在許多行業的企業信息應用方面的應用非常多,比如OA、郵箱、股票、金融、考試、物流、醫療、礦山等信息方面的系統。該方向和行業密切相關,所以,這是一個經驗型的發展方向。Java開發者在這方面的需求也非常大,待遇也相當不錯,有三到五年工作經驗的年薪在15至20萬這是一個很正常的水平。
Java開發的就業方向二:Java網站建設
近幾年來,網站建設業務一直呈快速上升勢頭,行業市場越來越大。新技術的應用將促使企業網站建設更具魅力。Java編程語言也將使網站結構更緊密,訪問更流暢,更能適應新的要求。特別是像大企業更偏向於使用Java技術。
Java開發的就業方向三:Android開發Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。Android在國內的市場份額愈來愈額高。最近幾年發展非常快速,但人才積累卻沒有跟上,優秀的Android開發工程師仍然存在不小的缺口。Android應用的主要開發語言就是Java,所以選擇這個方向還是蠻不錯的。
Java開發的就業方向四:Java游戲開發
Java本身就可以用來編寫游戲腳本,目前也有例如beanshellgroovy等腳本語言可以方便的無縫的和Java語言進行交互,這些都極大的方便了Java游戲編程。
B. 安卓websocket內部實現了心跳了嗎
socket編程,具體包括13中核心技術。 J2EE的核心API與組件 J2EE平台由一整套服務(Services)、應用程序介面(APIs)和協議構成,它對開發基於Web的多層應用提供了功能支持,下面對J2EE中的13種技術規范進行簡單的描述(限於篇幅,這里只能進行簡單的描述): 1. JDBC(Java Database Connectivity): JDBC API為訪問不同的資料庫提供了一種統一的途徑,象ODBC一樣,JDBC對開發者屏蔽了一些細節問題,另外,JDCB對資料庫的訪問也具有平台無關性。 2. JNDI(Java Name and Directory Interface): JNDI API被用於執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源如DNS和LDAP,本地文件系統,或應用伺服器中的對象。 3. EJB(Enterprise JavaBean): J2EE技術之所以贏得媒體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的企業級應用的開發。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,EJB並不是實現J2EE的唯一途徑。正是由於J2EE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達到同樣的目的。 4. RMI(Remote Method Invoke): 正如其名字所表示的那樣,RMI協議調用遠程對象上方法。它使用了序列化方式在客戶端和伺服器端傳遞數據。RMI是一種被EJB使用的更底層的協議。 5. Java IDL/CORBA: 在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。他們可以創建Java對象並使之可在CORBA ORB中, 或者他們還可以創建Java類並作為和其它ORB一起的CORBA對象的客戶。後一種方法提供了另外一種途徑,通過它Java可以被用於將你的新的應用和舊的系統相集成。 6. JSP(Java Server Pages): JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。伺服器在頁面被客戶端所請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。 7. Java Servlet: Servlet是一種小型的Java程序,它擴展了Web伺服器的功能。作為一種伺服器端的應用,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成並且生成HTML。 8. XML(Extensible Markup Language): XML是一種可以用來定義其它標記語言的語言。它被用來在不同的商務過程中共享數據。 XML的發展和Java是相互獨立的,但是,它和Java具有的相同目標正是平台獨立性。通過將Java和XML的組合,您可以得到一個完美的具有平台獨立性的解決方案。 9. JMS(Java Message Service): MS是用於和面向消息的中間件相互通信的應用程序介面(API)。它既支持點對點的域,有支持發布/訂閱(publish/subscribe)類型的域,並且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另 一種方式來對您的應用與舊的後台系統相集成。 10. JTA(Java Transaction Architecture): JTA定義了一種標準的API,應用系統由此可以訪問各種事務監控。 11. JTS(Java Transaction Service): JTS是CORBA OTS事務監控的基本的實現。JTS規定了事務管理器的實現方式。該事務管理器是在高層支持Java Transaction API (JTA)規范,並且在較底層實現OMG OTS specification的Java映像。JTS事務管理器為應用伺服器、資源管理器、獨立的應用以及通信資源管理器提供了事務服務。 12. JavaMail: JavaMail是用於存取郵件伺服器的API,它提供了一套郵件伺服器的抽象類。不僅支持SMTP伺服器,也支持IMAP伺服器。 13. JAF(JavaBeans Activation Framework): JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的位元組流可以被轉換成Java對象,或者轉換自Java對象。大多數應用都可以不需要直接使用JAF。 第一個階段(java基礎階段) 1.java語法 2.面向對象 3.常用的api 4.界面編程 5.多線程 6.文件io 7.java網路編程.. 看看 張孝祥老師的 java視頻 (不過張孝 祥老師普通話不是很好,而且語速很慢,不過技術是不用說的啦!感謝張老師的無私奉獻了,呵呵) 第二個階段 (資料庫階段) 1.oracle 2.mysql 3.sql server 目前中國軟體公司用的最多的三大主流資料庫是sql server,mysql ,oracle .目前看來oracle資料庫越來越流行了。一般情況下PHP對應MySQL資料庫;ASP對應SQL資料庫;JSP對應ORACLE資料庫。所以大家會經常看 到市場上JAVA培訓都是用的ORACLE資料庫,其實你學會了ORACLE資料庫,再去學習MySQL、SQL數 據庫,你會覺得有很多相似的之處,學起來也容易上手了。oracle我推薦 韓順平老師 oracle視頻 (韓老師授課很有趣,特適合基礎不太好的人。講課有一套) 第三個階段 (web開發階段) 1.html 2.css 3.javascript 這三個部分是進行web開發的必須技術.一定要好好學習.不過我當時沒有發現有講的特別好的。好像很多老師都講框架和後台,界面這塊不多,所以就沒有什麼好推薦的了,大家可以 在網上找找看看,<<別具光芒>> 這本書講的挺好,不過不太適合初學者,可以看看孫鑫老師視頻的《HTML語言速成》。 第四個階段 (j2ee 中級部分) 1.servlet 2.jsp 3.mvc 這個階段是接近企業的需求了,所以學習起來,難度偏大,如果前面沒有學習扎實,會比較麻煩,我就是這樣的,前面沒有吃透,就學習j2ee 中級,搞得我消化不良。所以小弟我中心的告誡大家,把前面的學好,再學習第四個階段,這里的mvc思想不太好理解,是學習的重點。同時要學習tomcat/jboss/wl 這些伺服器所以,你可能感到要學習的東西一下多了很多,其實我就在這里動搖過,有那麼一段時間,又想放棄了。可是一想到 房東那種不屑的表情,我就想,一定要好好學習,混出個人樣來。我家是農村的,回去就是種地,當公務員我沒有關系,再說會老家我學習的專業也用不上,要不就是當個網管什麼的,不說了,反正當時心情很復雜吧。這個階段我推薦 韓順平老師 servlet視頻 jsp視頻 (這里也特別謝謝韓順平老師,我是比較喜歡他講課的風格,因為我當時基礎不好,所以不敢看講的太理論的課。) 第五個階段 (j2ee 高級部分) 1.struts 2.hibernate 3.spring 學習完Servlet、JSP然後再去學習框架Struts、Hibernate、Spring等最前沿的最流行的網路編程必備的軟體技能。 推薦的參考書籍是美河圖書提供《Servlet與JSP核心編程》 框架的基礎就是Servlet、JSP。首先大家應該學習的是Struts框架,典型的MVC模型。推薦學習視頻是 張小靜的Struts視頻。(網上有孫鑫的視頻嘛,主要就是講的Struts、Hibernate、Spring這三個框架,但是這個好像是偷錄的效果不好,聽起來比較吃力,銜接的不好) 推薦書籍孫衛琴編著《精通Struts基於MVC的Java.Web設計與開發》 然後就是Hibernate框架,推薦李興華老師的Hibernate視頻, 參考書籍孫衛琴 《精通Java對象持久化技術詳解》 最後關於Spring框架的視頻,在網上你可以搜索到很多,但是系統講解的真的沒有發現,本著對大家負責的態度,不敢亂推薦,大家到網上搜一下,也許現在有了也可能。 學完上述三個階段的內容,就在看看xml,ajax,ejb這些知識!尤其是的Ajax用得非常火,我們公司就用,ajax的框架流行的是(jquery,dw),我們公司用的是jquery.這里提一 下,學習Ajax之前一定要有JavaScript的基礎,推薦視頻張孝祥JavaScript網頁開發,這套視頻有相應 的配套書籍《JavaScript網頁開發》
C. android怎樣不打開系統瀏覽器實現了發送郵件
下載javamail的java包,加入到你項目的庫中。
2.修改你的郵箱設置,這里以163郵箱為例。打開設置,開啟客戶端授權碼,記住這個授權碼,然後打開POP3/SMTP服務和IMAP/SMTP服務。
輸入相應的代碼(私我給你發)
在使用該庫前先簡單介紹一下 Email for Android 2.3.2 中四個核心的類和相關的方法。
EmailConfig 類
setAccount( ):設置發信人的郵箱(必寫)
setPassword( ) :設置發信人的郵箱密碼或授權碼(必寫)
setSmtpHost( ):設置SMTP伺服器地址(發送郵件時必寫)
setSmtpPort( ):設置SMTP伺服器埠(發送郵件時必寫)
setPopHost( ):設置POP伺服器地址(接收郵件時必寫)
setPopPort( ):設置POP伺服器埠(接收郵件時必寫)
setImapHost:設置IMAP伺服器地址(接收郵件時必寫)
setImapPort:設置IMAP伺服器埠(接收郵件時必寫)
setTo( ):設置收信人郵箱(必寫)
setCc( ):設置抄送人
setBcc( ):設置密送人
setNickname( ):設置發信人昵稱
setSubject( ):設置郵件主題(必寫)
setText( ):設置文本型的郵件內容(必寫,但 setText( ) 和 setContent( ) 只能二選一)
setContent( ):設置HTML型的郵件內容(同上)
sendAsyn( ):非同步發送郵件(必寫)
popReceiveAsyn( ):使用POP3協議非同步接收郵件
imapReceiveAsyn( ):使用IMAP協議非同步接收郵件
connectServer( ):檢查郵件伺服器配
EmailSendClient 類
EmailReceiveClient 類
EmailExamine 類
D. 有誰寫android郵箱客戶端不 請教 我用javamail寫了但是凡是涉及到外部jar都無法 運行報錯
我這里用的全是外部jar啊 沒有報錯的啊
樓主具體什麼情況?
E. Android,JavaMail出錯是什麼原因
我原換客戶端用GMAIL用郵件 或者其郵件客戶端rom毛病造軟體故障 希望所幫助
-
F. 怎麼使用javamail-android
Javamail-Android配置步驟:
(1)下載Android版本JavaMail包,additional.jar、mail.jar和activation.jar,下載地址:
http://download.csdn.net/detail/suiyuansanren/5299466
(2)在項目與src同一目錄級別下,新建文件夾lib,將下載的3個jar包放入該文件夾
(3)右鍵->Properties->Java Build Path->Libraries,選擇Add External JARs,找到項目下lib目錄的3個jar包
注意:
(1)下面的三個類文件必須在同一個包中;
(2)不要使用你剛剛注冊過的郵箱在程序中發郵件,如果你的163郵箱是剛注冊不久,那你就不要使用「smtp.163.com」。因為你發不出去。剛注冊的郵箱是不會給你這種許可權的,也就是你不能通過驗證。要使用你經常用的郵箱,而且時間比較長的;
(3)mailInfo.setMailServerHost("smtp.163.com");與mailInfo.setFromAddress("[email protected]");這兩句話中,郵箱所在的「域」必須相同。即如果你使用163smtp伺服器,那麼發送郵件地址就必須用163的郵箱,如果不一致的話,是不會發送成功的;
G. 利用javamail實現安卓發郵件,transport.connect( , , ) 連接失敗,郵件發不出去
連接出錯,android不允許在主線程中有網路連接操作,看看你的發郵件過程是不是在主線程中進行的,如果是,那就會導致連接時出錯,解決方法是新建一個線程來完成發郵件的過程,新建線程的時候要注意新建線程的方法,新建線程的方法不恰當也不能解決問題,希望對你有幫助
H. Android中我為什麼發不了郵件
Android中我為什麼發不了郵件???我手機里明明有郵件客戶端的,可我為什麼不能調用它發送郵件???相信這是很多人會問的問題,手機里有Email客戶端,可是偏偏在自己的應用里調用不了,抑或是不知道怎麼調用,還有的是一直認為自己寫對了,可是偏偏不能調用,無奈之下只能卻網上找段代碼粘貼上,ok,可以了。。可是你知道別人的代碼為什麼可以?你知道調用Email是怎麼工作的嗎?如果你又像給多人發郵件,還想發送附件,怎麼做?又迷糊了吧?所以需要搞懂原理才能一通百通,舉一反三,而這就是這篇博文要寫的,也是你可以在這篇博文中學到的。
在這里你可以學到:
什麼是Intent和Intent Fileter
如何發送Email
如何發送特定的標題和內容的Emil
如何發送給多人
如何抄送和密送
如何發送附件
一:什麼是Intent和Intent Fileter
關於這個詳細介紹請參考 :
Android系列教程之十:Intents and Intent Filters(一)
Android系列教程之十一:Intents and Intent Filters(二)
Android系列教程之十二:Intents and Intent Filters(三)
二:如何發送Email
通過上面就會知道Android應用之間的通信是通過Intent這個東西,如果手機中有實現了你想要功能的應用那麼你就不用麻煩去實現一個拉。直接使用就可以,比如這里的發送郵件。
我們新建一個工程SendEmail,基於Android1.6實現。然後定義布局文件和代碼如下:
Xml代碼
<?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"
>
<Button
android:id="@+id/send_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Send Action"
/>
</LinearLayout>
Java代碼
/** 發送郵件測試界面
* @author 飛雪無情 個人博客:http://flysnow.iteye.com/
* @since 2011-7-19
*/
public class SendEmailActivity extends Activity implements View.OnClickListener{
private Button mSendBtn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSendBtn=(Button)findViewById(R.id.send_btn);
mSendBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.send_btn:
startSendEmailIntent();
break;
}
}
private void startSendEmailIntent(){
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:[email protected]"));
data.putExtra(Intent.EXTRA_SUBJECT, "這是標題");
data.putExtra(Intent.EXTRA_TEXT, "這是內容");
startActivity(data);
}
}
這是我們運行應用,點擊按鈕就會看到如下效果:
三:分析發送代碼
主要的發送代碼如下:
Java代碼
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:[email protected]"));
data.putExtra(Intent.EXTRA_SUBJECT, "這是標題");
data.putExtra(Intent.EXTRA_TEXT, "這是內容");
startActivity(data);
首先構造一個Action為SENDTO的Action
其次創建一個Uri,他是一個mailto的郵件鏈接,也就是接收地址.
再通過Intent.EXTRA_SUBJECT和Intent.EXTRA_TEXT傳遞標題和文本的數據,記住,一定要使用這些常量,這是標准,否則Email客戶端不認識,那樣你傳遞的標題和文本就不起作用了。
然後就是startActivity進行打開,系統會根據Intent自動匹配找到能處理這個intent的應用,如圖列表,有很多個,我們這里選擇網易掌上郵,就打開了一個郵件發送界面,如我們所願,郵件地址、標題和內容都在了,很成功.
intent中的數據傳遞是以Extra的方式進行put後傳遞的,然後在使用的時候getter取出使用。
四:發送給多人以及抄送和密送
發送給多人以及抄送和密送都很簡單,查找Intent類中的Extra常量,發送有這么三個常量:Intent.EXTRA_EMAIL,Intent.EXTRA_CC,Intent.EXTRA_BCC。這三個分別用於傳遞「接受人地址列表」、「抄送人地址列表」和「密送人地址列表」,傳遞的都是String[]類型的Email地址,如果數組中有多個地址,就可以發送給多人。發送的函數修改如下,我們看下效果:
Java代碼
private void startSendEmailIntent(){
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:[email protected]"));
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]","[email protected]"});
data.putExtra(Intent.EXTRA_CC, new String[]{"[email protected]"});
data.putExtra(Intent.EXTRA_BCC, new String[]{"[email protected]"});
data.putExtra(Intent.EXTRA_SUBJECT, "這是標題");
data.putExtra(Intent.EXTRA_TEXT, "這是內容");
startActivity(data);
}
五,發送附件
Email'客戶端的發送Activity提供了兩個Intent Filter,一個用於發送普通郵件,一個用戶發送帶有附件的郵件。區分很很容易的,發送普通郵件的那個Intent Filter配置的Action SENDTO,而帶有附件的郵件則是SEND,所以是2個不一樣,但是哪些比如附加「標題」,「內容」,「抄送」,「發送多人」等等還是通用的。布局文件新增一個按鈕,用於發送帶有附件的郵件,Activity代碼也做修改。
Xml代碼
<Button
android:id="@+id/send_to_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SendTo Action"/>
Java代碼
/* * 發送郵件測試界面
* @author 飛雪無情 個人博客:http://flysnow.iteye.com/
* @since 2011-7-19
*/
public class SendEmailActivity extends Activity implements View.OnClickListener{
private Button mSendBtn;
private Button mSendToBtn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSendBtn=(Button)findViewById(R.id.send_btn);
mSendToBtn=(Button)findViewById(R.id.send_to_btn);
mSendBtn.setOnClickListener(this);
mSendToBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.send_btn:
startSendEmailIntent();
break;
case R.id.send_to_btn:
startSendToEmailIntent();
break;
}
}
private void startSendEmailIntent(){
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:[email protected]"));
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]","[email protected]"});
data.putExtra(Intent.EXTRA_CC, new String[]{"[email protected]"});
data.putExtra(Intent.EXTRA_BCC, new String[]{"[email protected]"});
data.putExtra(Intent.EXTRA_SUBJECT, "這是標題");
data.putExtra(Intent.EXTRA_TEXT, "這是內容");
startActivity(data);
}
private void startSendToEmailIntent(){
Intent data=new Intent(Intent.ACTION_SEND);
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
data.putExtra(Intent.EXTRA_SUBJECT, "這是標題");
data.putExtra(Intent.EXTRA_TEXT, "這是內容");
data.putExtra(Intent.EXTRA_STREAM, Uri.parse(""));
data.setType("text/plain");
startActivity(data);
}
}
運行應用,我們看到效果圖里最小面的附件標識,說明已經可以發送附件了.
I. 求教!Android 用javaMail發送郵件時總是出錯
網易郵箱默認不開啟客戶端收發,你要去網頁版郵箱設定才可以,會給你個隨機生成的密碼,這個密碼用來imap, pop3, smtp
J. Android中利用javamail發送郵件,模擬器運行正常,但是手機上無反應
用手機調試一下,把LOG發出來看看