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的運用, 我還是很清楚,畢竟是弱菜。。。。

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