成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

第一個Android 程序的源代碼: TxtReader文本閱讀器

移動開發 Android

剛學習Android開發的時候, 試著開發了一個閱讀器,非常簡單,所以易懂, 目前在本人的G1上跑得還是不錯的

 

^-^

 

 

貢獻出來給入門者參考:

 

主要問題:

 

1. 如何處理cancel事件

 

2. ListAdapter的使用

 

3. 文本編碼.

 

資源下載地址:

 

http://download.csdn.net/source/1713476

 

剛入手的同學可能在導入Android的工程或者某些sample的時候無從下手,

 

因為單單靠Eclipse import project解決不了所有的問題。***方案為通過Eclipse 的向導, 將已經存在的代碼工程,

 

再創建成一個新的工程, 如圖所示的: create project from existing source選項

 

利用已經存在的代碼工程重新創建新工程

 

 

為了方便大家入門,今天對代碼做一下標注.

 

1. Android程序的進入點

 

不要妄圖像學習C或者Java的入門一樣, 有一個main函數供你進入, Android的應用程序運行在一個框架中, 因此main進入點 函數被層層包裹,探尋這個進入點函數,實在是沒有多大的價值(這就跟我們用Visual c++去寫MFC程序一樣, 看到的不是main函數, 唯有寂寞...)

 

Android框架做得比較精妙:

 

1. 應用的各個功能,都被切割成一個個的Activity對象

2. Activity都在AndroidManifest.xml這個xml中注冊, 并且規定那個Activity是啟動Activity

3. Activity 之間是可以通信的

 

 

 

 

以本文的代碼為例, AndroidManifest.xml是這樣的:

 

 

  1.  <application android:icon="@drawable/reader" android:label="@string/app_name">  
  2.      <activity android:name=".TxtReader"  
  3.                android:label="@string/app_name">  
  4.          <intent-filter>  
  5.              <action android:name="android.intent.action.MAIN" />  
  6.              <category android:name="android.intent.category.LAUNCHER" />  
  7.          </intent-filter>  
  8.      </activity>  
  9.      <activity android:name=".ListAllFileActivity" android:label="@string/app_name">  
  10. <intent-filter>  
  11.     <action android:name="com.ostrichmyself.txtReader.ListAllFileActivity" />  
  12.     <category android:name="android.intent.category.DEFAULT" />  
  13. </intent-filter>  
  14. lt;/activity>  
  15. <activity android:name=".ViewFile" android:label="@string/swich_code">  
  16. <intent-filter>  
  17.     <action android:name="com.ostrichmyself.txtReader.ViewFile" />  
  18.     <category android:name="android.intent.category.DEFAULT" />  
  19. </intent-filter>  
  20. lt;/activity>  
  21.  </application>  

 

 

很好奇,為什么會有三個Activity? 大致的思路是這樣的:

1. 進入應用程序的時候,需要有一個Button,選擇一個目錄

2. 瀏覽目錄

3. 選中文件的瀏覽目錄之后,需要呈現Txt文件的內容

 

可能大家會覺得奇怪, 為什么按照這樣的思路去劃分Activity,這樣會不會造成管理Activity的困難?

回答這個疑問前, 看看Activity的劃分標準是什么,這里牽涉到界面的知識:

1. 每個Activity都表征了一種形式的界面, 比如你的應用程序中有多少個不同的界面,就將出現多少個不同的Activity

2. Activity通過加載一個界面文件xml, 來表征界面的特點

為什么要這么做?

原因是,界面的繪制牽涉到系統資源的調配,手機終端不同于PC,手機系統資源緊缺, 銷毀重繪這樣耗時費勁的工作,不宜重復進行。因此Android中將這些不同的界面綁定到不同的Activity中,當手機由一種風格的Activity切換到另外風格的Activity時,節省時間和系統資源。

 

程序如何實現Activity的切換?切換時,如何夾帶信息?

 

  1. protected void onListItemClick(ListView l, View v, int position, long id) {  
  2.         Intent intent = new Intent(ListAllFileActivity.this, ViewFile.class);  
  3.         bundle = new Bundle();  
  4.         File file = fileNameList.get(position);  
  5.         if (file.isDirectory())  
  6.         {  
  7.             File[] f = file.listFiles();  
  8.             fill(f);  
  9.         }  
  10.         else {  
  11.             bundle.putString(fileNameKey, file.getAbsolutePath());  
  12.             intent.putExtras(bundle);  
  13.             startActivityForResult(intent, 0);  
  14.         }  
  15.     }  

 

 

Intent構造下一個將要出現的Activity, 并夾帶 Bundle(); 然后Activity類中提供了startActivityForResult的方法,讓你啟動, 夠簡單吧!

 

在將要啟動的Activity中oncreate方法啟動,將Bundle的值取出來, 搞定.

 

整個流程大致可以這樣描述:

 

                       Bundle
Activity被觸發---------------> 加載Bundle -----> 加載GUI及其Layout(XML或者自己寫Layout)

----> 展示GUI----> 觸發GUI事件 ---> 其他Activity 被觸發----> 繼續....

 

菜單布局等細節, 實在沒什么更多的內容。

 

Android的布局方式很贊,采用了HTML的配置布局方式,非常不錯, 界面本來就是配的,而不是代碼寫的。 所以J2ee轉業過來的同學們, 這個難度實在是太小了。

 

另外從Eclipse RCP開發過來的同學們, plugin.xml這個是再熟悉不過的了, 所以你們轉過來學習Android的布局和配置管理,應該也是輕松加愉快了。

 

后面深入補充下Activity的知識。 界面這塊,有時間再探索下。

責任編輯:冰凝兒 來源: http://blog.csdn.net/ostrichmyself/article/details
相關推薦

2013-10-30 22:10:28

Clouda程序

2022-09-27 18:31:42

Komikku開源日漫閱讀器

2013-06-14 17:16:44

WP開發Windows PhoWP應用

2012-05-25 15:20:38

XNA

2023-05-19 08:49:58

SQLAlchemy數據庫

2009-06-26 16:07:43

MyEclipse開發Hibernate程序

2024-06-07 08:59:35

2011-06-14 15:32:26

Android視頻教程

2024-03-13 13:53:10

C++程序開發

2010-03-25 16:04:56

Python程序執行

2017-04-11 13:31:40

閱讀器開源RSS

2013-12-19 09:46:04

垃圾收集器

2019-12-31 08:00:00

DebianLinuxApple Swift

2011-06-08 10:24:38

Windows Pho 應用程序

2011-06-24 13:38:32

QT 編譯 安裝

2023-06-01 08:24:08

OpenAIChatGPTPython

2022-11-01 07:23:55

Dockernetcore程序

2011-06-08 10:01:36

Windows Pho 應用程序

2022-10-17 10:28:05

Web 組件代碼

2011-09-09 10:19:13

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人久久久久 | 中国一级特黄视频 | 亚洲风情在线观看 | 久久精品a级毛片 | 久久精品国产一区二区三区 | h视频免费观看 | 区一区二在线观看 | 夜夜草天天草 | 一级毛片视频在线 | 婷婷不卡 | 精品精品 | 美国一级黄色片 | 蜜桃视频在线观看免费视频网站www | 精品中文字幕视频 | 91精品在线播放 | 国产一区二区在线播放视频 | 久久精品小视频 | 日韩精品一区二区三区老鸭窝 | 日韩免费网 | 久久久爽爽爽美女图片 | 中文av在线播放 | 成人黄视频在线观看 | 欧美精品一区二区三区在线 | 国产午夜精品福利 | 毛片电影 | 午夜精品久久久 | 中文字幕 欧美 日韩 | 国产精品久久二区 | 97伊人 | 国产日韩欧美 | 国产不卡在线观看 | 中文字幕av在线播放 | 日韩中文字幕久久 | 中文字幕av亚洲精品一部二部 | 中文在线视频 | 国产精品69毛片高清亚洲 | 国产成人精品综合 | 青青操91| 国产视频在线观看一区二区三区 | 色爱区综合 | 国产精品不卡视频 |