-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathabout_dongji_market.txt
69 lines (68 loc) · 3.83 KB
/
about_dongji_market.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
接口、广播的使用
1.应用、游戏按钮点击事件处理可以进行优化
2.模块组成:
(1)TitleUtil:这个类的设计比较巧妙,实现了actionbar的重用,应用内所有的actionbar操作都聚合在此类中
实现OnClickListener, AConstDefine接口,监听actionbar上按钮点击事件,获取常量定义数据(通过实现接口这种方式很奇葩,为什么不直接定义一个类呢?)
三个接口,三种构造方式,实现对被监听者actionbar的toolbarblank点击,回退,排序等相关操作的监听,然后监听者做出对应的响应:
public interface OnSortChangeListener {//监听排序改变
static final int SORT_BY_DOWNLOAD = 1; // 按时间排序
static final int SORT_BY_SCORE = 2; // 按评分排序
static final int SORT_BY_RISE = 3; // 按下载次数排序
void onSortChanged(int sort);
}
public interface OnToolBarBlankClickListener {//监听空白栏点击
void onClick();
}
public static interface SaveSettingListener {//后退保存(针对设置页)设置信息
public void exitVerify(boolean isFinish, int pageFlag);
}
TitleUtil(Activity cxt, View titleView, int pageNameId, Bundle params, OnToolBarBlankClickListener mOnToolBarBlankClickListener)
TitleUtil(Activity cxt, View titleView, int pageNameId, SaveSettingListener saveListener, Bundle params, OnToolBarBlankClickListener mOnToolBarBlankClickListener)
TitleUtil(Activity cxt, View titleView, String pageName, Bundle bundle, OnSortChangeListener listener, OnToolBarBlankClickListener mOnToolBarBlankClickListener)
(2)activity的继承:
CustomActivity---->BaseActivity------>PublicActivity------------>Activity
PublicActivity
(3)设置是否可以下载图片不合理
boolean flag = DJMarketUtils.isSaveFlow(this);// 是否开启流量模式
mApp.setRemoteImage(flag);// 是否下载图片
if (mApp.isRemoteImage()) {
isRemoteImage = false;
}
isEconomizeTraffic =mApp.isRemoteImage();
应该改成以下方式:
boolean flag = DJMarketUtils.isSaveFlow(this);// 是否开启流量模式
mApp.setRemoteImage(!flag);// 是否下载图片
isRemoteImage = mApp.isRemoteImage();
isEconomizeTraffic =!mApp.isRemoteImage();
(4) 获取本地应用数据,应用图片为什么要用异步?uninstallActivity->filetask->imageloadtask->uninstalladapter
(5) 垂直排列,将内容隐藏,将加载progressbar,文字显示可达到提示的目的
(6) 接口在哪定义都行,只要将接口的实现对象传给希望回调的对象即可 BackupOrRestoreActivity OnProgressChangeListener
(7) 自定义对话框的宽度可以参考customgallerydialog实现
(8)ListBaseAdapter changeApkStatus遍历应用列表找到一个相同包名做出相应动作后,可以跳出循环结束遍历,因为不存在两个相同的包名
(9) 自动更新时的bug
downloadService updateDataDone方法
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
ApkItem item = list.get(i);
int j = 0;
for (; j < downloadList.size(); j++) {
DownloadEntity entity = downloadList.get(j);
// if(entity.downloadType==TYPE_OF_DOWNLOAD ||
// entity.downloadType==TYPE_OF_COMPLETE) {
if (entity.appId == item.appId
&& entity.category == item.category) {
break;
}
// }
}
if (j == downloadList.size()) {
DownloadEntity d = new DownloadEntity(item);
d.downloadType = TYPE_OF_UPDATE;
DownloadUtils.setInstallDownloadEntity(this, d);
tempList.add(d);
}
}
}
会判断更新列表是否在下载列表中,安装后第一次进行更新时,更新列表肯定不在下载列表中,但是自动更新是关闭状态,但是把自动更新打开,再重新进入时,此时更新列表已
包含在下载列表中,故不会再自动下载
(10)优化SlipSwitch