上個月買了個xt701,心想無聊還可以寫個應用呢,費了2周時間學習Android的寫法,以為熟悉了。然后寫了個五子棋,當時以為做界面和Swing一樣呢,根本沒想到多復雜,就把主要精力放在對弈上了,用了4 、5天時間寫了電腦的算法,終于我這個初級的五子棋水平已經下不過電腦了,很興奮的以為程序就完成了,隨便去市場一看^^_^^_^,五子棋程序好多,心想可能五子棋太簡單了,反正思路差不多,都是對弈,改寫象棋吧,又用了一周寫了象棋的算法,開始都是在電腦寫,終于搜索深度高的時候,根本打不過電腦(我象棋也很菜),很高興的移植到手機上,發(fā)現(xiàn)手機內存和cpu沒那么牛,又開始改,最后終于可以在手機上跑了,以為就完成了,結果這就是是悲劇的開始呀。
算法寫完了,就開始弄界面,悲劇的發(fā)現(xiàn)Android的界面好難弄,我以前寫swing都是完全用代碼根據(jù)layout寫界面然后放在文件里的,開始用xml配置還真不了解,頭大后自我安慰:反正大家玩的是游戲,不是界面,隨便寫個就當玩票吧(其實也是工作開始忙了,上班沒那么多時間了.)隨便去網上弄了幾個圖片,改了改就把我的第一個程序五子棋弄出來了,丟人...看看界面:
寫完之后很得意的在自己手機上跑了跑,覺得蠻不錯的,丑了點還是可以玩嘛,呵呵,然后開始找我的第一個用戶,找到了鄰座的同事,他是G8,請求了好久,保證不是垃圾程序之后終于給他裝上了,然后效果:

被人好好嘲笑了一番,說這種東西有誰用,你沒這個天分呀,郁悶。。
正好這時候來了個新活,就放棄不寫了,過了2周又閑了,心想應該把上次的寫完,還有個象棋的呢,算法寫了那么久不用不浪費了。又開始寫,寫完之后在不同手機上一跑,自卑了,根本不行(當時就會用linelayout和絕對定位);想了想還是努力學習下怎么做界面吧,要不然寫的好也沒用啊,于是在手機上翻了翻,發(fā)現(xiàn)QQ的界面很不錯,就仿照他寫吧.
顯示快捷方式,這個簡單以前就會:
Intent.ShortcutIconResource shortcutIconResource =
Intent.ShortcutIconResource
.fromContext(this, R.drawable.icon);
iconIntent.putExtra("android.intent.extra.shortcut.ICON_RESOURCE",
shortcutIconResource);
iconIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(iconIntent);
配置里再加個:
<uses-permission
android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
效果也差不多:
然是是狀態(tài)欄的小圖標,這個要一直存在,除非退出:
->
在網上查了許久,用Notification
Notification notification = new Notification(
R.drawable.icon_online, "手機QQ正在運行", System
.currentTimeMillis());
RemoteViews remoteviews = new RemoteViews(
activity.getPackageName(),
R.layout.notification_app_running);
然后對remoteviews編輯就可以了,它也有圖片文字和布局屬性,最重要是要一直保持在消息欄上面
notification.flags
= notification.flags| Notification.FLAG_ONGOING_EVENT;
然后就是登陸了
登陸主界面只能一點點的繪制了,最終也不怎么好
網絡設置可以調用系統(tǒng)的
Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
this.startctivity(intent)
"關于"要自己寫一個
版權之類的也是一個簡單的HelpActivity,用Html
.fromHtml轉換就可以了
"退出"就是是一個簡單的對話框,修改下樣式,做個監(jiān)聽就好了:
直接用AnimationDrawable使用一個Handler
Handler loginHandler = new Handler();
loginHandler.postDelayed(new LoginRunable(),
2000L);
在線程里
if (animationDrawable != null) {
animationDrawable.stop();
animationDrawable.start();
登陸完就是主界面,這個比較復雜,有title有bottom還有tabwidget,中間是一個treeview,需要自己重寫:

這張不好,用戶少(我是隨即生成用戶,沒辦法又沒服務器),再來一張
->
->
它的最上面是topwidget,點擊頭像跳轉,界面很好做,一個listview就可以了,關鍵還是圖片呀,終于發(fā)現(xiàn)美工比程序員重要多了,資料界面:
點擊聲音設置跳轉設置界面:
之后都是在listview上添加監(jiān)聽,都是一些簡單的界面
中間如果考慮費時間的,可以加個Handler,做一個等待標志
->
在線狀態(tài),簽名,皮膚設置都是簡單的Activity:
下載費時間的可以用線程,這里我都用隨即模擬的:
群的和好友的基本是一致的
web的瀏覽和好友的類似,都是treeview
還有就是聊天和歷史記錄了,這個不好做,隨便弄了下
還有幾個簡單的退出之類的,其實除了主界面的treeview,都很簡單,主要是布局和圖片美工,越做我越發(fā)現(xiàn)美工差還是不要做了,會做是一回事,做好是另外一回事,差距有十萬八千里呀,最后來個注銷,把我的Android也先注銷了,先弄點美工知識了,要不做出來也沒人要啊.^_^^_^