XX日历简单逆向分析

申明

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

前言

最近帮同学做一个项目, 发现要用到一个日历,而且日历要能够在月和周之间切换, 一开始我就想到要用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的运用, 我还是很清楚,毕竟是弱菜。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章