Thinking in XiaoQiang
          世人皆有悲哀,只有你不明白
          posts - 56,comments - 150,trackbacks - 0
          android SDK中提供了TabHost使用起來很方便, 但是當(dāng)tab比較多的時(shí)候,就會(huì)擠在一起,而不能橫向的滾動(dòng)比較麻煩.

                于是我嘗試的制作了一個(gè)簡單的使用Gallery來代替TabHost的例子, 確實(shí)夠簡單的,自娛自樂.....僅供參考

           

               

           

                使用BroadcastReceiver來切換不同的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ī)制, 使用起來還是有些不方便的地方


          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)麻煩, 將來會(huì)找更好的辦法
                  super.setup();
              }

          //可自定義切換tab時(shí)觸發(fā)的操作
              private class SliderBarActivityDelegateImpl extends
                      SliderBarActivityDelegate {
                  
          protected void onTabChanged(int tabIndex) {
                      Log.d(
          "onTabChanged""" + tabIndex);
                  }
              }
          }

          最近工作比較忙,沒太多時(shí)間學(xué)習(xí)android,將來會(huì)慢慢改善, 先湊合用, 拋塊磚先, 各位有玉的使勁砸, 金條也行

           下載

          posted @ 2010-05-13 15:46 小強(qiáng) 閱讀(2160) | 評(píng)論 (0)編輯 收藏
          學(xué)習(xí)android的練習(xí)小軟件.

           

              制作文件管理器的初衷是發(fā)現(xiàn)G1上并沒有隨系統(tǒng)附帶文件瀏覽軟件, 考慮到電子書,媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用

              應(yīng)用很簡單, 只是把手機(jī)和SD卡中的文件列出來, 支持圖片和mp3的簡單預(yù)覽. 未來會(huì)有更多的功能擴(kuò)充進(jìn)來. 歡迎大家試用并提出意見.

          --------------------------------------------------------4月更新0.3版 --------------------------------------------------------------------

          自從上次更新后工作太忙,半年沒玩兒ANDROID了, 最近剛剛閑下來, 繼續(xù)完善文件管理器

          順便封裝了一些其它的widget, 整理后再發(fā)上來

           

          看著網(wǎng)上鋪天蓋地的各種android應(yīng)用, 再看看我這個(gè)小破軟件, 實(shí)在有點(diǎn)拿不出手, 但既然做了就得不斷完善下去

          目標(biāo)是做一個(gè)封裝widget的集合, 方便開發(fā)者使用

           

          1, 使用線程和handler message機(jī)制讀取文件列表, 提升軟件性能

          2, 解決文件列表多次滾動(dòng)后速度下降的問題

          3, 打開文件使用手機(jī)關(guān)聯(lián)的應(yīng)用

          4, 增加文件縮略圖顯示

          --------------------------------------------------------10月27日更新0.2版 --------------------------------------------------------------------

          1.  0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶快速的瀏覽到經(jīng)常訪問的文件或文件夾

          2.  修改了一些for developer的bug

           

           

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

           

             

           

           

           

           

          -------------------------------------------------------------------- for developer --------------------------------------------------------------------

          G1上并沒有隨系統(tǒng)附帶文件瀏覽軟件, 考慮到電子書,媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用,可以做為插件形式使用
          把文件管理器封裝起來并使用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, 是否在瀏覽文件中顯示簡單的 信息, 如文件夾中包含多少子文件夾和文件
          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, 是否使用簡單文件預(yù)覽
          47               //  用戶單擊文件后可以簡單的預(yù)覽文件內(nèi)容, 目前支持圖片和音樂文件
          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      };



          通過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) 閱讀(339) | 評(píng)論 (0)編輯 收藏
               摘要: 1. 0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶快速的瀏覽到經(jīng)常訪問的文件或文件夾

          2. 修改了一些for developer的bug  閱讀全文
          posted @ 2009-10-27 16:05 小強(qiáng) 閱讀(1646) | 評(píng)論 (2)編輯 收藏
               摘要: 為文件將來做電子書或媒體播放器等程序時(shí)瀏覽文件
          把文件管理器封裝起來并使用intent機(jī)制設(shè)置瀏覽參數(shù)和調(diào)用  閱讀全文
          posted @ 2009-10-17 20:21 小強(qiáng) 閱讀(2670) | 評(píng)論 (2)編輯 收藏
               摘要: 練習(xí)作品 一個(gè)簡單的 android 文件管理器, 支持第三方程序調(diào)用  閱讀全文
          posted @ 2009-10-17 19:50 小強(qiáng) 閱讀(1934) | 評(píng)論 (1)編輯 收藏
               摘要: 為了體現(xiàn)出android強(qiáng)大的網(wǎng)絡(luò)功能 寫了一個(gè)小爬蟲程序, 通過網(wǎng)絡(luò)直接從網(wǎng)站上下載電子書  閱讀全文
          posted @ 2008-06-30 12:00 小強(qiáng) 閱讀(1382) | 評(píng)論 (0)編輯 收藏
               摘要: 晚上等著看歐洲杯,閑來無賴接著研究android , 更新了一下uReader  閱讀全文
          posted @ 2008-06-18 12:46 小強(qiáng) 閱讀(1531) | 評(píng)論 (4)編輯 收藏
               摘要: 閑來無事, 研究了一下android. 做一個(gè)小應(yīng)用練手.
            閱讀全文
          posted @ 2008-06-17 17:31 小強(qiáng) 閱讀(1890) | 評(píng)論 (4)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-06-10 17:34 小強(qiáng) 閱讀(414) | 評(píng)論 (0)編輯 收藏
               摘要: 刪除ANDROID數(shù)據(jù)庫  閱讀全文
          posted @ 2008-06-10 17:30 小強(qiáng) 閱讀(1910) | 評(píng)論 (0)編輯 收藏
               摘要: android 技巧一, 快速顯示修改結(jié)果  閱讀全文
          posted @ 2008-06-03 17:44 小強(qiáng) 閱讀(357) | 評(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) 閱讀(1052) | 評(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) 閱讀(1505) | 評(píng)論 (0)編輯 收藏
               摘要: Android是基于Linux內(nèi)核的,對(duì)于喜歡研究底層的朋友來說,自然不會(huì)放過搞明白Linux層面上一些東西的機(jī)會(huì)。當(dāng)然,最終目的還是要搞清楚Linux是如何和上層lib以及虛擬機(jī)結(jié)合的,但是這得等Google完全開源Android之后了。很多關(guān)于Linux運(yùn)行的細(xì)節(jié),都可以通過adb的shell來看到。  閱讀全文
          posted @ 2008-06-03 17:30 小強(qiáng) 閱讀(3581) | 評(píng)論 (1)編輯 收藏

          大學(xué) (一) http://www.aygfsteel.com/uiiang/archive/2007/05/27/120342.html

              康誥曰:“克明德。”大甲曰:“顧諟天之明命。”帝典曰:“克明峻德。”皆自明也。

              湯之盤銘曰:“茍日新,日日新,又日新。”康誥曰:“作新民。”詩曰:“周雖舊邦,其命惟新。”是故君子無所不用其極。

              康誥說:“能夠弘揚(yáng)光明的品德。”太甲說:“念念不忘這上天賦予的光明稟性。”堯典說:“能夠弘揚(yáng)崇高的品德。”這些都是說要自己弘揚(yáng)光明正大的品德。

              商湯王刻在浴盆上的箴言說:“如果能夠有一天自新,就應(yīng)保持天天自新,永遠(yuǎn)不斷自新。”康誥中說:“鼓勵(lì)人們棄舊圖新。”詩經(jīng)中說:“周朝雖然是古老的國家,但卻稟受了天命,自我更新。”所以,品德高尚的人無處不追求完善。

              軟件開發(fā)乃至IT行業(yè)的更新速度極快,今天出個(gè)JAVA,明天出個(gè).net,后天又來個(gè)什么ruby。所以咱們要不斷的學(xué)習(xí),不斷的進(jìn)步才能跟上技術(shù)的更新速度,才能不被淘汰。

              但什么叫自新,這個(gè)自新不是說今天出了JAVA,呼啦呼啦的就全買thinking in java去了,明天出了.net又呼啦呼聽的全安.net 2005去了。自新是一個(gè)發(fā)掘和汲取的過程。別一天到晚的看不起struts嫌他麻煩,瞧不上hibernate嫌他浪費(fèi)性能。人家的技術(shù)能在全世界流行,必然有過人之處。想想他為什么能在全世界流行,他體現(xiàn)的是哪種設(shè)計(jì)思想。多學(xué)學(xué)人家的優(yōu)點(diǎn),想辦法把這些優(yōu)點(diǎn)用在自己的代碼上。

              詩云:“邦畿千里,惟民所止。”詩云:“緡蠻黃鳥,止于丘隅。”子曰:“于止,知其所止,可以人而不如鳥乎!”

              詩云:“穆穆文王,于緝熙敬止!”為人君,止于仁;為人臣,止于敬;為人子,止于孝;為人父,止于慈;與國人交,止于信。

              詩經(jīng)說:“京城及其周圍,都是老百姓向往的地方。”詩經(jīng)又說:“‘緡蠻’叫著的黃鳥,棲息在山丘的角落上。”孔子說:“連黃鳥都知道它該棲息在什么地方,難道人還能不如一只鳥兒嗎?”

              詩經(jīng)說:“品德高尚的文王啊,為人光明磊落,做事始終莊重謹(jǐn)慎。”做國君的,要做到仁義;做臣子的,要做到恭敬;做子女的,要做到孝順;做父親的,要做到慈愛;與他人交往,要做到講信用。

              經(jīng)常看到論壇上有人抱怨,自己的工作單調(diào)只不過是復(fù)制粘貼別人的代碼。可你有沒有想過為什么去復(fù)制粘貼,是因?yàn)樗拇a寫得太好了,放到哪里都能用?還是架構(gòu)設(shè)計(jì)得不合理,需要重構(gòu)。如果是好,他好在哪里,他為什么這么寫。如果不好,又不好在哪里,應(yīng)該怎么改,如果是你來設(shè)計(jì),你又會(huì)怎么做來避免犯這樣的錯(cuò)誤。

              很多人抱怨自己在一個(gè)小公司不得志,可有沒有想過為什么在這種小公司。你有沒有給IBM,google這樣的公司投過簡歷,投了簡歷有沒有面試,面試了這些大公司為什么不要你,而是錄用了別人。要擺正心態(tài),找到自己的位置。你可以覺得不得志,但要有真才實(shí)學(xué)。龐統(tǒng)那么大的才,到了劉備手下不還是先被發(fā)配去當(dāng)縣令。是金子終要發(fā)光的,后來劉備不也終于認(rèn)識(shí)到龐統(tǒng)的才能并委以重任嗎。可如果你啥都不會(huì),看這個(gè)看不起,瞧那個(gè)瞧不上。一天到晚就知道上網(wǎng)聊天打游戲泡MM。就算到了曹營也就當(dāng)個(gè)蔣干,成事不足敗事有余。要本著謙虛學(xué)習(xí)的態(tài)度來對(duì)待工作對(duì)待周圍的人,要學(xué)會(huì)從別人身上發(fā)現(xiàn)優(yōu)點(diǎn)。

              詩云:“瞻彼淇澳,菉竹猗猗。有斐君子,如切如磋,如琢如磨。瑟兮僩兮,赫兮喧兮。有斐君子,終不可諠兮!”如切如磋者,道學(xué)也;如琢如磨者,自修也;瑟兮僩兮者,恂栗也;赫兮喧兮者,威儀也;有斐君子,終不可諠兮者,道盛德至善,民之不能忘也。

              詩經(jīng)說:“看那淇水彎彎的岸邊,嫩綠的竹子郁郁蔥蔥。有一位文質(zhì)彬彬的君子,研究學(xué)問像加工骨器一樣,不斷切磋;修煉自己像打磨美玉,反復(fù)琢磨。他莊重而開朗,儀表堂堂。這樣的一個(gè)文質(zhì)彬彬的君子,真是令人難忘啊!”

              這里所說的“加工骨器,反復(fù)琢磨”,是指做學(xué)問的態(tài)度;“像打磨美玉,反復(fù)琢磨”,是指自我修煉的精神;說他“莊重而開朗”,是指他內(nèi)心謹(jǐn)慎而有所戒懼;說他“儀表堂堂”,是指他非常莊重;說“這樣一個(gè)文質(zhì)彬彬的君子,真是令人難忘啊!”是指由于他品德非常高尚,達(dá)到了最完善的境界,所以使人難以忘懷。

              不要為了工作而工作,為了寫代碼而寫代碼。既然干了這行了就要干好,即使不求名揚(yáng)天下,至少要也對(duì)得起自己這么多年的努力吧。我?guī)н^幾個(gè)手下,我每次安排任務(wù)后都會(huì)說:認(rèn)真干活,只要干完活,你去打CS我都不管。我說這話的目的是不想給大家太多壓力,大家都挺辛苦都不容易。只要干完活,該聊天該上網(wǎng)隨便你。可如果真正會(huì)學(xué)習(xí)的人,就應(yīng)該明白,自己干的那些活,永遠(yuǎn)是別人安排的。要想多學(xué)東西,還得根據(jù)自己的特點(diǎn)和能力補(bǔ)充知識(shí)。自己寫的代碼是不是已經(jīng)無懈可擊了,有什么地方值得優(yōu)化,實(shí)現(xiàn)方法是不是可以用更優(yōu)雅的方式。

               總之,心中要想著不斷進(jìn)步,要么不做,做了就要做到更好。

          posted @ 2007-05-29 13:05 小強(qiáng) 閱讀(1115) | 評(píng)論 (1)編輯 收藏
                  這兩三年來,生活一直被工作占據(jù)著,習(xí)慣了用工作來充實(shí)的生活,閑下來卻非常無聊。即使不加班的時(shí)候,回到家里也不知道干點(diǎn)什么好,于是下意識(shí)的又開始寫代碼,學(xué)新技術(shù)。這樣的生活單調(diào)乏味,人也變得無趣起來。于是決定,從今天起在家休息的時(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é)(還記得黑客帝國3里,先知說的那句話嗎?Everything that has a beginning has an end。大概先知也讀過大學(xué))。明白了這本末始終的道理,就接近事物發(fā)展的規(guī)律了。

                  在軟件開發(fā)過程中,我們經(jīng)常會(huì)遇到很多問題。其實(shí)每一個(gè)客戶需求都是一個(gè)大問題,是一堆問題的總合。這就需要我們?cè)诰幊讨埃靼鬃约阂鍪裁矗ㄖ苟笥卸ǎJ(rèn)真的分析我們的需求和目標(biāo)。這樣才能不被一堆稀奇古怪的問題嚇倒,能夠讓我們從容的面對(duì)這些工作(定而后能靜)。初學(xué)者經(jīng)常犯一個(gè)錯(cuò)誤,就是不分析問題。調(diào)試出錯(cuò)代碼的時(shí)候,經(jīng)常是一遍一遍的運(yùn)行錯(cuò)誤的代碼,然后看著報(bào)錯(cuò)信息發(fā)呆。而不知道如何分析錯(cuò)誤所在,也不知道在哪里打印幾行標(biāo)志來找出出錯(cuò)的代碼的位置。于是越看越亂,越亂越心慌。這時(shí)候就需要先靜下心來不要被一個(gè)報(bào)錯(cuò)信息嚇到(靜而后能安)。只有靜下心來,才能想到其實(shí)任何報(bào)錯(cuò)信息,都是有根有據(jù)的,只要根據(jù)提示信息中給出的線索,或者在代碼中打印幾條標(biāo)志信息,或者根據(jù)你輸入的信息運(yùn)行的類或方法去推理,就能夠找到出錯(cuò)的地方(安而后能慮)。當(dāng)你做到這一步,你就找到問題的所在了,經(jīng)驗(yàn)值又增加了(慮而后能得)。

                  就像剛才所說,任何代碼任何錯(cuò)誤,都是有根有據(jù)不會(huì)憑空出現(xiàn)。我們軟件開發(fā)人員的工作,就是解決一個(gè)一個(gè)的問題。只要能把這些問題分析得當(dāng),條理清晰的列出來,就離成功不遠(yuǎn)了。

                  很多初學(xué)編程或剛剛工作的人都會(huì)報(bào)怨,看不懂代碼,不知道業(yè)務(wù)邏輯所以沒法工作。其實(shí)做事的時(shí)候,不要一上來就想一次解決問題,要循序漸進(jìn),你連代碼出錯(cuò)出在哪里都不知道,怎么去修改錯(cuò)誤。要先找到出錯(cuò)的代碼是哪個(gè)文件,是從哪里進(jìn)入的,又經(jīng)過哪些方法的調(diào)用,要明白這些代碼的業(yè)務(wù)邏輯。如果不明白就先注釋起來。初學(xué)的時(shí)候要學(xué)會(huì)分析問題的方法,找到問題的關(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)生影響的,都是問題的關(guān)鍵點(diǎn)。初學(xué)者不要嫌麻煩,遇到這些關(guān)鍵點(diǎn)一定要注釋。就算不明白整個(gè)的業(yè)務(wù)邏輯,單獨(dú)一行代碼的意思總該明白吧,無非就是添刪查改和方法調(diào)用嘛。當(dāng)你把這些代碼通讀一遍并都注釋后,就可以把這些注釋當(dāng)成讀小說一樣讀下來,再復(fù)雜的業(yè)務(wù)邏輯也應(yīng)該能讀明白了。

           

                  古之欲明明德于天下者,先治其國;欲治其國者,先齊其家;欲齊其家者,先修其身;欲修其身者,先正其心;欲正其心者,先誠其意;欲誠其意者,先致其知;致知在格物。
                  物格而后知至,知至而后意誠,意誠而后心正,心正而后身修,身修而后家齊,家齊而后國治,國治而后天下平。
             

                  古代那些想在天下弘揚(yáng)光明正大品德的人,先要治理好自己的國家;要想治理好自己的國家,先要管理好自己的家庭和家族;要想管理好自己的家庭,先要修養(yǎng)自身的品性;要想修養(yǎng)自身的品性,先要端正自己的心思;要想端正自己的心思,先要使自己的意念真誠;要想使自己的意念真誠,先要使自己獲得知識(shí);獲得知識(shí)的途徑在于認(rèn)識(shí)和研究萬事萬物。通過對(duì)萬事萬物的認(rèn)識(shí),研究后才能獲得知識(shí);獲得知識(shí)后意念才能真誠;意念真誠后心思才能端正;心思端正后才能修養(yǎng)品性;品性修養(yǎng)后才能管理好家庭和家族;管理好家庭后才能治理好國家;治理好國家后天下才能太平。

            咱們先不說什么治國之論,單就軟件開發(fā)這個(gè)行業(yè)來講。很多人都在抱怨公司小掙錢少管理混亂感覺屈才之類的。可你真的有這么大才嗎,那些剛剛畢業(yè)的學(xué)生,在學(xué)校里玩兒了四年。到公司時(shí)什么都不會(huì)白紙一張,就像我以前發(fā)過的一個(gè)文章里說的。都不用說敬業(yè)精神,當(dāng)你連最起碼的認(rèn)真工作都做不到時(shí),還有什么資格說公司給你的工資太少,對(duì)不起你的工作量。

            要么別做這份工作,別接受這個(gè)任務(wù),既然做了就要做好。不要把工資少當(dāng)成不認(rèn)真工作的借口。你再不認(rèn)真工作,該被剝削的地方誰也跑不了,老板還是要賺他的錢。但工作經(jīng)驗(yàn)是自己的呀!!! 軟件開發(fā)這個(gè)工作需要不斷學(xué)習(xí)不斷的進(jìn)步才能保持自己的位置。而軟件開發(fā)正是需要認(rèn)真工作,才能體會(huì)出其中的奧妙,體會(huì)其中的精華所在。要想讓自己將來有好的發(fā)展,就要先做到自律,休息的時(shí)候當(dāng)然要玩兒,但上班的時(shí)候就要以工作為重。要想自律就要提高自身修養(yǎng),提高自己對(duì)工作重要性的認(rèn)識(shí)。要想提高自身修養(yǎng),就要端正自己的心態(tài),上班的時(shí)候不要總?cè)ハ胧裁创巴獾母邩墙稚系拿琅R攵苏膽B(tài),就要讓自己的意念真誠,要真心的認(rèn)真負(fù)責(zé)的對(duì)待自己的工作,對(duì)待自己手中寫出的每一行代碼。這時(shí)就需要先獲得知識(shí),要學(xué)會(huì)這些技術(shù),不然什么都不懂的人只能復(fù)制粘貼別人的代碼,卻不知道這些代碼在干什么,往往復(fù)制錯(cuò)了自己卻混然不知。

            自天子以至于庶人,壹是皆以修身為本。其本亂而末治者否矣,其所厚者薄,而其所薄者厚,未之有也!

            上自國家君王,下至平民百姓,人人都要以修養(yǎng)品性為根本。若這個(gè)根本被擾亂了,是不可能治理好家庭甚至國家天下的。不分輕重緩急,本末倒置卻想做好事情,這也同樣是不可能的。

            就像剛才說的,剛工作的人工資少工作累這是事實(shí)情況,大家都是從這一步走過來的。只有經(jīng)歷過這一步,才能明白認(rèn)真工作和提高工作效率的重要性。要想提高工作效率,就要提高自身能力,就要積累工作經(jīng)驗(yàn)。可工作經(jīng)驗(yàn)這東西并不是說來就來的,需要自己刻苦努力才能得來。并不是說明天把你送到IBM或者什么大公司,給你好多好多錢,給你換了一個(gè)超美的工作環(huán)境。你就突然什么都會(huì)了什么都懂了。當(dāng)你什么都不會(huì)還凈犯錯(cuò)的時(shí)候,真的到了這種環(huán)境中,周圍都是高手,你還好意思和別人打招呼嗎?

          posted @ 2007-05-27 20:27 小強(qiáng) 閱讀(1412) | 評(píng)論 (4)編輯 收藏
          ? 很久沒有上blogjava了, 自從離職后, 從過春節(jié)到現(xiàn)在, 家里發(fā)生了很多事, 搞得我暈頭轉(zhuǎn)向. 一直沒有去找工作. 最近終于穩(wěn)定下來.?
          ? 休息這段時(shí)間, 為了保持自己的工作狀態(tài), 并且希望將這幾年工作中學(xué)習(xí)到的技術(shù), 做一個(gè)總結(jié), 便產(chǎn)生了開發(fā)自己的網(wǎng)站想法.

          ? www.songguo.net

          ??從功能上講, 以譯客為主. 由網(wǎng)友發(fā)布文章, 其它網(wǎng)友來對(duì)文章進(jìn)行翻譯. 可以翻譯整篇文章, 也可以只翻譯其中一個(gè)片段.
          ? 網(wǎng)友還可以對(duì)別人的翻譯進(jìn)行投票,?當(dāng)有人點(diǎn)擊一個(gè)片段時(shí), 翻譯的結(jié)果也會(huì)根據(jù)其它網(wǎng)友的投票結(jié)果排序顯示出來.

          ? 另一個(gè)小功能是股票管理. 現(xiàn)在只實(shí)現(xiàn)了很小一部分功能. 主要想法是最近股市火熱, 我也不幸上了賊船, 可是在公司上班時(shí),?明目張膽的打開股票軟件未免有點(diǎn)太囂張了.?而且現(xiàn)在的股票軟件太顯眼,?老遠(yuǎn)一看就知道是什么.?
          ? 于是受google的簡約主義影響, 做了這個(gè)盡可能簡化功能和界面的小功能.?界面上的各個(gè)面板都可以通過點(diǎn)擊標(biāo)題欄關(guān)閉, K線圖也可以直接點(diǎn)擊關(guān)閉. 這樣可以很快的隱藏自己,?嘿嘿~~

          ??技術(shù)上講的話, 網(wǎng)站使用了大量的開源技術(shù), 基本的struts, spring hibernate就不說了, 火爆的AJAX也根據(jù)性能和需求的考慮也用到了. AJAX方面主要使用了DWR框架.? 其它的技術(shù)像url重寫之類的也是能用就用.
          ??
          ? 過去幾年一直是在做企業(yè)應(yīng)用的開發(fā), 這是我第一次做通用型的網(wǎng)站, 實(shí)在沒什么經(jīng)驗(yàn).? 而且完全是一個(gè)人做, 沒什么借鑒, 只能分析一下別人的網(wǎng)站來模仿.?? 在很多功能的實(shí)現(xiàn)上也經(jīng)常找不到最好的解決方案, 很想知道那些成熟的網(wǎng)站中, 是如何設(shè)計(jì)的. 現(xiàn)在只能一邊摸索一邊做了

          ? 由于時(shí)間倉促, 很多想法還沒有實(shí)現(xiàn),?也有不少BUG, 衷心希望大家能給我多提意見. 謝謝
          ?
          posted @ 2007-03-21 09:53 小強(qiáng) 閱讀(1873) | 評(píng)論 (22)編輯 收藏
          一年又要過去了,人長大了喜歡懷舊, 懷念小時(shí)候的伙伴, 小時(shí)候的胡同, 小時(shí)候的一切.
          ?
          ????? 想想小時(shí)候, 天天盼著過年, 能放鞭炮, 有壓歲錢, 有好吃的, 可以打雪仗堆雪人, 可以熬夜看電視, 可以和小伙伴吹各種各樣的牛, 那時(shí)候的生活簡單又快樂.
          ????? 現(xiàn)在長大了怕過年, 過年意味著又長一歲, 意味著又在這個(gè)世界上浪費(fèi)了一年的時(shí)間. 現(xiàn)在過年沒氣氛, 電視里演著無聊的晚會(huì), 千篇一律的電視劇. 小時(shí)候見到長輩嘴甜點(diǎn)兒, 收個(gè)五塊十塊的壓歲錢, 樂的屁顛屁顛的. 現(xiàn)在我也變成長輩了, 見到了晚輩一出手就得200, 人家還嫌少呢.
          ?
          ????? 小時(shí)候的生活那么單純, 夢(mèng)想也是那么單純而模糊, 和許多小伙伴一樣,我曾經(jīng)夢(mèng)想過當(dāng)解放軍, 夢(mèng)想過當(dāng)科學(xué)家,當(dāng)天文學(xué)家.
          ????? 人越長大, 夢(mèng)想變得越現(xiàn)實(shí), 上學(xué)時(shí)夢(mèng)想能天天考100分, 夢(mèng)想周末能去公園. 夢(mèng)想將來能上個(gè)好的大學(xué), 夢(mèng)想能早點(diǎn)長大不上學(xué).
          ????? 現(xiàn)在真的不上學(xué)了才發(fā)現(xiàn), 還是學(xué)校好啊~~~~ 沒有說不清的稅交不完的錢. 沒有沒完沒了的加班, 沒有沒完沒了的代碼. 沒有各種各樣的假貨, 沒有防不勝防的摻毒食品.
          ?
          ????? 現(xiàn)在夢(mèng)想著能有個(gè)不加班的工作, 夢(mèng)想能下班有時(shí)間到后海散步, 夢(mèng)想周末能和朋友去公園. 夢(mèng)想著房子降價(jià), 夢(mèng)想著不在堵車.
          ?
          ????? 想想小時(shí)候的夢(mèng)想, 還是單純而熟悉, 模糊又清晰. 它是那么的近, 近得好像就在昨天,近得還能聽到那時(shí)候開心的笑聲. 它又那么的遠(yuǎn), 仿佛永遠(yuǎn)不能實(shí)現(xiàn).
          ????? 想想現(xiàn)在的夢(mèng)想, 它不在是五光十色, 充滿了蒼白和無奈, 它還是那么近, 壓得我喘不過氣. 它還是那么遠(yuǎn)........
          ?
          ????? 曾經(jīng)對(duì)21世紀(jì)充滿無限憧憬的四有新人, 現(xiàn)在卻落得為了掙一點(diǎn)點(diǎn)錢, 為了一個(gè)房子, 放棄尊嚴(yán), 放棄自由,放棄夢(mèng)想.
          ?
          ????? 去年也是在這個(gè)時(shí)候, 朋友問我是不是懷念過去的生活,那時(shí)候很迷茫. 可惜這一年的時(shí)間過去了, 面對(duì)這個(gè)問題我還是那么迷茫. 我只能再把去年的答案搬出來
          ?
          ??? 我喜歡1990年以前的生活,那時(shí)候的社會(huì)還比較單純.
          ??? 我喜歡1995年以前的生活,那時(shí)候周圍的人還比較單純.
          ??? 我更喜歡2000年以前的生活,那時(shí)候的我還比較單純.
          posted @ 2006-12-22 00:41 小強(qiáng) 閱讀(526) | 評(píng)論 (6)編輯 收藏
          ?今天突然發(fā)現(xiàn), 鍵盤的空格鍵被磨出了一個(gè)坑......
          ?在02年的時(shí)候,剛買電腦不久, 電腦的 ASDW 被磨沒了, 那時(shí)候成天打游戲, 尤其是FIFA.
          ?過了一兩年, ALT+S被磨的很多, 那時(shí)候聊QQ比較多.
          ?今天發(fā)現(xiàn), 空格被磨出了坑, 看來平時(shí)寫代碼和QQ比較多
          ?其次被磨的比較多的是 < 鍵 , 是因?yàn)樽罱麳TML比較多. 接下來就是ctrl , 回車, C, V 三個(gè)鍵, 寫代碼的幾個(gè)經(jīng)典按鍵都有非常明顯的磨痕.
          ?還有左面的shift, ctrl , alt雖然沒有嚴(yán)重磨損, 但明顯要比右面的功能鍵干凈, 是因?yàn)閷懘a時(shí), 我習(xí)慣使用左面的功能鍵來搭配快捷鍵的使用.
          ?
          幾年來電腦一直陪在我身邊,? 雖然我不承認(rèn)自己有所謂的電腦癮或者網(wǎng)癮, 但對(duì)電腦和網(wǎng)絡(luò)有很深的依賴是個(gè)事實(shí). 工作生活中無處不需要電腦.
          從按鍵的磨損程度上, 可以看出幾年來我的興趣愛好和工作的變化. 再過幾年, 又會(huì)是哪個(gè)鍵被磨平呢?
          但愿N年后再發(fā)現(xiàn)有新的磨損組合時(shí), 我依然能像5年前那樣開心的坐在電腦前面
          posted @ 2006-12-04 22:55 小強(qiáng) 閱讀(456) | 評(píng)論 (2)編輯 收藏
          ?????? 剛才看了SeamanWang的文章
          http://www.aygfsteel.com/wanghaikuo/archive/2006/11/09/80054.html


          ???????想想自己的經(jīng)歷...........
          ?????? 現(xiàn)在一聽"能者多勞" 這四個(gè)字, 我就煩, 也不知道是哪個(gè)SB發(fā)明了這個(gè)詞, 也許這個(gè)詞并沒有錯(cuò).
          ?????? 但是用到項(xiàng)目里, 就全變味了, 就這么簡簡單單的四個(gè)字, 就能把人累個(gè)半死.
          ?????? 每次一有任務(wù), 全都堆到我身上.
          ?????? 經(jīng)理說你是高手, 這活太急了, 只能交給你. 然后就什么都不管了, 反正每個(gè)月的工資數(shù)都是定好的,?能怎么使喚就怎么使喚了.
          ?????? 同事說: 你是高手, 這種活我們干不了, 只能交給你. 然后就在旁邊聊天的聊天, 看小說的看小說. 到了下班時(shí)間, 大爺似的拍拍屁股就走了, 留下我一個(gè)人拼死累活的加班.?

          ???????少給我戴高帽子, 誰也別裝傻, 項(xiàng)目組里那么多人, 什么緊急項(xiàng)目非得壓在我一個(gè)人身上.?
          ?????? 少給我戴高帽子, 誰也別裝傻, 覺得自己不是高手, 就多干點(diǎn)活, 少看小說
          ???????
          ???????一直很奇怪, 每次路過同事電腦前時(shí), 他肯定是在看小說, 聊天, 看網(wǎng)頁.? 最無聊的時(shí)候就是殺毒, 然后兩眼呆呆著盯著殺毒軟件的進(jìn)度條..........
          ??????
          ??????? 去TMD高手, 我不是高手.
          posted @ 2006-11-09 13:40 小強(qiáng) 閱讀(995) | 評(píng)論 (10)編輯 收藏
          ????? ?看到這么多人點(diǎn)擊我的博客,?我很欣慰呀.?
          ?????? 大家可能有不認(rèn)識(shí)我的,我是京城IT業(yè)的一個(gè)小字輩,?混到今天確實(shí)很不容易.?我是從打字員做起的,打字,?復(fù)印傳真, 業(yè)務(wù)咨詢...
          ?????? 剛?cè)胄械臅r(shí)候,?先是學(xué)了一段VB,后來學(xué)過JAVA,?現(xiàn)在正在研究ruby.
          ?????? 經(jīng)歷過十冬臘月大雪紛飛,也經(jīng)歷過大雨傾盆.?有一年上班天寒地凍大雪鋪路,學(xué)院路上連條狗都沒有.?我在雪地里騎著自行車,吭哧吭哧了一個(gè)半小時(shí)才到公司.?然后想起來今天是周日不上班.? 這么艱苦的日子也有過. 但是我也堅(jiān)持到了今天.
          posted @ 2006-11-08 23:03 小強(qiáng) 閱讀(1130) | 評(píng)論 (6)編輯 收藏

          轉(zhuǎn)自:http://mailboxpublic.googlepages.com/ubuntu%E6%98%AF%E6%80%8E%E6%A0%B7%E7%BB%83%E6%88%90%E7%9A%84

          這篇文章在互聯(lián)網(wǎng)上被廣泛轉(zhuǎn)載,但是很多都不完整,誤導(dǎo)新手。同時(shí)有許多人根本不尊重作者的辛勤勞動(dòng),沒有給原文署名。因此,我把它放到googlepages來,作為正式的文章。如果有商業(yè)用途,請(qǐng)聯(lián)系本人:yulewang \at gmail \dot com

          ?[轉(zhuǎn)載請(qǐng)保持原樣,請(qǐng)勿擅自修改,以免誤導(dǎo)新手]
          yulewang 翻譯 整理

          二十一世紀(jì)到了,每個(gè)人都強(qiáng)調(diào)自己的個(gè)性,于是一種叫做DIY的東西悄然興起。
          操作系統(tǒng)作為全人類智慧的結(jié)晶,自然DIY起來難度極大,因而DIY出一個(gè)操作系統(tǒng)成就感絕對(duì)比買宜家的東西的成就感大。
          為了不至于從頭開始編寫一個(gè)操作系統(tǒng),我們當(dāng)然把采用現(xiàn)成的操作系統(tǒng)作為一個(gè)底線。
          當(dāng)然,我們可以通過LFS讓我們爽到底,但是,能夠做到LFS的人可真的是鳳毛麟角。而且更重要的是LFS簡直在挑戰(zhàn)我的忍耐程度。
          我的這篇文章,教大家如何DIY一個(gè)自己的ubuntu發(fā)行版。在非常節(jié)省時(shí)間的情況下,達(dá)到耍酷的目的。

          就好比LFS一樣,我們需要一個(gè)創(chuàng)作基地。我們首先建立一個(gè)變量。建立這個(gè)變量的好處很明顯,即使你不用~/diy_ubuntu這個(gè)目錄,一樣可以照著這個(gè)文章繼續(xù)做下去。
          $ export WORK=~/diy_ubuntu
          $ mkdir -p $WORK

          然后我們把光盤鏡像文件掛到/mnt
          $ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt
          $ cd $WORK

          復(fù)制文件光盤文件
          $ mkdir ubuntu-livecd
          $ cp -a /mnt/. ubuntu-livecd
          $ chmod -R u+w ubuntu-livecd
          $ sudo umount /mnt

          由于光盤中包含了很多windows下面的自由軟件,我們來把不必要的文件刪除。當(dāng)然你可以保留。
          $ rm -rf $WORK/ubuntu-livecd/programs

          把光盤中的壓縮文件掛起來,這個(gè)樣子以后你可以在$WORK/old目錄中看到一個(gè)完整的linux操作系統(tǒng)的目錄。
          $ mkdir $WORK/old
          $ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old

          我們建立一個(gè)2GB大小的文件系統(tǒng),然后把這個(gè)文件當(dāng)作一個(gè)設(shè)備文件格式化,結(jié)果系統(tǒng)給出了一個(gè)警告,別理會(huì)它,選擇是就是。
          $ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147
          $ sudo mke2fs $WORK/ubuntu-fs.ext2

          然后我們把這個(gè)空文件系統(tǒng)掛起來。
          $ mkdir $WORK/new
          $ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new

          復(fù)制linux操作系統(tǒng)的文件.由于我們事先得到的linux是壓縮的,所以我們把它解壓了。
          $ sudo cp -a $WORK/old/. $WORK/new

          當(dāng)然現(xiàn)在$WORK/old就沒有用處了。廢掉它
          $ sudo umount $WORK/old

          我們首先進(jìn)入剛才得到的那個(gè)操作系統(tǒng)
          $ sudo cp /etc/resolv.conf $WORK/new/etc/
          $ sudo mount -t proc -o bind /proc $WORK/new/proc
          $ sudo chroot $WORK/new /bin/bash

          現(xiàn)在你就進(jìn)入系統(tǒng)了,高喊l(fā)inux for human beings,大煉ubuntu,想干什么就干什么。
          # vi /etc/apt/sources.list #選擇適合你的源
          # apt-get update
          # apt-get dist-upgrade
          # apt-get install 你想裝的軟件
          # apt-get clean
          .... #更多的配置
          最后離開你的那個(gè)操作系統(tǒng)
          # exit

          $ sudo umount $WORK/new/proc
          $ sudo rm $WORK/new/etc/resolv.conf
          現(xiàn)在你已經(jīng)回到了你的初始狀態(tài)中

          把manifest重新整一遍
          $ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n' > $WORK/ubuntu-livecd/casper/filesystem.manifest

          然后做一下“磁盤清理”
          $ sudo dd if=/dev/zero of=$WORK/new/dummyfile
          $ sudo rm $WORK/new/dummyfile

          重新壓縮系統(tǒng)
          $ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs
          $ cd $WORK/new
          $ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs

          你的改動(dòng)都保存了。現(xiàn)在把$WORK/new廢掉
          $ cd $WORK
          $ sudo umount $WORK/new

          把文件的md5重新算一下
          $ cd $WORK/ubuntu-livecd
          $ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt

          建立光盤鏡像,命令很長,忍受著點(diǎn)。
          $ cd $WORK
          $ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "My Cool Ubuntu Live CD" -cache-inodes -J -l ubuntu-livecd
          然后你就可以用iso把光盤燒了

          然后你就可以在別人前面耍酷了。最后,王子和公主過著幸福的生活

          posted @ 2006-10-31 15:58 小強(qiáng) 閱讀(367) | 評(píng)論 (0)編輯 收藏
          Ubuntu Live CD 個(gè)性化定制全程圖解

          轉(zhuǎn)載,未測(cè)試

          個(gè)性化定制最為明顯的好處就在于能夠真正適合自己的需要。想要個(gè)性化定制 Ubuntu 的 Live CD 嗎?想要體驗(yàn) DIY 的樂趣嗎?本文將以圖解的方式全程為你提供指導(dǎo)與幫助。

          選擇工具

          “工預(yù)善其事,必先利其器”。選擇一款合適的定制工具,對(duì)于普通用戶來說尤其重要。這兒有兩種 Ubuntu Live CD 的定制工具:UCK 和 Reconstructor。前者可以增刪 Live CD 中的語言包和應(yīng)用程序,后者能夠提供從 GNOME 桌面到應(yīng)用軟件的多方面定制功能。本文選擇 Reconstructor 作為 Ubuntu Live CD 的定制工具,讀者朋友也可以自行嘗試 UCK。

          前期準(zhǔn)備

          在正式定制之前,應(yīng)該做好這些方面的準(zhǔn)備工作:制作或收集需要用到的定制資源,如主題、壁紙、模塊等等;Ubuntu Live CD 的原始 ISO 映像(Reconstructor 支持 6.06 及 6.10);從 Reconstructor 官方網(wǎng)站下載定制程序;安裝 Reconstructor 的使用依賴,如 squashfs-tools、libbogl-dev、mkisofs 等(詳見 readme.txt 文件)。

          定制過程

          執(zhí)行程序

          tar xvzj reconstructor-2.0.tar.gz
          cd reconstructor-2.0/
          sudo python reconstructor.py

          Reconstructor 在啟動(dòng)時(shí)會(huì)檢查使用依賴,并提示用戶安裝未完成的依賴。接著會(huì)進(jìn)入歡迎頁面。




          創(chuàng)建工作目錄
          Reconstructor 默認(rèn)會(huì)將工作目錄創(chuàng)建于 /home/username/reconstructor,另外分別創(chuàng)建 remaster、root、initrd 三個(gè)子目錄。工作目錄僅在首次使用時(shí)才有必要?jiǎng)?chuàng)建,如果是再次使用,則無需創(chuàng)建。因?yàn)槲覀兪浅醮问褂茫怨催x其中的三個(gè)選項(xiàng)。然后,在 Live CD ISO Filename 選擇先前下載好的原始 Ubuntu Live CD ISO 映像文件。




          定制引導(dǎo)屏幕
          引導(dǎo)屏幕這部分可以定制 Live CD Splash 圖像、引導(dǎo)選項(xiàng)文字的顏色、以及 Usplash 圖像。需要注意是,Splash 圖像要求是 pcx 格式,而 Usplash 則是編譯好的 so 文件(對(duì)于 Ubuntu 6.06,Reconstructor 支持直接生成)。設(shè)置后,點(diǎn)擊“Apply”按鈕以便生效。




          GNOME 桌面的定制
          GNOME 桌面包括登錄屏幕、桌面、主題三部分的定制。其中,在登錄屏幕中可以設(shè)置 GDM 主題、Splash 屏幕、背景顏色;桌面部分能夠定制壁紙和字體;在主題中可以選擇 GNOME 桌面所用的主題及圖標(biāo)。對(duì)于這些定制,用戶既可以選擇系統(tǒng)自帶的,也可以使用自己的。從 GNOME LOOK 上可以找到這方面的豐富資源。




          定制 Apt 源
          通過定制 Apt 源,就能夠直接在 Live CD 中使用這些擴(kuò)展的源,以便安裝需要的應(yīng)用程序。在你需要使用的源前打勾選擇即可。對(duì)于其他的源,可以輸入到下面的文本框中。




          優(yōu)化啟動(dòng)及關(guān)機(jī)過程
          在啟動(dòng)部分,可以選擇在系統(tǒng)啟動(dòng)時(shí)需要運(yùn)行的守護(hù)進(jìn)程,如 ppp、laptop-mode 等。同時(shí),Reconstructor 也能夠?qū)﹃P(guān)機(jī)過程進(jìn)行優(yōu)化。




          設(shè)置用戶及口令
          切換到 Live CD 選項(xiàng)頁,對(duì)在 Live CD 中要用到的用戶、口令及主機(jī)名進(jìn)行設(shè)置。




          定制應(yīng)用程序
          Reconstructor 的模塊功能可以讓用戶按需定制應(yīng)用程序,如安裝程序、刪除程序等。普通用戶可以使用 Reconstructor 提供的現(xiàn)有模塊:包括圖像處理軟件、生產(chǎn)力軟件、多媒體軟件、網(wǎng)絡(luò)軟件、服務(wù)器軟件、及其他軟件等。如果現(xiàn)有模塊不能滿足你的要求,那么可以通過輸入安裝或刪除命令來實(shí)現(xiàn)對(duì)于軟件的定制。




          構(gòu)建選項(xiàng)
          注意以上每一個(gè)部分的定制都需要點(diǎn)擊“Apply”按鈕。現(xiàn)在按“Next”進(jìn)入構(gòu)建選項(xiàng)頁。在此設(shè)置 Ubuntu Live CD ISO 文件的保存路徑、名稱、架構(gòu)。如果所有的都沒有問題,那么繼續(xù)下一步吧。




          定制結(jié)束
          此時(shí),需耐心等候一陣,直到看到 Finished 頁面。




          最后測(cè)試

          在 Ubuntu Live CD 定制結(jié)束后,先不要忙著刻盤,在虛擬機(jī)中測(cè)試一下,如果確認(rèn)沒有問題,那么就燒錄并與朋友分享吧
          posted @ 2006-10-31 15:48 小強(qiáng) 閱讀(1008) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 上林县| 衡阳市| 根河市| 云浮市| 图们市| 图片| 沙洋县| 平塘县| 锡林浩特市| 谢通门县| 太湖县| 萝北县| 克什克腾旗| 缙云县| 天气| 鹤庆县| 中方县| 辽阳县| 临桂县| 孝义市| 黔江区| 绥中县| 通许县| 乳源| 仪征市| 中江县| 皋兰县| 大化| 容城县| 康平县| 青岛市| 长沙市| 嘉禾县| 永登县| 南和县| 攀枝花市| 永善县| 宜阳县| 章丘市| 佳木斯市| 凌海市|