2024年最全Android程序崩溃异常处理之自动发送邮件(1),网易和阿里的面试难度

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

七大模块学习资料:如NDK模块开发、Android框架体系架构…

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

①,如果你是Eclipse用户,你想用到邮件的发送来处理异常信息,那你得需要将上面的4个jar包添加到你的项目中,具体步骤不会的可百度。

②,如果你是Android studio用户,你需要在build.gradle(Project:xxx)下的repository中添加如下代码段


repository {

   jcenter() // or mavenCentral()

}

在build.gradle(Module:xxx) 中的dependencies添加如下依赖


compile 'com.githang:android-crash:1.0'

后面的3个是可选的,如果用邮件的方式发送的话,需要添加jar包,和添加相应的依赖

其实上述的添加依赖是可以自动完成的,当你把jar包导入后,然后邮件你的jar包,会出现add to library,你添加后,会在依赖中发现已经帮你自动添加了。

2,属性配置

自定义一个类,让其继承于Application,并在AndroidManifest.xml中的application节点中使用name属性,将类名添加进去,这样当程序一启动就会先执行继承自application类里面的配置,最后要别忘了添加权限,一个是网络权限,一个是往sd卡写的权限


 public class MyApplication extends Application{	

       @Override

	    public void onCreate() {

	        super.onCreate();

	        initHttpReporter();

	    }



	    /**

	     * 使用EMAIL发送日志

	     */

	    private void initEmailReporter() {

	        CrashEmailReporter reporter = new CrashEmailReporter(this);

	        reporter.setReceiver("你的接收邮箱");

	        reporter.setSender("xxxx@163.com");

	        reporter.setSendPassword("xxxxxxxx");//说到这个密码,你可以设置一个客户端授权码,它是登录第三方客户端的专用密码,和主登录密码不冲突

	        reporter.setSMTPHost("smtp.163.com");//这里使用的是163发送邮件的服务,所以主机名是163的,有需要修改的,也可以更改对应的主机名

	        reporter.setPort("465");//端口号,可选25端口号,具体的看是否使用ssl安全协议

	        AndroidCrash.getInstance().setCrashReporter(reporter).init(this);

	    }



	    /**

	     * 使用HTTP发送日志

	     */

	    private void initHttpReporter() {

	        CrashHttpReporter reporter = new CrashHttpReporter(this) {

	            /**

	             * 重写此方法,可以弹出自定义的崩溃提示对话框,而不使用系统的崩溃处理。

	             * @param thread

	             * @param ex

	             */

	            @Override

	            public void closeApp(Thread thread, Throwable ex) {

	              //  final Activity activity = AppManager.currentActivity();

	             //   Toast.makeText(activity, "发生异常,正在退出", Toast.LENGTH_SHORT).show();

	                // 自定义弹出对话框

	                new AlertDialog.Builder(getApplicationContext()).

	                        setMessage("程序发生异常,现在退出").

	                        setPositiveButton("确定", new DialogInterface.OnClickListener() {

	                    @Override

	                    public void onClick(DialogInterface dialog, int which) {

	                  //      AppManager.AppExit(activity);

	                    }

	                }).create().show();

	                Log.d("MyApplication", "thead:" + Thread.currentThread().getName());

	            }


# 总结

本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值