阿里云服务器免费领卷啦。

捡代码论坛-最全的游戏源码下载技术网站!

 找回密码
 立 即 注 册

QQ登录

只需一步,快速开始

搜索
关于源码区的附件失效或欺骗帖, 处理办法
查看: 22731|回复: 36

[安卓,android源码] 小米便签产品级的源码

[复制链接]

4208

主题

210

回帖

12万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
126186
QQ
发表于 2016-7-28 09:53:58 | 显示全部楼层 |阅读模式
小米便签产品级的源码
码简介

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



源码截图



源码片段:
  1. public abstract class NoteWidgetProvider extends AppWidgetProvider {
  2.     public static final String [] PROJECTION = new String [] {
  3.         NoteColumns.ID,
  4.         NoteColumns.BG_COLOR_ID,
  5.         NoteColumns.SNIPPET
  6.     };
  7.      
  8.     public static final int COLUMN_ID           = 0;
  9.     public static final int COLUMN_BG_COLOR_ID  = 1;
  10.     public static final int COLUMN_SNIPPET      = 2;
  11.      
  12.     private static final String TAG = "NoteWidgetProvider";
  13.      
  14.     @Override
  15.     public void onDeleted(Context context, int[] appWidgetIds) {
  16.         ContentValues values = new ContentValues();
  17.         values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
  18.         for (int i = 0; i < appWidgetIds.length; i++) {
  19.             context.getContentResolver().update(Notes.CONTENT_NOTE_URI,
  20.                     values,
  21.                     NoteColumns.WIDGET_ID + "=?",
  22.                     new String[] { String.valueOf(appWidgetIds)});
  23.         }
  24.     }
  25.      
  26.     private Cursor getNoteWidgetInfo(Context context, int widgetId) {
  27.         return context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
  28.                 PROJECTION,
  29.                 NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?",
  30.                 new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) },
  31.                 null);
  32.     }
  33.      
  34.     protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
  35.         update(context, appWidgetManager, appWidgetIds, false);
  36.     }
  37.      
  38.     private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds,
  39.             boolean privacyMode) {
  40.         for (int i = 0; i < appWidgetIds.length; i++) {
  41.             if (appWidgetIds != AppWidgetManager.INVALID_APPWIDGET_ID) {
  42.                 int bgId = ResourceParser.getDefaultBgId(context);
  43.                 String snippet = "";
  44.                 Intent intent = new Intent(context, NoteEditActivity.class);
  45.                 intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
  46.                 intent.putExtra(Notes.INTENT_EXTRA_WIDGET_ID, appWidgetIds);
  47.                 intent.putExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, getWidgetType());
  48.      
  49.                 Cursor c = getNoteWidgetInfo(context, appWidgetIds);
  50.                 if (c != null && c.moveToFirst()) {
  51.                     if (c.getCount() > 1) {
  52.                         Log.e(TAG, "Multiple message with same widget id:" + appWidgetIds);
  53.                         c.close();
  54.                         return;
  55.                     }
  56.                     snippet = c.getString(COLUMN_SNIPPET);
  57.                     bgId = c.getInt(COLUMN_BG_COLOR_ID);
  58.                     intent.putExtra(Intent.EXTRA_UID, c.getLong(COLUMN_ID));
  59.                     intent.setAction(Intent.ACTION_VIEW);
  60.                 } else {
  61.                     snippet = context.getResources().getString(R.string.widget_havenot_content);
  62.                     intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
  63.                 }
  64.      
  65.                 if (c != null) {
  66.                     c.close();
  67.                 }
  68.      
  69.                 RemoteViews rv = new RemoteViews(context.getPackageName(), getLayoutId());
  70.                 rv.setImageViewResource(R.id.widget_bg_image, getBgResourceId(bgId));
  71.                 intent.putExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, bgId);
  72.                 /**
  73.                  * Generate the pending intent to start host for the widget
  74.                  */
  75.                 PendingIntent pendingIntent = null;
  76.                 if (privacyMode) {
  77.                     rv.setTextViewText(R.id.widget_text,
  78.                             context.getString(R.string.widget_under_visit_mode));
  79.                     pendingIntent = PendingIntent.getActivity(context, appWidgetIds, new Intent(
  80.                             context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
  81.                 } else {
  82.                     rv.setTextViewText(R.id.widget_text, snippet);
  83.                     pendingIntent = PendingIntent.getActivity(context, appWidgetIds, intent,
  84.                             PendingIntent.FLAG_UPDATE_CURRENT);
  85.                 }
  86.      
  87.                 rv.setOnClickPendingIntent(R.id.widget_text, pendingIntent);
  88.                 appWidgetManager.updateAppWidget(appWidgetIds, rv);
  89.             }
  90.         }
  91.     }
  92.      
  93.     protected abstract int getBgResourceId(int bgId);
  94.      
  95.     protected abstract int getLayoutId();
  96.      
  97.     protected abstract int getWidgetType();
  98. }
复制代码
MiCode便签是小米便签的社区开源版,由MIUI团队发起并贡献第一批代码

源码下载:

游客,如果您要查看本帖隐藏内容请回复


小米便签产品级的源码
http://bbs.jiandaima.com/thread-515-1-1.html

捡代码论坛-最全的游戏源码下载技术网站! - 论坛版权郑重声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与捡代码论坛-最全的游戏源码下载技术网站!享有帖子相关版权
3、捡代码论坛版权,详细了解请点击。
4、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
5、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
6、如无法链接失效或侵犯版权,请给我们来信:jiandaima@foxmail.com

回复

使用道具 举报

0

主题

3

回帖

22

积分

新手上路

Rank: 1

积分
22
发表于 2016-8-9 09:19:23 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

7

回帖

46

积分

微信用户

Rank: 1

积分
46
发表于 2016-8-14 01:34:42 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

3

回帖

18

积分

新手上路

Rank: 1

积分
18
发表于 2016-9-15 11:40:12 | 显示全部楼层
登录可见评论
回复

使用道具 举报

1

主题

26

回帖

185

积分

注册会员

Rank: 2

积分
185
发表于 2016-9-17 00:01:56 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

206

回帖

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
发表于 2016-11-9 09:22:49 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

3

回帖

25

积分

新手上路

Rank: 1

积分
25
发表于 2016-12-28 16:37:57 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

21

回帖

65

积分

注册会员

Rank: 2

积分
65
发表于 2017-1-5 10:16:48 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

22

回帖

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-1-11 15:03:44 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

21

回帖

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-1-12 14:50:01 | 显示全部楼层
登录可见评论
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立 即 注 册

本版积分规则

技术支持
在线咨询
QQ咨询
3351529868

QQ|手机版|小黑屋|捡代码论坛-专业源码分享下载 ( 陕ICP备15015195号-1|网站地图

GMT+8, 2024-4-27 09:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表