• UID12
  • 登录2016-06-14
  • 粉丝111
  • 关注50
  • 发帖1415
  • 主页
  • 金币8544枚
社区居民
最爱沙发
忠实会员
喜欢达人
原创写手
极分享 发布于2016-02-26 11:06
22/6158

小米便签产品级的源码

楼层直达
小米便签产品级的源码


源码简介

小米便签Android源码,可以在桌面创建widget。



源码截图



源码片段:

public abstract class NoteWidgetProvider extends AppWidgetProvider {
    public static final String [] PROJECTION = new String [] {
        NoteColumns.ID,
        NoteColumns.BG_COLOR_ID,
        NoteColumns.SNIPPET
    };
    
    public static final int COLUMN_ID           = 0;
    public static final int COLUMN_BG_COLOR_ID  = 1;
    public static final int COLUMN_SNIPPET      = 2;
    
    private static final String TAG = "NoteWidgetProvider";
    
    @Override
    public void onDeleted(Context context, int[] appWidgetIds) {
        ContentValues values = new ContentValues();
        values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
        for (int i = 0; i < appWidgetIds.length; i++) {
            context.getContentResolver().update(Notes.CONTENT_NOTE_URI,
                    values,
                    NoteColumns.WIDGET_ID + "=?",
                    new String[] { String.valueOf(appWidgetIds)});
        }
    }
    
    private Cursor getNoteWidgetInfo(Context context, int widgetId) {
        return context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
                PROJECTION,
                NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?",
                new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) },
                null);
    }
    
    protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        update(context, appWidgetManager, appWidgetIds, false);
    }
    
    private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds,
            boolean privacyMode) {
        for (int i = 0; i < appWidgetIds.length; i++) {
            if (appWidgetIds != AppWidgetManager.INVALID_APPWIDGET_ID) {
                int bgId = ResourceParser.getDefaultBgId(context);
                String snippet = "";
                Intent intent = new Intent(context, NoteEditActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
                intent.putExtra(Notes.INTENT_EXTRA_WIDGET_ID, appWidgetIds);
                intent.putExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, getWidgetType());
    
                Cursor c = getNoteWidgetInfo(context, appWidgetIds);
                if (c != null && c.moveToFirst()) {
                    if (c.getCount() > 1) {
                        Log.e(TAG, "Multiple message with same widget id:" + appWidgetIds);
                        c.close();
                        return;
                    }
                    snippet = c.getString(COLUMN_SNIPPET);
                    bgId = c.getInt(COLUMN_BG_COLOR_ID);
                    intent.putExtra(Intent.EXTRA_UID, c.getLong(COLUMN_ID));
                    intent.setAction(Intent.ACTION_VIEW);
                } else {
                    snippet = context.getResources().getString(R.string.widget_havenot_content);
                    intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
                }
    
                if (c != null) {
                    c.close();
                }
    
                RemoteViews rv = new RemoteViews(context.getPackageName(), getLayoutId());
                rv.setImageViewResource(R.id.widget_bg_image, getBgResourceId(bgId));
                intent.putExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, bgId);
                /**
                 * Generate the pending intent to start host for the widget
                 */
                PendingIntent pendingIntent = null;
                if (privacyMode) {
                    rv.setTextViewText(R.id.widget_text,
                            context.getString(R.string.widget_under_visit_mode));
                    pendingIntent = PendingIntent.getActivity(context, appWidgetIds, new Intent(
                            context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
                } else {
                    rv.setTextViewText(R.id.widget_text, snippet);
                    pendingIntent = PendingIntent.getActivity(context, appWidgetIds, intent,
                            PendingIntent.FLAG_UPDATE_CURRENT);
                }
    
                rv.setOnClickPendingIntent(R.id.widget_text, pendingIntent);
                appWidgetManager.updateAppWidget(appWidgetIds, rv);
            }
        }
    }
    
    protected abstract int getBgResourceId(int bgId);
    
    protected abstract int getLayoutId();
    
    protected abstract int getWidgetType();
}


源码下载:
        附件名称/大小 下载 更新 附加说明
Notes-master.zip (1099KB)  110 2016-02-26 11:08

1人打赏
  • UID8779
  • 登录2016-02-26
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币10枚
社区居民
cqaj 发布于2016-02-26 16:24
沙发F
感谢!!!
  • UID8829
  • 登录2017-06-21
  • 粉丝1
  • 关注0
  • 发帖112
  • 主页
  • 金币606枚
社区居民
忠实会员
大印 发布于2016-02-27 13:53
板凳F
谢谢分享!
  • UID9087
  • 登录2016-03-02
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币10枚
pluto2016 发布于2016-03-02 10:15
地板F
感谢分享!学习下!
  • UID9634
  • 登录2016-03-15
  • 粉丝0
  • 关注0
  • 发帖6
  • 主页
  • 金币15枚
尼大业 发布于2016-03-08 09:34
4楼F
  • UID2959
  • 登录2016-03-08
  • 粉丝1
  • 关注0
  • 发帖14
  • 主页
  • 金币20枚
社区居民
发布于2016-03-08 09:45
5楼F
谢谢分享
  • UID4401
  • 登录2016-03-08
  • 粉丝1
  • 关注0
  • 发帖30
  • 主页
  • 金币44枚
社区居民
guò澐yǔ 发布于2016-03-08 10:33
6楼F
thanks share
  • UID9649
  • 登录2016-03-08
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币5枚
qq_nWZhmFk14574 发布于2016-03-08 11:12
7楼F
thanks share
  • UID9655
  • 登录2016-03-08
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币10枚
社区居民
紫魂 发布于2016-03-08 11:31
8楼F
感谢分享
  • UID9656
  • 登录2016-03-08
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币10枚
黄小强强 发布于2016-03-08 11:32
9楼F
  • UID9704
  • 登录2016-03-08
  • 粉丝0
  • 关注0
  • 发帖1
  • 主页
  • 金币10枚
社区居民
yhs_study 发布于2016-03-08 19:09
10楼F
  • UID1690
  • 登录2017-02-15
  • 粉丝1
  • 关注6
  • 发帖101
  • 主页
  • 金币185枚
社区居民
原创写手
lalalala 发布于2016-03-09 16:17
11楼F
。。(●—●)。。我是萌萌哒的签名挡。。(●—●)。。游戏源码分享(●—●)(●—●)
  • UID12050
  • 登录2016-06-15
  • 粉丝0
  • 关注0
  • 发帖8
  • 主页
  • 金币20枚
qq_nRJgcP214640 发布于2016-05-23 21:48
12楼F
不错,下了有时间做一下
  • UID12151
  • 登录2016-05-28
  • 粉丝0
  • 关注0
  • 发帖5
  • 主页
  • 金币7枚
框框 发布于2016-05-28 17:46
13楼F
这个挺棒的。
  • UID12263
  • 登录2017-05-14
  • 粉丝0
  • 关注0
  • 发帖4
  • 主页
  • 金币248枚
Ether 发布于2016-06-02 16:01
14楼F
感谢楼主
  • UID1242
  • 登录2017-07-20
  • 粉丝2
  • 关注0
  • 发帖43
  • 主页
  • 金币818枚
社区居民
忠实会员
pongleung 发布于2016-06-05 20:19
15楼F
感谢
  • UID7461
  • 登录2016-06-08
  • 粉丝1
  • 关注0
  • 发帖211
  • 主页
  • 金币191枚
社区居民
忠实会员
android_chao 发布于2016-06-08 18:11
16楼F
非常不错,感谢分享.
  • UID14526
  • 登录2016-11-10
  • 粉丝0
  • 关注0
  • 发帖3
  • 主页
  • 金币7枚
qq_a7r1blF14787 发布于2016-11-10 09:35
17楼F
楼猪666
1 2
您没填页码……^^页码应该是数字才对吧!^^零页?你当我是实体书……^^负数页……你又调皮了!^^帖子君一共才 ^^ 页……^^本页就是第 ^^ 页。
perv die Page1of2 next
您需要登录后才可以回帖
发表回复
极贡献
技术问答
专题荟萃
程序人生
视觉设计
Android开发
iOS开发
编程语言
前端开发
后端开发
服务器架构
软件测试
运维方案
创业路上



最热文章墙

  • 70506/366   【精品推荐】200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^

  • 40104/190   情人节福利,程序员表白的正确姿势:改几行代码就变成自己的表白了

  • 37795/0   Python爬虫:常用浏览器的useragent

  • 36810/259   【精品推荐】Android版产品级的音乐播放器源码,功能太强大了,最好的产品原型有木有?

  • 35801/145   省时省力的Android组件群来了,非常棒的原型参考

  • 28125/2   超全!整理常用的iOS第三方资源

  • 27431/71   原创表白APP,以程序员的姿势备战新年后的7夕,持续完善中!

  • 27035/142   2016抢红包软件及源码

  • 21789/30   麻省理工的一帮疯子,真的实现了随意操控万物!(绝对黑科技)

  • 21419/25   Android工程师面试题大全

  • 21213/27   2016程序员跳槽全攻略

  • 21131/155   Android版类似UC浏览器:非常赞,产品级的源码

  • 21044/9   GitHub上排名前50的iOS项目:总有一款你用得着

  • 20015/20   码魂:程序员的牛B漫画

  • 18234/10   2016年最全的Android面试考题+答案 精编版

  • 17997/3   吐槽那些程序员的搞笑牛逼注释

  • 17461/42   一个绚丽的loading动效分析与实现!

  • 17264/85   Android小而全的博客源码:非常适合全面掌握开发技巧

  • 17175/73   【持续更新中】Android福利贴(二):资料源码大放送

  • 16939/1   iOS 动画总结

  • 16313/45   惊艳的App引导页:背景图片切换加各个页面动画效果

  • 16044/23   个人收集的Android 各类功能源代码

  • 15791/10   女程序员的梦,众网友的神回复

  • 15664/81   仿京东商城客户端Android最新版,不错的原型和学习资料

  • 15594/5   新一代Android渠道打包工具:1000个渠道包只需要5秒

  • 15496/11   年会上现场review代码是怎么样的体验!

  • 15225/103   Android带弹幕的视频播放器源码,来自大名鼎鼎的Bilibili弹幕网站

  • 15091/53   基于瀑布流的美女图片浏览App,有注释的源代码

  • 15074/20   Android福利第三波【Android电子书】

  • 15027/17   用JavaScript 来开发iOS和Android 原生应用:React Native开源框架中文版来啦

  • 15013/23   珍藏多年的素材,灵感搜寻网站

  • 14581/78   【精品推荐】类似360安全卫士安Android源码:非常赞的产品原型

  • 14388/0   iOS中文版资源库,非常全

  • 14142/18   65条最常用正则表达式,你要的都在这里了

  • 14007/15   基于Android支付宝支付设计和开发方案

  • 13476/17   什么是真正的黑客:收获12200+Stars,人气远超微软开源VS

  • 13189/11   有木有这样一张酷图帮你集齐所有git命令超实用

  • 12849/7   一张图搞定iOS学习路线,非常全面

  • 12704/7   用程序员的姿势抢过年的火车票

  • 12680/46   在线音乐播放器完整版(商用级的源码):非常赞,可听免费高品质专辑

  • 12447/10   成为Java顶尖程序员 ,看这11本书就够了

  • 12344/0   GitHub iOS 库和框架Top100 

  • 12292/10   微信支付终于成功了(安卓,iOS),在此分享

  • 12253/18   一张图搞定Android学习路线,非常全面

  • 11971/61   【技巧一】搭配Android Studio,如何实现App远程真机debug?

  • 11932/3   基于Node.js的强大爬虫,能直接发布抓取的文章哦

  • 11795/29   【持续更新中】Android福利贴(一):资料源码

  • 11176/4   46 个非常有用的 PHP 代码片段

  • 11005/3   即时通信第三方库

  • 10707/8   流媒体视频直播方案

  • 10575/18   八个最优秀的Android Studio插件

  • 10575/9   B站建开源工作组:APP想支持炫酷弹幕的看过来

  • 10398/9   烧了5亿美金,这家神秘的公司即将颠覆人类未来!

  • 10253/2   【精品推荐】高质量PHP代码的50个实用技巧:非常值得收藏

  • 10243/10   中国黑客的隐秘江湖:攻守对立,顶尖高手月入千万美元

  • 9639/6   开箱即用!Android四款系统架构工具

  • 9451/10   十大技巧快速提升Android应用开发性能

  • 9387/3   10款GitHub上最火爆的国产开源项目——可以媲美西半球

  • 9342/3   一张图看清Linux 内核运行原理

  • 9175/1   Android性能优化视频,文档以及工具

  • 返回顶部