android SDK中提供了TabHost使用起來(lái)很方便, 但是當(dāng)tab比較多的時(shí)候,就會(huì)擠在一起,而不能橫向的滾動(dòng)比較麻煩.
于是我嘗試的制作了一個(gè)簡(jiǎn)單的使用Gallery來(lái)代替TabHost的例子, 確實(shí)夠簡(jiǎn)單的,自?shī)首詷?lè).....僅供參考

使用BroadcastReceiver來(lái)切換不同的Tab
public class ChangeTabBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int index = intent.getExtras().getInt(CURRENT_TAB_INDEX);
Log.i(TAG, "onReceive index = " + index);
// setCurrentTab(index);
topBar.setSelection(index);
startGroupActivity(titleList.get(index).toString(),
(Intent) intentList.get(index));
}
}
沒有詳細(xì)研究SDK中的TabHost實(shí)現(xiàn)機(jī)制, 使用起來(lái)還是有些不方便的地方
public class GalleryTabActivityDemo extends GalleryTabactivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setDelegate(new SliderBarActivityDelegateImpl());
for (int i = 0; i < 14; i++) {
Intent intent;
if (i % 2 == 0)
intent = new Intent(this, DemoActivity1.class);
else
intent = new Intent(this, DemoActivity2.class);
this.addTab("title" + i, android.R.drawable.star_on, intent);
}
//必須在addTab后調(diào)用commit, 有點(diǎn)麻煩, 將來(lái)會(huì)找更好的辦法
super.setup();
}
//可自定義切換tab時(shí)觸發(fā)的操作
private class SliderBarActivityDelegateImpl extends
SliderBarActivityDelegate {
protected void onTabChanged(int tabIndex) {
Log.d("onTabChanged", "" + tabIndex);
}
}
}
最近工作比較忙,沒太多時(shí)間學(xué)習(xí)android,將來(lái)會(huì)慢慢改善, 先湊合用, 拋塊磚先, 各位有玉的使勁砸, 金條也行
下載
posted @
2010-05-13 15:46 小強(qiáng) 閱讀(2158) |
評(píng)論 (0) |
編輯 收藏
學(xué)習(xí)android的練習(xí)小軟件.
制作文件管理器的初衷是發(fā)現(xiàn)G1上并沒有隨系統(tǒng)附帶文件瀏覽軟件,
考慮到電子書,媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用
應(yīng)用很簡(jiǎn)單, 只是把手機(jī)和SD卡中的文件列出來(lái), 支持圖片和mp3的簡(jiǎn)單預(yù)覽. 未來(lái)會(huì)有更多的功能擴(kuò)充進(jìn)來(lái). 歡迎大家試用并提出意見.
--------------------------------------------------------4月更新0.3版
--------------------------------------------------------------------
自從上次更新后工作太忙,半年沒玩兒ANDROID了, 最近剛剛閑下來(lái), 繼續(xù)完善文件管理器
順便封裝了一些其它的widget, 整理后再發(fā)上來(lái)
看著網(wǎng)上鋪天蓋地的各種android應(yīng)用, 再看看我這個(gè)小破軟件, 實(shí)在有點(diǎn)拿不出手, 但既然做了就得不斷完善下去
目標(biāo)是做一個(gè)封裝widget的集合, 方便開發(fā)者使用
1, 使用線程和handler message機(jī)制讀取文件列表, 提升軟件性能
2, 解決文件列表多次滾動(dòng)后速度下降的問(wèn)題
3, 打開文件使用手機(jī)關(guān)聯(lián)的應(yīng)用
4, 增加文件縮略圖顯示


--------------------------------------------------------10月27日更新0.2版
--------------------------------------------------------------------
1. 0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶快速的瀏覽到經(jīng)常訪問(wèn)的文件或文件夾
2. 修改了一些for developer的bug


-------------------------------------------------------- 0.1版
--------------------------------------------------------------------



-------------------------------------------------------------------- for
developer
--------------------------------------------------------------------
G1上并沒有隨系統(tǒng)附帶文件瀏覽軟件, 考慮到電子書,媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾,
所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用,可以做為插件形式使用
把文件管理器封裝起來(lái)并使用intent機(jī)制設(shè)置瀏覽參數(shù)和調(diào)用
目前暫不支持多文件選擇, 將在下一版中發(fā)布
調(diào)用程序示例
1
Button button2
=
(Button) findViewById(R.id.but2);
2
button2.setOnClickListener(testFileManager);
1
private
OnClickListener testFileManager
=
new
OnClickListener() {
2
public
void
onClick(View v) {
3
Intent intent
=
new
Intent(
"
net.uiiang.android.alkaid.FILEMANAGER
"
);
4
5
//
參數(shù)root_directory, 設(shè)置瀏覽的根目錄, 例如設(shè)置
/sdcard則只允許程序?yàn)g覽sd卡中的內(nèi)容, 當(dāng)程序回退上層文件夾到/sdcard后不再向上回退
6
//
參數(shù)類型為字符串, 默認(rèn)為"/"(根目錄)
7
intent.putExtra(
"
root_directory
"
,
"
/
"
);
8
9
//
參數(shù)exclude_directory, 設(shè)置不顯示的目錄, 例如設(shè)
置"/data", "/dev", 則"/data", "/dev"這兩個(gè)目錄不會(huì)顯示給用戶
10
//
參數(shù)類型為字符串?dāng)?shù)組, 默認(rèn)不排除任何文件夾
11
intent.putExtra(
"
exclude_directory
"
,
12
new
String[] {
"
/data
"
,
"
/dev
"
});
13
14
//
參數(shù)thrid_party_call, 當(dāng)?shù)谌匠绦蛘{(diào)用時(shí), 必須設(shè)置
此參數(shù)為true, 否則下面幾個(gè)參數(shù)不起作用
15
//
參數(shù)類型為boolean, 默認(rèn)為false, 會(huì)顯示以下參數(shù)可設(shè)置的
所有菜單(除 選擇菜單)
16
intent.putExtra(
"
thrid_party_call
"
,
true
);
17
18
//
參數(shù)directory_show_type, 目錄瀏覽方式
19
//
參數(shù)類型為 int, 默認(rèn)為0
20
//
0 : 顯示文件和文件夾(默認(rèn))
21
//
1 : 只顯示文件
22
//
3 : 只顯示文件夾
23
intent.putExtra(
"
directory_show_type
"
,
0
);
24
25
//
參數(shù)use_menu_items, 設(shè)置顯示的預(yù)置菜單
26
//
參數(shù)類型為:int數(shù)組
27
//
菜單列表:
28
//
1 : 上下文菜單-打開 (文件夾)
29
//
2 : 上下文菜單-刪除
30
//
3 : 上下文菜單-詳細(xì)信息
31
//
4 : 上下文菜單-復(fù)制
32
//
5 : option菜單-粘貼
33
//
6 : option菜單-新建文件夾
34
//
99: 上下文菜單-選擇 , 若需要文件管理器返回一個(gè)選中的文件路
徑, 則必須設(shè)置此菜單
35
//
當(dāng)用戶點(diǎn)擊此菜單后, 文件管理器退出并返回給調(diào)用程序一個(gè)字符串?dāng)?shù)
組, 數(shù)組中包含文件路徑信息
36
intent.putExtra(
"
use_menu_items
"
,
new
int
[] {
99
});
37
38
//
參數(shù)show_info_in_list, 是否在瀏覽文件中顯示簡(jiǎn)單的
信息, 如文件夾中包含多少子文件夾和文件
39
//
默認(rèn)為true
40
intent.putExtra(
"
show_info_in_list
"
,
false
);
41
42
//
參數(shù)show_file_extension, 是否顯示文件后綴名
43
//
默認(rèn)為 true
44
intent.putExtra(
"
show_file_extension
"
,
false
);
45
46
//
參數(shù)use_simple_view, 是否使用簡(jiǎn)單文件預(yù)覽
47
//
用戶單擊文件后可以簡(jiǎn)單的預(yù)覽文件內(nèi)容, 目前支持圖片和音樂(lè)文件
48
//
默認(rèn)為 true
49
intent.putExtra(
"
use_simple_view
"
,
false
);
50
51
//
參數(shù)animation_show_list, 是否使用動(dòng)態(tài)效果顯示文
件列表, 目前只支持向下卷簾式的效果
52
//
默認(rèn)為true
53
intent.putExtra(
"
animation_show_list
"
,
true
);
54
55
//
參數(shù)mutiple_select, 是否支持多選, 為true可以一次
性選擇多個(gè)文件或目錄
56
//
默認(rèn)為false
57
intent.putExtra(
"
mutiple_select
"
,
false
);
58
59
startActivityForResult(intent, SELECT_FILE);
60
}
61
};
通過(guò)startActivityForResult調(diào)用文件管理器, 并使用上下文菜單選擇文件或文件夾

點(diǎn)擊"選擇"后, 返回到調(diào)用程序
1
@Override
2
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
3
super
.onActivityResult(requestCode, resultCode, data);
4
if
(requestCode
==
SELECT_FILE) {
5
if
(resultCode
==
RESULT_OK) {
6
//
參數(shù)名為selected_uri, 得到字符串?dāng)?shù)組中包含文件路徑
7
String[] selectArr
=
data.getExtras().getStringArray(
8
"
selected_uri
"
);
9
if
(selectArr
!=
null
) {
10
String selectFile
=
""
;
11
for
(String string : selectArr) {
12
System.out.println(
"
you select =
"
13
+
data.getExtras().getStringArray(
14
"
selected_uri
"
));
15
}
16
}
17
18
}
19
}
20
}

posted @
2010-05-05 17:10 小強(qiáng) 閱讀(338) |
評(píng)論 (0) |
編輯 收藏
摘要: 1. 0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶快速的瀏覽到經(jīng)常訪問(wèn)的文件或文件夾
2. 修改了一些for developer的bug
閱讀全文
posted @
2009-10-27 16:05 小強(qiáng) 閱讀(1644) |
評(píng)論 (2) |
編輯 收藏
摘要: 為文件將來(lái)做電子書或媒體播放器等程序時(shí)瀏覽文件
把文件管理器封裝起來(lái)并使用intent機(jī)制設(shè)置瀏覽參數(shù)和調(diào)用
閱讀全文
posted @
2009-10-17 20:21 小強(qiáng) 閱讀(2669) |
評(píng)論 (2) |
編輯 收藏
摘要: 練習(xí)作品 一個(gè)簡(jiǎn)單的 android 文件管理器, 支持第三方程序調(diào)用
閱讀全文
posted @
2009-10-17 19:50 小強(qiáng) 閱讀(1933) |
評(píng)論 (1) |
編輯 收藏
摘要: 為了體現(xiàn)出android強(qiáng)大的網(wǎng)絡(luò)功能 寫了一個(gè)小爬蟲程序, 通過(guò)網(wǎng)絡(luò)直接從網(wǎng)站上下載電子書
閱讀全文
posted @
2008-06-30 12:00 小強(qiáng) 閱讀(1379) |
評(píng)論 (0) |
編輯 收藏
摘要: 晚上等著看歐洲杯,閑來(lái)無(wú)賴接著研究android , 更新了一下uReader
閱讀全文
posted @
2008-06-18 12:46 小強(qiáng) 閱讀(1527) |
評(píng)論 (4) |
編輯 收藏
摘要: 閑來(lái)無(wú)事, 研究了一下android. 做一個(gè)小應(yīng)用練手.
閱讀全文
posted @
2008-06-17 17:31 小強(qiáng) 閱讀(1886) |
評(píng)論 (4) |
編輯 收藏
摘要:
閱讀全文
posted @
2008-06-10 17:34 小強(qiáng) 閱讀(412) |
評(píng)論 (0) |
編輯 收藏
摘要: 刪除ANDROID數(shù)據(jù)庫(kù)
閱讀全文
posted @
2008-06-10 17:30 小強(qiáng) 閱讀(1908) |
評(píng)論 (0) |
編輯 收藏
摘要: android 技巧一, 快速顯示修改結(jié)果
閱讀全文
posted @
2008-06-03 17:44 小強(qiáng) 閱讀(356) |
評(píng)論 (0) |
編輯 收藏
摘要: device commands:
adb update DATAOPTS
- Flash the specified update file.
If file is not passed, update.zip is used.
adb push - copy file/dir to device
adb pull - copy file/dir from device
adb sync [ ] - copy host->device only if changed
(see 'adb help all')
adb shell - run remote shell interactively
閱讀全文
posted @
2008-06-03 17:36 小強(qiáng) 閱讀(1051) |
評(píng)論 (0) |
編輯 收藏
摘要: adb(Android Debug Bridge)是Android提供的一個(gè)通用的調(diào)試工具,借助這個(gè)工具,我們可以管理設(shè)備或手機(jī)模擬器的狀態(tài)。還可以進(jìn)行以下的操作:
1、快速更新設(shè)備或手機(jī)模擬器中的代碼,如應(yīng)用或Android系統(tǒng)升級(jí);
2、在設(shè)備上運(yùn)行shell命令;
3、管理設(shè)備或手機(jī)模擬器上的預(yù)定端口;
4、在設(shè)備或手機(jī)模擬器上復(fù)制或粘貼文件;
閱讀全文
posted @
2008-06-03 17:35 小強(qiáng) 閱讀(1504) |
評(píng)論 (0) |
編輯 收藏
摘要: Android是基于Linux內(nèi)核的,對(duì)于喜歡研究底層的朋友來(lái)說(shuō),自然不會(huì)放過(guò)搞明白Linux層面上一些東西的機(jī)會(huì)。當(dāng)然,最終目的還是要搞清楚Linux是如何和上層lib以及虛擬機(jī)結(jié)合的,但是這得等Google完全開源Android之后了。很多關(guān)于Linux運(yùn)行的細(xì)節(jié),都可以通過(guò)adb的shell來(lái)看到。 閱讀全文
posted @
2008-06-03 17:30 小強(qiáng) 閱讀(3580) |
評(píng)論 (1) |
編輯 收藏
大學(xué) (一) http://www.tkk7.com/uiiang/archive/2007/05/27/120342.html
康誥曰:“克明德。”大甲曰:“顧諟天之明命。”帝典曰:“克明峻德。”皆自明也。
湯之盤銘曰:“茍日新,日日新,又日新。”康誥曰:“作新民。”詩(shī)曰:“周雖舊邦,其命惟新。”是故君子無(wú)所不用其極。
康誥說(shuō):“能夠弘揚(yáng)光明的品德。”太甲說(shuō):“念念不忘這上天賦予的光明稟性。”堯典說(shuō):“能夠弘揚(yáng)崇高的品德。”這些都是說(shuō)要自己弘揚(yáng)光明正大的品德。
商湯王刻在浴盆上的箴言說(shuō):“如果能夠有一天自新,就應(yīng)保持天天自新,永遠(yuǎn)不斷自新。”康誥中說(shuō):“鼓勵(lì)人們棄舊圖新。”詩(shī)經(jīng)中說(shuō):“周朝雖然是古老的國(guó)家,但卻稟受了天命,自我更新。”所以,品德高尚的人無(wú)處不追求完善。
軟件開發(fā)乃至IT行業(yè)的更新速度極快,今天出個(gè)JAVA,明天出個(gè).net,后天又來(lái)個(gè)什么ruby。所以咱們要不斷的學(xué)習(xí),不斷的進(jìn)步才能跟上技術(shù)的更新速度,才能不被淘汰。
但什么叫自新,這個(gè)自新不是說(shuō)今天出了JAVA,呼啦呼啦的就全買thinking in java去了,明天出了.net又呼啦呼聽的全安.net 2005去了。自新是一個(gè)發(fā)掘和汲取的過(guò)程。別一天到晚的看不起struts嫌他麻煩,瞧不上hibernate嫌他浪費(fèi)性能。人家的技術(shù)能在全世界流行,必然有過(guò)人之處。想想他為什么能在全世界流行,他體現(xiàn)的是哪種設(shè)計(jì)思想。多學(xué)學(xué)人家的優(yōu)點(diǎn),想辦法把這些優(yōu)點(diǎn)用在自己的代碼上。
詩(shī)云:“邦畿千里,惟民所止。”詩(shī)云:“緡蠻黃鳥,止于丘隅。”子曰:“于止,知其所止,可以人而不如鳥乎!”
詩(shī)云:“穆穆文王,于緝熙敬止!”為人君,止于仁;為人臣,止于敬;為人子,止于孝;為人父,止于慈;與國(guó)人交,止于信。
詩(shī)經(jīng)說(shuō):“京城及其周圍,都是老百姓向往的地方。”詩(shī)經(jīng)又說(shuō):“‘緡蠻’叫著的黃鳥,棲息在山丘的角落上。”孔子說(shuō):“連黃鳥都知道它該棲息在什么地方,難道人還能不如一只鳥兒?jiǎn)幔?#8221;
詩(shī)經(jīng)說(shuō):“品德高尚的文王啊,為人光明磊落,做事始終莊重謹(jǐn)慎。”做國(guó)君的,要做到仁義;做臣子的,要做到恭敬;做子女的,要做到孝順;做父親的,要做到慈愛;與他人交往,要做到講信用。
經(jīng)常看到論壇上有人抱怨,自己的工作單調(diào)只不過(guò)是復(fù)制粘貼別人的代碼。可你有沒有想過(guò)為什么去復(fù)制粘貼,是因?yàn)樗拇a寫得太好了,放到哪里都能用?還是架構(gòu)設(shè)計(jì)得不合理,需要重構(gòu)。如果是好,他好在哪里,他為什么這么寫。如果不好,又不好在哪里,應(yīng)該怎么改,如果是你來(lái)設(shè)計(jì),你又會(huì)怎么做來(lái)避免犯這樣的錯(cuò)誤。
很多人抱怨自己在一個(gè)小公司不得志,可有沒有想過(guò)為什么在這種小公司。你有沒有給IBM,google這樣的公司投過(guò)簡(jiǎn)歷,投了簡(jiǎn)歷有沒有面試,面試了這些大公司為什么不要你,而是錄用了別人。要擺正心態(tài),找到自己的位置。你可以覺得不得志,但要有真才實(shí)學(xué)。龐統(tǒng)那么大的才,到了劉備手下不還是先被發(fā)配去當(dāng)縣令。是金子終要發(fā)光的,后來(lái)劉備不也終于認(rèn)識(shí)到龐統(tǒng)的才能并委以重任嗎。可如果你啥都不會(huì),看這個(gè)看不起,瞧那個(gè)瞧不上。一天到晚就知道上網(wǎng)聊天打游戲泡MM。就算到了曹營(yíng)也就當(dāng)個(gè)蔣干,成事不足敗事有余。要本著謙虛學(xué)習(xí)的態(tài)度來(lái)對(duì)待工作對(duì)待周圍的人,要學(xué)會(huì)從別人身上發(fā)現(xiàn)優(yōu)點(diǎn)。
詩(shī)云:“瞻彼淇澳,菉竹猗猗。有斐君子,如切如磋,如琢如磨。瑟兮僩兮,赫兮喧兮。有斐君子,終不可諠兮!”如切如磋者,道學(xué)也;如琢如磨者,自修也;瑟兮僩兮者,恂栗也;赫兮喧兮者,威儀也;有斐君子,終不可諠兮者,道盛德至善,民之不能忘也。
詩(shī)經(jīng)說(shuō):“看那淇水彎彎的岸邊,嫩綠的竹子郁郁蔥蔥。有一位文質(zhì)彬彬的君子,研究學(xué)問(wèn)像加工骨器一樣,不斷切磋;修煉自己像打磨美玉,反復(fù)琢磨。他莊重而開朗,儀表堂堂。這樣的一個(gè)文質(zhì)彬彬的君子,真是令人難忘啊!”
這里所說(shuō)的“加工骨器,反復(fù)琢磨”,是指做學(xué)問(wèn)的態(tài)度;“像打磨美玉,反復(fù)琢磨”,是指自我修煉的精神;說(shuō)他“莊重而開朗”,是指他內(nèi)心謹(jǐn)慎而有所戒懼;說(shuō)他“儀表堂堂”,是指他非常莊重;說(shuō)“這樣一個(gè)文質(zhì)彬彬的君子,真是令人難忘啊!”是指由于他品德非常高尚,達(dá)到了最完善的境界,所以使人難以忘懷。
不要為了工作而工作,為了寫代碼而寫代碼。既然干了這行了就要干好,即使不求名揚(yáng)天下,至少要也對(duì)得起自己這么多年的努力吧。我?guī)н^(guò)幾個(gè)手下,我每次安排任務(wù)后都會(huì)說(shuō):認(rèn)真干活,只要干完活,你去打CS我都不管。我說(shuō)這話的目的是不想給大家太多壓力,大家都挺辛苦都不容易。只要干完活,該聊天該上網(wǎng)隨便你。可如果真正會(huì)學(xué)習(xí)的人,就應(yīng)該明白,自己干的那些活,永遠(yuǎn)是別人安排的。要想多學(xué)東西,還得根據(jù)自己的特點(diǎn)和能力補(bǔ)充知識(shí)。自己寫的代碼是不是已經(jīng)無(wú)懈可擊了,有什么地方值得優(yōu)化,實(shí)現(xiàn)方法是不是可以用更優(yōu)雅的方式。
總之,心中要想著不斷進(jìn)步,要么不做,做了就要做到更好。
posted @
2007-05-29 13:05 小強(qiáng) 閱讀(1115) |
評(píng)論 (1) |
編輯 收藏
這兩三年來(lái),生活一直被工作占據(jù)著,習(xí)慣了用工作來(lái)充實(shí)的生活,閑下來(lái)卻非常無(wú)聊。即使不加班的時(shí)候,回到家里也不知道干點(diǎn)什么好,于是下意識(shí)的又開始寫代碼,學(xué)新技術(shù)。這樣的生活單調(diào)乏味,人也變得無(wú)趣起來(lái)。于是決定,從今天起在家休息的時(shí)間,不再寫代碼。重新找回以前的興趣,豐富業(yè)余生活。想起以前上學(xué)時(shí)住校,閑得沒事做就到圖書館借書,反正呆著也是呆著,那會(huì)兒什么書都看,從古今中外概不排斥。可惜工作后再?zèng)]這閑心了。
今天休息,在家翻了翻書柜,讀一讀大學(xué)。藍(lán)色字是原文,紅色的字是我的一些理解,如果有錯(cuò)的地方,還望大家指正,謝謝。
大學(xué)之道,在明明德,在親民,在止于至善。知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始,知所先后,則近道矣。
大學(xué)的宗旨在于弘揚(yáng)光明正大的品德,在于使人棄舊圖新,在于使人達(dá)到最完善的境界。知道應(yīng)達(dá)到的境界才能志向堅(jiān)定;志向堅(jiān)定才能夠鎮(zhèn)靜而不驕躁;鎮(zhèn)靜而不驕躁才能夠心安理得;心安理得才能夠思慮周詳;思慮周詳才能夠有所收獲。每樣?xùn)|西都有根本和枝末,每件事都有開始和終結(jié)(還記得黑客帝國(guó)3里,先知說(shuō)的那句話嗎?Everything that has a beginning has an end。大概先知也讀過(guò)大學(xué))。明白了這本末始終的道理,就接近事物發(fā)展的規(guī)律了。
在軟件開發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到很多問(wèn)題。其實(shí)每一個(gè)客戶需求都是一個(gè)大問(wèn)題,是一堆問(wèn)題的總合。這就需要我們?cè)诰幊讨埃靼鬃约阂鍪裁矗ㄖ苟笥卸ǎJ(rèn)真的分析我們的需求和目標(biāo)。這樣才能不被一堆稀奇古怪的問(wèn)題嚇倒,能夠讓我們從容的面對(duì)這些工作(定而后能靜)。初學(xué)者經(jīng)常犯一個(gè)錯(cuò)誤,就是不分析問(wèn)題。調(diào)試出錯(cuò)代碼的時(shí)候,經(jīng)常是一遍一遍的運(yùn)行錯(cuò)誤的代碼,然后看著報(bào)錯(cuò)信息發(fā)呆。而不知道如何分析錯(cuò)誤所在,也不知道在哪里打印幾行標(biāo)志來(lái)找出出錯(cuò)的代碼的位置。于是越看越亂,越亂越心慌。這時(shí)候就需要先靜下心來(lái)不要被一個(gè)報(bào)錯(cuò)信息嚇到(靜而后能安)。只有靜下心來(lái),才能想到其實(shí)任何報(bào)錯(cuò)信息,都是有根有據(jù)的,只要根據(jù)提示信息中給出的線索,或者在代碼中打印幾條標(biāo)志信息,或者根據(jù)你輸入的信息運(yùn)行的類或方法去推理,就能夠找到出錯(cuò)的地方(安而后能慮)。當(dāng)你做到這一步,你就找到問(wèn)題的所在了,經(jīng)驗(yàn)值又增加了(慮而后能得)。
就像剛才所說(shuō),任何代碼任何錯(cuò)誤,都是有根有據(jù)不會(huì)憑空出現(xiàn)。我們軟件開發(fā)人員的工作,就是解決一個(gè)一個(gè)的問(wèn)題。只要能把這些問(wèn)題分析得當(dāng),條理清晰的列出來(lái),就離成功不遠(yuǎn)了。
很多初學(xué)編程或剛剛工作的人都會(huì)報(bào)怨,看不懂代碼,不知道業(yè)務(wù)邏輯所以沒法工作。其實(shí)做事的時(shí)候,不要一上來(lái)就想一次解決問(wèn)題,要循序漸進(jìn),你連代碼出錯(cuò)出在哪里都不知道,怎么去修改錯(cuò)誤。要先找到出錯(cuò)的代碼是哪個(gè)文件,是從哪里進(jìn)入的,又經(jīng)過(guò)哪些方法的調(diào)用,要明白這些代碼的業(yè)務(wù)邏輯。如果不明白就先注釋起來(lái)。初學(xué)的時(shí)候要學(xué)會(huì)分析問(wèn)題的方法,找到問(wèn)題的關(guān)鍵點(diǎn),每行代碼其實(shí)都是在調(diào)動(dòng)數(shù)據(jù),但有些調(diào)動(dòng)是對(duì)當(dāng)前業(yè)務(wù)沒有影響的這些可以先排除掉,那些會(huì)對(duì)后面的業(yè)務(wù)邏輯產(chǎn)生影響的,都是問(wèn)題的關(guān)鍵點(diǎn)。初學(xué)者不要嫌麻煩,遇到這些關(guān)鍵點(diǎn)一定要注釋。就算不明白整個(gè)的業(yè)務(wù)邏輯,單獨(dú)一行代碼的意思總該明白吧,無(wú)非就是添刪查改和方法調(diào)用嘛。當(dāng)你把這些代碼通讀一遍并都注釋后,就可以把這些注釋當(dāng)成讀小說(shuō)一樣讀下來(lái),再?gòu)?fù)雜的業(yè)務(wù)邏輯也應(yīng)該能讀明白了。
古之欲明明德于天下者,先治其國(guó);欲治其國(guó)者,先齊其家;欲齊其家者,先修其身;欲修其身者,先正其心;欲正其心者,先誠(chéng)其意;欲誠(chéng)其意者,先致其知;致知在格物。
物格而后知至,知至而后意誠(chéng),意誠(chéng)而后心正,心正而后身修,身修而后家齊,家齊而后國(guó)治,國(guó)治而后天下平。
古代那些想在天下弘揚(yáng)光明正大品德的人,先要治理好自己的國(guó)家;要想治理好自己的國(guó)家,先要管理好自己的家庭和家族;要想管理好自己的家庭,先要修養(yǎng)自身的品性;要想修養(yǎng)自身的品性,先要端正自己的心思;要想端正自己的心思,先要使自己的意念真誠(chéng);要想使自己的意念真誠(chéng),先要使自己獲得知識(shí);獲得知識(shí)的途徑在于認(rèn)識(shí)和研究萬(wàn)事萬(wàn)物。通過(guò)對(duì)萬(wàn)事萬(wàn)物的認(rèn)識(shí),研究后才能獲得知識(shí);獲得知識(shí)后意念才能真誠(chéng);意念真誠(chéng)后心思才能端正;心思端正后才能修養(yǎng)品性;品性修養(yǎng)后才能管理好家庭和家族;管理好家庭后才能治理好國(guó)家;治理好國(guó)家后天下才能太平。
咱們先不說(shuō)什么治國(guó)之論,單就軟件開發(fā)這個(gè)行業(yè)來(lái)講。很多人都在抱怨公司小掙錢少管理混亂感覺屈才之類的。可你真的有這么大才嗎,那些剛剛畢業(yè)的學(xué)生,在學(xué)校里玩兒了四年。到公司時(shí)什么都不會(huì)白紙一張,就像我以前發(fā)過(guò)的一個(gè)文章里說(shuō)的。都不用說(shuō)敬業(yè)精神,當(dāng)你連最起碼的認(rèn)真工作都做不到時(shí),還有什么資格說(shuō)公司給你的工資太少,對(duì)不起你的工作量。
要么別做這份工作,別接受這個(gè)任務(wù),既然做了就要做好。不要把工資少當(dāng)成不認(rèn)真工作的借口。你再不認(rèn)真工作,該被剝削的地方誰(shuí)也跑不了,老板還是要賺他的錢。但工作經(jīng)驗(yàn)是自己的呀!!! 軟件開發(fā)這個(gè)工作需要不斷學(xué)習(xí)不斷的進(jìn)步才能保持自己的位置。而軟件開發(fā)正是需要認(rèn)真工作,才能體會(huì)出其中的奧妙,體會(huì)其中的精華所在。要想讓自己將來(lái)有好的發(fā)展,就要先做到自律,休息的時(shí)候當(dāng)然要玩兒,但上班的時(shí)候就要以工作為重。要想自律就要提高自身修養(yǎng),提高自己對(duì)工作重要性的認(rèn)識(shí)。要想提高自身修養(yǎng),就要端正自己的心態(tài),上班的時(shí)候不要總?cè)ハ胧裁创巴獾母邩墙稚系拿琅R攵苏膽B(tài),就要讓自己的意念真誠(chéng),要真心的認(rèn)真負(fù)責(zé)的對(duì)待自己的工作,對(duì)待自己手中寫出的每一行代碼。這時(shí)就需要先獲得知識(shí),要學(xué)會(huì)這些技術(shù),不然什么都不懂的人只能復(fù)制粘貼別人的代碼,卻不知道這些代碼在干什么,往往復(fù)制錯(cuò)了自己卻混然不知。
自天子以至于庶人,壹是皆以修身為本。其本亂而末治者否矣,其所厚者薄,而其所薄者厚,未之有也!
上自國(guó)家君王,下至平民百姓,人人都要以修養(yǎng)品性為根本。若這個(gè)根本被擾亂了,是不可能治理好家庭甚至國(guó)家天下的。不分輕重緩急,本末倒置卻想做好事情,這也同樣是不可能的。
就像剛才說(shuō)的,剛工作的人工資少工作累這是事實(shí)情況,大家都是從這一步走過(guò)來(lái)的。只有經(jīng)歷過(guò)這一步,才能明白認(rèn)真工作和提高工作效率的重要性。要想提高工作效率,就要提高自身能力,就要積累工作經(jīng)驗(yàn)。可工作經(jīng)驗(yàn)這東西并不是說(shuō)來(lái)就來(lái)的,需要自己刻苦努力才能得來(lái)。并不是說(shuō)明天把你送到IBM或者什么大公司,給你好多好多錢,給你換了一個(gè)超美的工作環(huán)境。你就突然什么都會(huì)了什么都懂了。當(dāng)你什么都不會(huì)還凈犯錯(cuò)的時(shí)候,真的到了這種環(huán)境中,周圍都是高手,你還好意思和別人打招呼嗎?
posted @
2007-05-27 20:27 小強(qiáng) 閱讀(1410) |
評(píng)論 (4) |
編輯 收藏
? 很久沒有上blogjava了, 自從離職后, 從過(guò)春節(jié)到現(xiàn)在, 家里發(fā)生了很多事, 搞得我暈頭轉(zhuǎn)向. 一直沒有去找工作. 最近終于穩(wěn)定下來(lái).?
? 休息這段時(shí)間, 為了保持自己的工作狀態(tài), 并且希望將這幾年工作中學(xué)習(xí)到的技術(shù), 做一個(gè)總結(jié), 便產(chǎn)生了開發(fā)自己的網(wǎng)站想法.
? www.songguo.net
??從功能上講, 以譯客為主. 由網(wǎng)友發(fā)布文章, 其它網(wǎng)友來(lái)對(duì)文章進(jìn)行翻譯. 可以翻譯整篇文章, 也可以只翻譯其中一個(gè)片段.
? 網(wǎng)友還可以對(duì)別人的翻譯進(jìn)行投票,?當(dāng)有人點(diǎn)擊一個(gè)片段時(shí), 翻譯的結(jié)果也會(huì)根據(jù)其它網(wǎng)友的投票結(jié)果排序顯示出來(lái).
? 另一個(gè)小功能是股票管理. 現(xiàn)在只實(shí)現(xiàn)了很小一部分功能. 主要想法是最近股市火熱, 我也不幸上了賊船, 可是在公司上班時(shí),?明目張膽的打開股票軟件未免有點(diǎn)太囂張了.?而且現(xiàn)在的股票軟件太顯眼,?老遠(yuǎn)一看就知道是什么.?
? 于是受google的簡(jiǎn)約主義影響, 做了這個(gè)盡可能簡(jiǎn)化功能和界面的小功能.?界面上的各個(gè)面板都可以通過(guò)點(diǎn)擊標(biāo)題欄關(guān)閉, K線圖也可以直接點(diǎn)擊關(guān)閉. 這樣可以很快的隱藏自己,?嘿嘿~~
??技術(shù)上講的話, 網(wǎng)站使用了大量的開源技術(shù), 基本的struts, spring hibernate就不說(shuō)了, 火爆的AJAX也根據(jù)性能和需求的考慮也用到了. AJAX方面主要使用了DWR框架.? 其它的技術(shù)像url重寫之類的也是能用就用.
??
? 過(guò)去幾年一直是在做企業(yè)應(yīng)用的開發(fā), 這是我第一次做通用型的網(wǎng)站, 實(shí)在沒什么經(jīng)驗(yàn).? 而且完全是一個(gè)人做, 沒什么借鑒, 只能分析一下別人的網(wǎng)站來(lái)模仿.?? 在很多功能的實(shí)現(xiàn)上也經(jīng)常找不到最好的解決方案, 很想知道那些成熟的網(wǎng)站中, 是如何設(shè)計(jì)的. 現(xiàn)在只能一邊摸索一邊做了
? 由于時(shí)間倉(cāng)促, 很多想法還沒有實(shí)現(xiàn),?也有不少BUG, 衷心希望大家能給我多提意見. 謝謝
?
posted @
2007-03-21 09:53 小強(qiáng) 閱讀(1871) |
評(píng)論 (22) |
編輯 收藏