0
点赞
收藏
分享

微信扫一扫

android 仿微信通知栏,移动开发基础学习

金穗_ec4b 2022-02-05 阅读 68

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(appContext)

.setSmallIcon(appContext.getApplicationInfo().icon)

.setSmallIcon(R.mipmap.icon_app_small)

.setWhen(System.currentTimeMillis())

.setColor(Color.parseColor("#4e60c4"))

.setAutoCancel(true);

if (friendListBean != null && !StringUtil.isBland(friendListBean.getHeadUrl())) {

mBuilder.setLargeIcon(GetImageInputStream(friendListBean.getHeadUrl()) == null ? BitmapFactory.decodeResource(

UIUtils.getContext().getResources(), R.mipmap.icon_logo) : GetImageInputStream(friendListBean.getHeadUrl()));

} else {

mBuilder.setLargeIcon(BitmapFactory.decodeResource(

UIUtils.getContext().getResources(), R.mipmap.icon_logo));

}

Intent msgIntent = appContext.getPackageManager().getLaunchIntentForPackage(packageName);

if (notificationInfoProvider != null) {

msgIntent = notificationInfoProvider.getLaunchIntent(message);

}

PendingIntent pendingIntent = PendingIntent.getActivity(appContext, notifyID, msgIntent, PendingIntent.FLAG_UPDATE_CURRENT);

/**

  • 获取网络图片

  • @param imageurl 图片网络地址

  • @return Bitmap 返回位图

*/

public Bitmap GetImageInputStream(String imageurl) {

URL url;

HttpURLConnection connection = null;

Bitmap bitmap = null;

try {

url = new URL(imageurl);

connection = (HttpURLConnection) url.openConnection();

connection.setConnectTimeout(6000); //超时设置

connection.setDoInput(true);

connection.setUseCaches(false); //设置不使用缓存

InputStream inputStream = connection.getInputStream();

bitmap = BitmapFactory.decodeStream(inputStream);

inputStream.close();

} catch (Exception e) {

e.printStackTrace();

}

return bitmap;

}

// //标题

mBuilder.setContentTitle(contentTitle);

// //通知首次出现在通知栏,带上升动画效果的

mBuilder.setTicker(notifyText);

// //内容

mBuilder.setContentText(summaryBody);

mBuilder.setContentIntent(pendingIntent);

// mBuilder.setNumber(notificationNum);

Notification notification = mBuilder.build();

if (isForeground) {

最后

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。

技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;

Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;
自定义view,Android开发的基本功。

性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;
未来的方向,高薪必会。

前沿技术;
组件化,热升级,热修复,框架设计

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

D%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

举报

相关推荐

0 条评论