您的位置:首页 > 移动开发 > Android开发

XX日历简单逆向分析

2015-08-29 13:54 295 查看

申明

如果涉及侵权行为,弱菜立刻删除此文。

前言

最近帮同学做一个项目, 发现要用到一个日历,而且日历要能够在月和周之间切换, 一开始我就想到要用android自带的日历, 但是好像功能上还是有些不一样, 于是我就百度,csdn,segmentfault上翻了一通,找了好久没有找到心目中的结果,不过后来到时找打了一个用按钮实现周月切换的代码,自己尝试了一下,还是可以用的,他的思路就是自己去实现一个日历, 然后添加手势功能。 后来我在网上又发现了一款以日历为主题的app,效果很好, 这里先吐槽一下这个app, 好好做你的日历, 别的功能去掉就去掉。。。然后就是想看看这个app是如何实现这个效果的,于是就有了这篇文章。

实践

直接把这个apk拖进androidkiller,发现混淆过了,因为我们是要找布局文件,所以直接去看layout,最先看到的是calendar_show_type和calendar_show_type_view 这两个layout,但是并没有什么卵用, 因为他们好像是旧版的内容, 在新版里,我没有找到这些string(可能是弱菜眼拙) .

<string name="themeskin_tab_name0">主页</string>
<string name="themeskin_tab_name1">主题背景</string>
<string name="themeskin_tab_name2">桌面插件</string>
<string name="themeskin_tab_name3">日历样式</string>
<string name="themeskin_tab_name4">订阅日历</string>

<string name="calendar_and_weather">日历天气</string>
<string name="calendar_show_type_1">半屏日历</string>
<string name="calendar_show_type_2">经典全屏</string>


接着往下看,看到以main开头的layout,发现最开始的星期,还有底部的tab,再然后发现了一个mian_add_view,应该是把main的view组合在一起,然后发现了一句很有意思的话==android:text=”从前从前有个人爱你很久\n但偏偏风渐渐把距离吹得好远\n好不容易又能再多爱一天\n但故事的最后你好像还是说了拜拜.”

<TextView android:gravity="center" android:id="@id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/sunday" android:layout_weight="1.0" style="@style/table_weekend" />
<TextView android:gravity="center" android:id="@id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/monday" android:layout_weight="1.0" style="@style/table_workday" />
<TextView android:gravity="center" android:id="@id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tuesday" android:layout_weight="1.0" style="@style/table_workday" />
<TextView android:gravity="center" android:id="@id/textView9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/wednesday" android:layout_weight="1.0" style="@style/table_workday" />
<TextView android:gravity="center" android:id="@id/textView10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/thursday" android:layout_weight="1.0" style="@style/table_workday" />
<TextView android:gravity="center" android:id="@id/textView11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/friday" android:layout_weight="1.0" style="@style/table_workday" />
<TextView android


这里分析了一下,可以发现有些view是在common文件夹下,于是我们就去拜访一下。主要是两个文件,里面的类继承了ImageView和手势监听器, 这里基本就可以明白这个日历是如何实现的了, 但是对于ImageView的运用, 我还是很清楚,毕竟是弱菜。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 日历