amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks
          前天是情人節,雖然結婚好多年了,但是老婆一直都喜歡驚喜的浪漫,可惜我卻是個木訥的呆子,做不出那些轟動的事情。那天下午馬上就要下班回家了,突然在微博上看到有人談到geek的情人節禮物,雖然我不是geek,但是最近在學Android,老婆的手機也是Android系統的,何不專門做個程序給她?

          想法可嘉,但是動起手來卻不是那么回事。學了那么多天,真正派上用場的還沒學到。時間只剩下不到一個小時了,我會的只是在屏幕上顯示幾個大字:XXX,我愛你!

          后來想想似乎太單調,如果能夠加上點背景音樂可能好點,但是還沒學會怎么使用,上網搜了一下,幸好很簡單,用MediaPlayer就可以了,幾條語句就能搞定。音樂文件怎么來呢?通過網絡在線播放是最簡單的,于是就到百度MP3搜了一下“情人節快樂”,我記得有一首歌里面一直在喊“情人節快樂”的,結果最后發現那首歌名字叫《沒有情人的情人節》……

          算了,管它呢,有老婆就行了,沒有情人照樣過情人節,打開發現鏈接居然是百度的,以前百度不是說它只負責搜索,不負責存放嗎,怎么現在的MP3都放在百度的服務器了?把鏈接復制下來,在模擬器上運行還是挺好的,因為它用的是電腦的寬帶,呵呵。不過過了一會提示下載失敗,把那個地址往瀏覽器一貼,果然打不開了,原來百度這種下載鏈接是有有效期的,只能讓你試聽一下,然后下載,不是長期有效的。這就麻煩了,到時候裝在手機上沒聲音豈不是很糗?

          再搜索一下,還好,可以把MP3文件放在assets里面,發布程序的時候把它包含在apk里面就行了,不用聯網了。

          現在可以在顯示大字的同時播放《沒有情人的情人節》了。看了一下效果,還是有點怪異,手機的狀態欄和程序的標題跟黑色的背景,紅色的大字似乎不太搭配,于是繼續搜索全屏代碼,哈哈,兩句搞定,這樣炫多了。

          不過一直看著那幾個字沒任何反應,似乎太單調了,于是就想讓它們不斷變色,或者動一下也好,但是無論怎么弄都搞不定,下班時間到了,要去接老婆了,就這樣吧。

          之前都是在模擬器上運行,或者接個USB在手機上運行,還不知道怎么打包成apk呢,這下居然沒搜索到,可能太簡單了,大家都沒說。于是在項目上點右鍵,果然看到導出apk的菜單,我選擇了unsigned方式導出,在手機上居然安裝不了。再搜索一下,哦,原來是要導出成signed apk才能裝的,但是我沒有證書,怎么signed呢?沒想到ADT還可以生成證書,一下就搞定了,這比Symbian那種簽名簡單多了,但是可能也是導致Android惡意軟件泛濫的原因之一。

          去接老婆的時候通過藍牙把apk發到她手機上,裝上,運行,從她表情上看出,我的努力沒有白費。不過最后還是發現了個嚴重的bug,那首歌還沒放完,另外一個聲音已經重新開始了,形成了“二重唱”的效果,而且程序退出之后還在唱,趕工造成的悲劇啊。

          下面是代碼:
          public class LoveActivity extends Activity {
              TextView text;
              
          /** Called when the activity is first created. */
              @Override
              
          public void onCreate(Bundle savedInstanceState) {
                  
          super.onCreate(savedInstanceState);
                  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
                  WindowManager.LayoutParams.FLAG_FULLSCREEN);  
                  requestWindowFeature(Window.FEATURE_NO_TITLE);  
                  setContentView(R.layout.main); 
                  MediaPlayer mp 
          = new MediaPlayer();
                  
          try{
                      AssetManager assetManager 
          = getAssets();
                      AssetFileDescriptor afd 
          = assetManager.openFd("a.mp3");
                      mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
                      mp.prepare();
                      mp.start();
                  }
                  
          catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          }
          main.xml:
          <?xml version="1.0" encoding="utf-8"?>
          <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation
          ="vertical"
              android:layout_width
          ="fill_parent"
              android:layout_height
          ="fill_parent"
              
          >
              
          <TextView 
              
          android:id="@+id/textView1" 
              android:text
          ="@string/loveyou" 
              android:layout_width
          ="match_parent" 
              android:layout_height
          ="match_parent" 
              android:gravity
          ="center" 
              android:textColor
          ="#ff0000"
              android:textStyle
          ="bold"
              android:textSize
          ="50dip"
              
          />
              
             
          </LinearLayout>
          strings.xml:
          <?xml version="1.0" encoding="utf-8"?>
          <resources>
              
          <string name="hello">Hello World, LoveActivity!</string>
              
          <string name="app_name">Love</string>
              
          <string name="loveyou">XXX\n我愛你</string>
          </resources>
          再把那首mp3放到assets里,改名為a.mp3即可。




          希望明年能做出個更好的。
          posted on 2012-02-16 11:06 amp@java 閱讀(2295) 評論(2)  編輯  收藏 所屬分類: Android

          評論

          # re: 送給老婆的情人節禮物——一個Android程序 2012-02-17 13:30 moose
          很有想法  回復  更多評論
            

          # re: 送給老婆的情人節禮物——一個Android程序 2012-02-21 15:52 深藍色心情
          愛~~  回復  更多評論
            

          主站蜘蛛池模板: 京山县| 兴海县| 棋牌| 镇远县| 铜梁县| 工布江达县| 日照市| 文登市| 那坡县| 乐平市| 芜湖县| 雷州市| 金溪县| 肇东市| 沁水县| 尼木县| 彰武县| 荣昌县| 宁晋县| 高陵县| 彩票| 南岸区| 甘德县| 闸北区| 高密市| 绥阳县| 玛多县| 琼结县| 甘德县| 荃湾区| 霸州市| 句容市| 连云港市| 万载县| 汾西县| 天峻县| 临沭县| 梨树县| 通渭县| 永康市| 泽州县|