Skip to content

Commit fe0a4ad

Browse files
committed
1. 同步初步实现。
1 parent 3c293b0 commit fe0a4ad

8 files changed

Lines changed: 501 additions & 1 deletion

File tree

app/src/main/java/com/nightonke/saver/activity/AccountBookTodayViewActivity.java

Lines changed: 299 additions & 0 deletions
Large diffs are not rendered by default.

app/src/main/java/com/nightonke/saver/activity/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ public void onPageScrollStateChanged(int state) {
233233
// tag viewpager////////////////////////////////////////////////////////////////////////////////////
234234
tagViewPager = (ViewPager)findViewById(R.id.viewpager);
235235

236-
if (RecordManager.TAGS.size() % 8 == 0)
236+
if (RecordManager.getInstance(mContext).TAGS.size() % 8 == 0)
237237
tagAdapter = new TagChooseFragmentAdapter(getSupportFragmentManager(), RecordManager.TAGS.size() / 8);
238238
else
239239
tagAdapter = new TagChooseFragmentAdapter(getSupportFragmentManager(), RecordManager.TAGS.size() / 8 + 1);

app/src/main/java/com/nightonke/saver/model/SettingManager.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public class SettingManager {
5454
private Boolean REMIND_UPDATE;
5555
// whether this version can be updated
5656
private Boolean CAN_BE_UPDATED;
57+
// recently sync to mobile time
58+
private String RECENTLY_SYNC_TIME;
5759

5860
// tell the mainActivity whether the tags' order should be changed
5961
private Boolean MAIN_ACTIVITY_TAG_SHOULD_CHANGE = false;
@@ -125,6 +127,8 @@ public class SettingManager {
125127
private final String DEFAULT_PROFILE_IMAGE_DIR = "imageDir";
126128
// the profile logo name
127129
private final String DEFAULT_PROFILE_IMAGE_NAME = "profile.jpg";
130+
// recently sync to mobile
131+
private final String DEFAULT_RECENTLY_SYNC_TIME = null;
128132

129133
private boolean SHOW_MAIN_ACTIVITY_GUIDE = true;
130134

@@ -439,6 +443,21 @@ public void setCanBeUpdated(Boolean CAN_BE_UPDATED) {
439443
this.CAN_BE_UPDATED = CAN_BE_UPDATED;
440444
}
441445

446+
public String getRecentlySyncTime() {
447+
RECENTLY_SYNC_TIME = PreferenceManager.
448+
getDefaultSharedPreferences(CoCoinApplication.getAppContext())
449+
.getString("RECENTLY_SYNC_TIME", DEFAULT_RECENTLY_SYNC_TIME);
450+
return RECENTLY_SYNC_TIME;
451+
}
452+
453+
public void setRecentlySyncTime(String RECENTLY_SYNC_TIME) {
454+
SharedPreferences.Editor editor = PreferenceManager
455+
.getDefaultSharedPreferences(CoCoinApplication.getAppContext()).edit();
456+
editor.putString("RECENTLY_SYNC_TIME", RECENTLY_SYNC_TIME);
457+
editor.commit();
458+
this.RECENTLY_SYNC_TIME = RECENTLY_SYNC_TIME;
459+
}
460+
442461
public String getProfileImageName() {
443462
return DEFAULT_PROFILE_IMAGE_NAME;
444463
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.nightonke.saver.model;
2+
3+
/**
4+
* Created by Weiping on 2016/1/27.
5+
*/
6+
public class TaskManager {
7+
8+
public static int QUERY_UPDATE_TASK = 0;
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+
private static TaskManager ourInstance = new TaskManager();
41+
42+
public static TaskManager getInstance() {
43+
return ourInstance;
44+
}
45+
46+
private TaskManager() {
47+
}
48+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.nightonke.saver.ui;
2+
3+
import com.nightonke.saver.model.UploadInfo;
4+
5+
import cn.bmob.v3.BmobQuery;
6+
7+
/**
8+
* Created by Weiping on 2016/1/27.
9+
*/
10+
11+
public class MyQuery {
12+
13+
private int task;
14+
public BmobQuery<UploadInfo> query;
15+
16+
public int getTask() {
17+
return task;
18+
}
19+
20+
public void setTask(int task) {
21+
this.task = task;
22+
}
23+
}

app/src/main/java/com/nightonke/saver/util/CoCoinUtil.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import com.nineoldandroids.animation.ObjectAnimator;
2626
import com.rengwuxian.materialedittext.MaterialEditText;
2727

28+
import java.text.ParseException;
29+
import java.text.SimpleDateFormat;
2830
import java.util.Calendar;
2931
import java.util.Comparator;
3032
import java.util.HashMap;
@@ -1061,4 +1063,35 @@ public static Point GetScreenSize(Context context) {
10611063
public static String GetCurrentVersion() {
10621064
return "CoCoin V" + CoCoinApplication.VERSION / 100 + "." + CoCoinApplication.VERSION % 100 / 10 + "." + CoCoinApplication.VERSION % 10;
10631065
}
1066+
1067+
public static String GetString(Context context, int i) {
1068+
return context.getResources().getString(i);
1069+
}
1070+
1071+
public static String GetCalendarString(Context context, Calendar calendar) {
1072+
if ("en".equals(Locale.getDefault().getLanguage())) {
1073+
return context.getResources().getString(MONTHS_SHORT[calendar.get(Calendar.MONTH) + 1]) + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1074+
}
1075+
if ("zh".equals(Locale.getDefault().getLanguage())) {
1076+
return context.getResources().getString(MONTHS_SHORT[calendar.get(Calendar.MONTH) + 1]) + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1077+
}
1078+
return (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1079+
}
1080+
1081+
public static String GetCalendarString(Context context, String string) {
1082+
Calendar calendar = Calendar.getInstance();
1083+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1084+
try {
1085+
calendar.setTime(sdf.parse(string));
1086+
} catch (ParseException p) {
1087+
1088+
}
1089+
if ("en".equals(Locale.getDefault().getLanguage())) {
1090+
return context.getResources().getString(MONTHS_SHORT[calendar.get(Calendar.MONTH) + 1]) + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1091+
}
1092+
if ("zh".equals(Locale.getDefault().getLanguage())) {
1093+
return context.getResources().getString(MONTHS_SHORT[calendar.get(Calendar.MONTH) + 1]) + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1094+
}
1095+
return (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
1096+
}
10641097
}

app/src/main/res/values-zh/strings.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,4 +381,43 @@
381381
<string name="checking_update">正在检测最新版本……</string>
382382
<string name="is_newest_version">当前已是最新版本</string>
383383

384+
<string name="sync_querying_title">同步</string>
385+
<string name="sync_querying_content">正在检查同步信息,请稍候……</string>
386+
<string name="sync_querying_fail_title">同步失败</string>
387+
<string name="sync_querying_fail_content">网络中断,检查同步信息失败</string>
388+
<string name="sync_choose_title">同步</string>
389+
<string name="sync_info_cloud_record_0">您在云上记有</string>
390+
<string name="sync_info_cloud_record_1">条消费记录。</string>
391+
<string name="sync_info_cloud_time_0">您最近的上传时间是</string>
392+
<string name="sync_info_cloud_time_1">。</string>
393+
<string name="sync_info_cloud_time_2">您还未曾上传过。</string>
394+
<string name="sync_info_mobile_record_0">您在本地记有</string>
395+
<string name="sync_info_mobile_record_1">条消费记录。</string>
396+
<string name="sync_info_mobile_time_0">您最近同步到本地的时间是</string>
397+
<string name="sync_info_mobile_time_1">。</string>
398+
<string name="sync_info_mobile_time_2">您还未曾同步到本地过。</string>
399+
<string name="sync_choose_content">您可以选择将本地账本上传到云(覆盖掉原来在云上的账本),或者将云上的账本同步到本地(覆盖掉原来在本地的账本)。</string>
400+
<string name="sync_to_mobile">云上账本同步到本地</string>
401+
<string name="sync_to_cloud">本地账本上传到云上</string>
402+
<string name="sure_to_mobile_0">确定将</string>
403+
<string name="sure_to_mobile_1">条消费记录从云上同步到本地账本?本地账本将被覆盖。</string>
404+
<string name="sure_to_cloud_0">确定将</string>
405+
<string name="sure_to_cloud_1">条消费记录从本地上传到云上账本?云上账本将被覆盖。</string>
406+
<string name="mobile_record_empty">您的手机里没有消费记录,不能上传。</string>
407+
<string name="cloud_record_empty">您在云上账本里没有消费记录,不能同步到本地。</string>
408+
<string name="syncing">正在同步</string>
409+
<string name="uploading_0">正在上传第</string>
410+
<string name="uploading_1">条消费记录到云,请耐心等候。</string>
411+
<string name="downloading_0">正在同步第</string>
412+
<string name="downloading_1">条消费记录到本地,请耐心等候。</string>
413+
<string name="sync_failed">同步失败</string>
414+
<string name="uploading_fail_0">网络中断,上传失败。</string>
415+
<string name="uploading_fail_1">条消费记录已上传到云上账本。</string>
416+
<string name="downloading_fail_0">网络中断,同步失败。</string>
417+
<string name="downloading_fail_1">条消费记录已同步到本地账本。</string>
418+
<string name="sync_completely_title">同步完成</string>
419+
<string name="sync_completely_content">同步完成。</string>
420+
421+
<string name="ok_1">确认</string>
422+
384423
</resources>

app/src/main/res/values/strings.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,4 +394,43 @@
394394
<string name="checking_update">Checking new version…</string>
395395
<string name="is_newest_version">Current version is newest</string>
396396

397+
<string name="sync_querying_title">Sync</string>
398+
<string name="sync_querying_content">Checking sync information. Please wait.</string>
399+
<string name="sync_querying_fail_title">Sync Failed</string>
400+
<string name="sync_querying_fail_content">Internet disconnected. Check sync information failed.</string>
401+
<string name="sync_choose_title">Sync</string>
402+
<string name="sync_info_cloud_record_0">You have </string>
403+
<string name="sync_info_cloud_record_1"> record(s) in cloud. </string>
404+
<string name="sync_info_cloud_time_0">Your recently uploading operation time is </string>
405+
<string name="sync_info_cloud_time_1">. </string>
406+
<string name="sync_info_cloud_time_2">You haven\'t uploaded records to cloud. </string>
407+
<string name="sync_info_mobile_record_0">You have </string>
408+
<string name="sync_info_mobile_record_1"> record(s) in mobile. </string>
409+
<string name="sync_info_mobile_time_0">Your recently downloading operation time is </string>
410+
<string name="sync_info_mobile_time_1">. </string>
411+
<string name="sync_info_mobile_time_2">You haven\'t downloaded records to mobile. </string>
412+
<string name="sync_choose_content">You can choose to upload the records in your mobile to cloud(the old records in cloud will be deleted) or to download the records in cloud to your mobile(the old records in mobile will be deleted).</string>
413+
<string name="sync_to_mobile">From cloud to mobile</string>
414+
<string name="sync_to_cloud">From mobile to cloud</string>
415+
<string name="sure_to_mobile_0">Sure to sync </string>
416+
<string name="sure_to_mobile_1"> record(s) from cloud to mobile? Old records in mobile will be deleted.</string>
417+
<string name="sure_to_cloud_0">Sure to sync </string>
418+
<string name="sure_to_cloud_1"> record(s) from mobile to cloud? Old records in cloud will be deleted.</string>
419+
<string name="mobile_record_empty">There is no record in your mobile!</string>
420+
<string name="cloud_record_empty">There is no record in cloud!</string>
421+
<string name="syncing">Syncing</string>
422+
<string name="uploading_0">Uploading No.</string>
423+
<string name="uploading_1"> record. Please wait.</string>
424+
<string name="downloading_0">Downloading No.</string>
425+
<string name="downloading_1"> record. Please wait.</string>
426+
<string name="sync_failed">Sync Failed</string>
427+
<string name="uploading_fail_0">Sync failed for internet connection. </string>
428+
<string name="uploading_fail_1"> record(s) has(have) been uploaded.</string>
429+
<string name="downloading_fail_0">Sync failed for internet connection. </string>
430+
<string name="downloading_fail_1"> record(s) has(have) been downloaded.</string>
431+
<string name="sync_completely_title">Sync Completely</string>
432+
<string name="sync_completely_content">Sync completely.</string>
433+
434+
<string name="ok_1">ok</string>
435+
397436
</resources>

0 commit comments

Comments
 (0)