<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    Android 2.1 API變更概要:
    Live Wallpapers 動態桌面
    以下增加的API可以提供你開發動態的桌面:
    · android.service.wallpaper.
    · WallpaperInfo.
    · 升級的WallpaperManager.

    附加說明, 如果你的應用相提供Live Wallpapers的功能, 你必須記得增加一個 <uses-feature> 元素到你的應用manifest里面. 宣布這個屬性android:name="android.software.live_wallpaper". 舉例:<uses-feature android:name="android.software.live_wallpaper" />


    電話

    · 新的SignalStrength 類提供當前網絡信號的一些信息這些信息可以從onSignalStrengthsChanged(SignalStrength) 回調.


    · 新的onDataConnectionStateChanged(int, int) 回調.
    Views
    · 新的View 方法isOpaque()onDrawScrollBars(Canvas).
    · 新的RemoteViews 方法addView(int, RemoteViews)removeAllViews(int).

    · 新的ViewGroup 方法isChildrenDrawingOrderEnabled()setChildrenDrawingOrderEnabled(boolean).


    WebKit
    · 新的WebStorage 方法操作網頁數據緩存.
    · 新的GeolocationPermissions 方法獲取 Geolocation permissions 的出處, 把他們設置到 WebView.
    · 新的WebSettings 方法管理軟件緩存, 網頁緩存 和屏幕的縮放.
    · 新的WebChromeClient 方法處理視頻, 歷史記錄, 自定義view, 軟件緩存限制還有其他

    Android 2.0.1 API變更概要:
    · 新的快速聯系人標記風格(quickContactBadgeStyle)* 屬性,讓應用的QuickContactBadge 組件接收必要的風格.
    · 當在manifest里面宣布了filter,取消了支持 ACTION_CONFIGURATION_CHANGED 廣播 ,如果想要去接收這個廣播, 這個應用必須注冊 registerReceiver(BroadcastReceiver, IntentFilter).
    性能上的改變:
    Bluetooth
    改變了 ACTION_REQUEST_ENABLEACTION_REQUEST_DISCOVERABLE的返回值
    · ACTION_REQUEST_ENABLE 如果藍牙是成功開啟的,現在返回RESULT_OK .如果使用者拒絕開啟藍牙的請求,則會返回RESULT_CANCELED .
    · ACTION_REQUEST_DISCOVERABLE 如果使用者拒絕啟動藍牙或者藍牙的可發現功能,則返回 RESULT_CANCELED .
    通訊
    The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪切保存到一個空的操作里面).
    修復錯誤:
    資源
    現在framework可以正選擇應用資源的根據API等級劃分的文件夾(drawable-v4API level4版本用的資源).現在的版本這個功能不能正常工作的問題已經修復.
    Contacts
    The ACTION_INSERT Intent now returns the appropriate kind of URI when the request is made using the (now deprecated) Contacts APIs.
    Other Framework fixes
    · getCallingPackage() 現在正確的報告包名, 而不是進程名.

    Android 2.0 API變更概要:
    Bluetooth
    · 開啟關閉藍牙
    · 設備和服務發現
    · 使用 RFCOMM連接一個可插拔的設備收發數據
    · 公布RFCOMM 服務和監聽接收 RFCOMM 連接
    Sync adapters
    · 新的APIs, 同步橋接器連接任何backend
    Account Manager
    · 集中的帳戶管理器 API ,安全的儲存和使用可信的tokens/passwords
    Contacts
    · 新的通信APIs 允許獲取多個賬戶的數據.
    · 新的快速通信framework APIs 允許開發者在他們的應用中創建通信標記, 一鍵點擊標記打開一個新的窗口展示一個如何聯系當前人的列表.
    WebView
    · 不贊成使用的類: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
    Camera
    · 顏色模式, 場景模式 閃光模式, 焦點模式, 白平衡 旋轉和其他設置的新的特征.
    · 當縮放級別改變的時候,會回調新的縮放回調接口.
    Media
    · MediaScanner現在為所有圖片生成縮微圖when they are inserted into MediaStore.
    · 新的縮微圖 API : 檢索需要的圖片和視頻的縮微圖.
    Other Framework
    · android.R.style 中新的系統主題,能夠更加簡單的顯示當前acitivities的系統壁紙或者保持之前的activity在后臺.新的壁紙管理器API 取代并且增加了wallpaper APIs ,我們可以允許我們的應用要求設置系統壁紙.
    · 新的Service APIs幫助應用準確的處理Service 生命周期 ,在指定的低內存狀態下service將會被關閉.
    o Service.setForeground() 不推薦使用,并且現在這個方法并沒有實際執行. .他被一個新的API所取代, startForeground(), that helps (and requires) associating an ongoing notification with the foreground state.
    · MotionEvent 如果設備允許的話,MotionEvent 會返回多點觸摸信息.最多可同時獲取3
    · KeyEvent 現在有了新的按鍵發送 APIs,去幫助實現 action-on-up 和長按鍵行為, 一個新的機制取消按鍵 (虛擬按鍵).
    · WindowManager.LayoutParams 現在有了新的常量允許窗口能夠在被鎖或者其他的狀況中喚醒屏幕,這個允許程序能夠讓例如鬧鐘等的應用實現喚醒設備.
    · New Intent APIs 廣播設備的對接狀態,當這個設備放在桌面或者停車場,允許程序啟動特殊的activity.
    Key events executed on key-up
    Android 2.0能夠使用虛擬按鍵HOME, MENU, BACKSEARCH,而非物理按鍵,為了讓用戶在他們的設備中獲得最好的用戶體驗,android平臺現在把這些按鍵執行加入到了key-up,做了 key-down/key-up 配對,而非只有key-down.,這有助于防止意外按鈕事件,并讓使用者按下按鈕區域,然后拖動而不生成一個事件出來。
    這種改變只會影響你的應用程序一點,如果它是攔截按鈕事件,最好用key-down,而不是key-up.。特例,如果您的應用程序攔截BACK 鍵,你應該確保你的應用妥善處理按鍵事件。
    Android 1.6 API變更概要:
    UI framework
    · 新的類 android.view.animation 控制動畫行為:
    o AnticipateInterpolator
    o AnticipateOvershootInterpolator
    o BounceInterpolator
    o OvershootInterpolator
    · 新的XML 屬性android:onClick ,從一個layout文件描述一個viewView.OnClickListener.
    · 對不同分辨率的屏幕的新的支持. 對于BitmapCanvas會執行有針對性的縮放行為.該框架會根據屏幕分辨率和其他內容自動縮放bitmap.
    要在你的應用中使用Android 1.6包含的API的話你必須要設置 "4"屬性在manifest<uses-sdk> 元素中
    Search framework
    · 應用程序現在可以公開的有關內容,作為建議放入快速搜索框,新的設備范圍內的搜索功能,是可從主屏幕搜索。為了支持這一點,搜索框架增加了新的屬性,可搜索的元數據文件。有關完整的信息,請參閱SearchManager
    文檔。
    Accessibility framework
    · New android.accessibility package that includes classes for capturing accessibility events and forwarding them to an AccessibilityService handler.
    · New AccessibilityService package that lets your application track user events and provide visual, audible, or haptic feedback to the user.
    Gesture Input
    · 新的gesture API :創建,識別,讀取,保存手勢.
    Text-to-speech
    · 新的android.speech.tts 包提供了TTS文本朗讀功能,從一個文本生成一個聲音文件的回放.
    Graphics
    ·
    android.graphics 中的類,現在支持為不同的屏幕尺寸進行縮放.
    Telephony
    · 新的SmsManager 發送和接受短信.
    Utilities
    · 新的DisplayMetrics 字段決定當前設備屏幕的密度.
    Android Manifest elements
    o 新的<uses-feature> 元素
    o 新的<supports-screens> 標簽
    o glEsVersion: 指定最小openGL ES的版本
    ·
    <uses-sdk> 元素的新的屬性:
    o 目標SDK版本: 應用程序能夠指定目標版本. 它能夠運行在舊版本(低至minSdkVersion, 他是按照應用程序的指定版本開發的. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
    o maxSdkVersion: 指定設計這個程序運行的最高版本 重要: 當使用 <uses-sdk> 這些屬性前請認真閱讀文檔.
    New Permissions
    · CHANGE_WIFI_MULTICAST_STATE: 允許應用進入Wi-Fi 多點傳送模式.
    · GLOBAL_SEARCH: 允許全局搜索系統,以便精確確定 content provider.
    · INSTALL_LOCATION_PROVIDER: 允許應用在Location Manager.安裝一個location provider.
    · READ_HISTORY_BOOKMARKS: 允許應用讀取(并不能寫) 用戶的瀏覽記錄和書簽
    · WRITE_HISTORY_BOOKMARKS: 允許應用寫入 (并不能讀) 用戶的瀏覽記錄和書簽
    · WRITE_EXTERNAL_STORAGE: 允許程序寫入外部存儲器.應用程序使用API級別3下將默認授予此權限 (這對用戶可見); 應用程序使用API level4 或者更高的,必須要明確的宣告此權限.

    Android 1.5 API變更概要:
    UI framework
    · Framework for easier background/UI thread interaction
    · SlidingDrawer 組件
    · HorizontalScrollview 組件
    AppWidget framework
    · 一些關于創建桌面AppWidget API.
    · 提供根據自定義的內容創建LiveFoldersAPI
    Media framework
    · 原聲錄音和回放 APIs
    · 交互式的MIDI 回放引擎
    · 開發者使用的視頻錄像API (3GP format).
    · 視頻相片分享 Intents
    · 媒體搜索Intent
    Input Method framework
    · 輸入法服務framework
    · 文本預測引擎
    · 提供具有下載能力的IME給使用者
    Application-defined hardware requirements
    應用可定義硬件需求,應用程序可以定義 <uses- configuration> 說明此程序需要什么硬件需求.比如是否需要物理鍵盤或者軌跡球.
    Speech recognition framework
    · 支持語音識別庫.
    Miscellaneous API additions
    · LocationManager -應用可以接收到位置改變的信息.
    · WebView - 觸摸start/end/move/cancel  DOM 事件的支持
    · 重建Sensor Manager APIs
    · GLSurfaceView - 創建OpenGL 應用更加方便的framework .
    · 軟件升級安裝成功的Broadcast Intent - 更加平和優秀的軟件升級體驗

    posted @ 2010-08-02 13:29 oathleo 閱讀(691) | 評論 (1)編輯 收藏

    很明顯UI上的線程安全在Android上控制的也很嚴格

    如果需要做大運算,取網絡數據等,得用AsyncTask



    AsyncTask

    首先AsyncTask是一個抽象類,子類繼承AsyncTask必須實現其抽象方法doInBackground(Params…)。同時我們還需要實現onPostExecute(Result),因為結果會在Result中返回。

    AsyncTask的生命周期

    AsyncTask的生命周期分為四部分,每部分對應一回調方法,我們只需實現這些方法中的某些需要用到的方法。程序執行過程中這些會自動調用它們。

    • onPreExecute():任務執行之前執行,可在這顯示進度條。
    • doInBackground(Params…):后臺執行,主要用于完成需要任務。執行過程中可以調用publicProgress(Progress…)來更新任務的進度。
    • onProgressUpdate(Progress…):主線程執行,用于顯示任務執行的進度。
    • onPostExecute(Result):主線程執行,任務執行的結果作為此方法的參數返回。

    AsyncTask中的三種泛型

    AsyncTask中的三種泛型類型為Params、Progress、Result。

    • Params:啟動任務參數,比如請求的資源地址。
    • Progress:顧名思義,后臺任務執行的百分比。
    • Result:后臺執行任務返回的結果。

    AsyncTask的執行

    AsyncTask只能在在主線程中創建實例,創建實例后使用execute(params)執行。任務僅會執行一次,如果想再調用就必須創建新的實例。

    具體實現

    首先我們先繼承實現AsyncTask,然后在主線程的getView()里創建其實例execute().

    1、實現AsyncTask

    public class DownImageTask extends AsyncTask {
    private ImageView gView;
     
    protected Bitmap doInBackground(ImageView... views) {
    Bitmap bmp = null;
    ImageView view = views[0];
    HotelListData.Item item;
    // 根據iconUrl獲取圖片并渲染,iconUrl的url放在了view的tag中。
    if (view.getTag() != null) {
    try {
    item = (HotelListData.Item) view.getTag();
    URL url = new URL(item.getI().toString());
    HttpURLConnection conn = (HttpURLConnection) url
    .openConnection();
    conn.setDoInput(true);
    conn.connect();
    InputStream stream = conn.getInputStream();
    bmp = BitmapFactory.decodeStream(stream);
    Data.imageMap.put(item.getId(), bmp);
    stream.close();
    } catch (Exception e) {
    Log.v("img", e.getMessage());
    return null;
    }
    }
    this.gView = view;
    return bmp;
    }
     
    protected void onPostExecute(Bitmap bm) {
    if (bm != null) {
    this.gView.setImageBitmap(bm);
    this.gView = null;
    }
    }

    2、在UI主線程中創建其實例并execute()執行

    HotelListData dlData = new HotelListData();
    HotelListData.Item item = dlData.new Item();
     
    item = (HotelListData.Item) infoVector.getLs().elementAt(position);
    holder.text0.setText(item.getN());
     
    holder.star.setImageDrawable(getResources().getDrawable(
    imageIndex[Integer.parseInt(item.getS().toString())]));
     
    holder.text2.setText(item.getP());
    holder.text3.setText(item.getA());
     
    if (item.getI() != null &amp;&amp; (!item.getI().equals(""))) {
    Bitmap bm = returnBitMap(item.getId());
    if (bm != null) {
    holder.image.setImageBitmap(bm);
    } else {
    if (!holder.image.isDrawingCacheEnabled()
    || !holder.image.getTag().equals(item.getI())) {
    holder.image.setImageResource(R.drawable.img_loading);
    holder.image.setTag(item);
    try {
    new DownImageTask().execute(holder.image);
    holder.image.setDrawingCacheEnabled(true);
    } catch (Exception e) {
    Log.e("error",
    "RejectedExecutionException in content_img: "
    + item.getI());
    }
    }
    }
    }

    簡要

    首先創建了DownImageTask,該類繼承實現了AsyncTask的doInBackground()和onPostExecute(), 如上面所介紹,當在getView中創建實例并execute()傳入需要獲取資源地址URL(地址在TAG中)執行異步線程任務后,程序首先調用 doInBackground()。

    doInBackground()從傳入的Image TAG中獲取資源的URL地址進行圖片的獲取,獲取完畢Retrun結果給onPostExecute(),onPostExecute()里再去做相應的結果處理。



    posted @ 2010-07-30 11:59 oathleo 閱讀(1340) | 評論 (1)編輯 收藏

    Android Emulator是一款功能非常齊全的模擬器,電話本、通話等功能都可進行模擬。甚至其內置的瀏覽器和Google Maps都可以聯網。用戶可以使用鍵盤輸入,擊模擬器按鍵輸入,甚至還可以使用鼠標擊、拖動屏幕進行操。

    1.模擬器和真機的不同之處

        * 不支持呼叫和接聽實際來電但可以通過控制臺模擬電話呼叫(呼入和呼出)

        * 不支持USB連接。

        * 不支持相機/視頻捕捉。

        * 不支持音頻輸入(捕捉),但支持輸出(重放)。

        * 不支持擴展耳機。

        * 不能確定連接狀態

        * 不能確定電池電量水平和交流充電狀態。

        * 不能確定SD卡的插入/彈出。

        * 不支持藍牙。

     

    2.參數大全

    Android模擬器emulator.exe文件包含了很多參數,平時在Eclipse IDE中模擬器運行自動調用的,如果僅僅使用Android emulator或采用NetBean這樣的開放環境又如何設置呢? 我們總結了一下模擬器的所有參數及使用方法,具體如下所示。 

     

     Android Emulator usage: emulator [options] [-qemu args]
      options:
        -system <dir>       read system images from <dir>
        -datadir <dir>      write user data into <dir>
        -kernel <file>      emulated kernel
    指定內核文件
        -ramdisk <file>     ramdisk image (default <system>/ramdisk.img) 創建內存磁盤
        -image <file>       system image (default <system>/system.img)
        -initdata <file>    initial user image (default <system>/userdata.img)
        -data <file>        working user image (default <datadir>/userdata-qemu.img)

       
        -nocache            disable the cache partition 禁止分區緩存
        -sdcard <file>      SD card image (default <system>/sdcard.img) 使用SD卡映像
        -skindir <dir>      search skins in <dir> (default <system>/skins) 搜索外觀皮膚路徑
        -skin <skin>        select a given skin 選擇Android模擬器皮膚ID
        -noskin             don't use any emulator skin 不使用任何模擬器外觀,這樣有助于提高模擬器速度,內存小的用戶可以嘗試

        -netspeed <speed>   maximum network download/upload speeds 設置網絡速度如GPRS、EDGE、3G更多詳細的
    內容下面有介紹
        -netdelay <delay>   network latency emulation 網絡延時設置
        -netfast            disable network shaping (full speed, no latency) 網絡全速工作
        -trace <name>       enable code profiling (press F9 to start) 跟蹤調試
        -debug-kernel       send kernel output to the console 內核調試
        -console            enable console shell on current terminal 啟用控制臺
    Shell在當前中端
        -nojni              disable JNI checks in the Dalvik runtime 禁用JNI檢查
        -logcat <tags>      enable logcat output with given tags 設置log輸出標簽
        -noaudio            disable android audio support 禁用音頻支持
        -useaudio           enable android audio support (default) 啟用音頻支持
        -mic <file>         WAV file for audio input 使用wav文件模擬mic麥克輸入
        -flash-keys         flash key presses on the device skin
        -raw-keys           disable Unicode keyboard reverse-mapping
        -radio <device>     redirect radio modem interface to character device
        -oldradio           enable old VM-based simulated radio
        -onion <image>      use overlay image over screen
        -onion-alpha <%age> specify onion skin translucency (default 50)
        -http-proxy <proxy> make TCP connections through a HTTP/HTTPS proxy
    代理服務器設置
        -verbose            enable verbose output
        -verbose-keys       enable verbose key presses
        -verbose-proxy      enable proxy debug messages
        -version            display emulater version number

        -qemu               pass arguments to qemu
        -qemu -h            display qemu help
        -help               print this help

       Default network latency is 'none'

      <proxy> can be one of the following:

        http://<server>:<port>
        http://<username>:<password>@<server>:<port>

      the 'http://' prefix can be omitted. If '-http-proxy <proxy>' is not used,
      the 'http_proxy' environment variable is looked up and any value matching
      the <proxy> format will be used automatically

    3.快捷鍵 

    Android模擬器同樣存在很多快捷鍵,當模擬器運行時,可以使用下面的快捷鍵來操作Android emulator,這樣比鍵盤和鼠標操作更高效,不妨試一下:

    D:"unsetup"android-sdk-windows-1.1_r1"tools>emulator.exe -help-keys

     

      When running the emulator, use the following keypresses:

     

        HOME                    Home button 主界面鍵

        F2, PAGEUP              Menu (Soft-Left) button 左軟鍵

        Shift-F2, PAGEDOWN      Star (Soft-Right) button 右軟鍵

        ESCAPE                  Back button 后退鍵

        F3                      Call/Dial button 撥號/呼叫鍵

        F4                      Hangup/EndCall button 結束通話

        F4                      Power button 電源鍵

        F5                      Search button 搜索鍵

        KEYPAD_PLUS, Ctrl-F5    Volume up button 增大音量鍵 

        KEYPAD_MINUS, Ctrl-F6   Volume down button 減小音量鍵

        Ctrl-KEYPAD_5, Ctrl-F3  Camera button 相機鍵

        KEYPAD_7, Ctrl-F11      switch to previous layout 返回鍵

        KEYPAD_9, Ctrl-F12      switch to next layout 后一個界面

        F8                      toggle cell network on/off 禁止/啟用所有網絡

        F9                      toggle code profiling 開始跟蹤

        Alt-ENTER               toggle fullscreen mode 打開/關閉全屏模式

        F6                      toggle trackball mode 打開/關閉軌跡球

        DELETE                  show trackball 顯示軌跡球

        KEYPAD_5                DPad center 導航中建/OK鍵

        KEYPAD_4                DPad left 左鍵

        KEYPAD_6                DPad right 右鍵

        KEYPAD_8                DPad up shang 上鍵

        KEYPAD_2                DPad down 下鍵

        KEYPAD_MULTIPLY         increase onion alpha

        KEYPAD_DIVIDE           decrease onion alpha

       Ctrl+F11 對模擬器的屏幕切換。

    4.模擬器使用注意事項

    平時使用emulator測試開發程序時,可能會遇到系統關于C盤空間不足之類的提示,這是由于Android模擬器每次運行時會臨時生成幾個.tmp后綴的臨時文件,一段時間后,其可能占用幾G的磁盤空間。所以需要手工定期清理下C:"Documents and Settings"sh"Local Settings"Temp"AndroidEmulator文件夾下的內容。

    posted @ 2010-07-29 15:39 oathleo 閱讀(545) | 評論 (0)編輯 收藏

        如果有一天,技術高度發達,發達到生產了一種機器,可以接通人的大腦,產生所有人類可以感知的感覺。
    人戴上這種帽子樣的機器,就進入幻想世界,在幻想的世界里面所有感覺都和真實的一模一樣。
        想吃就吃,想睡就睡,想買房就買房,想干壞事就干壞事,想有美女就有美女...
    有了這玩意,人類還能進步嗎?

       

    posted @ 2010-07-27 16:20 oathleo 閱讀(1778) | 評論 (7)編輯 收藏

    Google獲準在中國運營Google.cn域名的ICP牌照于6月30日到期。在美國西部時間6月28日晚間10點(北京時間6 月29日下午1點),Google通過官方博客發布“關于谷歌中國的最新聲明”稱,在與中國有關部門的溝通中已明確獲知,自動指向的做法是不可接受的,繼 續進行自動指向,域名Google.cn的ICP牌照將無法通過年檢。

    感謝google.cn!是我們自己命運不濟,出生卑微。

    posted @ 2010-07-01 09:45 oathleo 閱讀(1975) | 評論 (7)編輯 收藏

    應用:javax.script 包

    javascrip 操作 java對象。

    GEllipse ellipse = new GEllipse();//自定義java對象
    //添加上下文綁定數據
    SimpleBindings bindings = new SimpleBindings();
    bindings.put("ellipse", ellipse);
    ScriptEngine engine = sem.getEngineByExtension("js");
    engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
    try{
         engine.eval(" ellipse.setX(101);");//腳本里設置自定義java對象對象屬性
         System.out.println(ellipse.getX());//輸出101,測試OK
    }catch(Exception ex){
        ex.printStackTrace();
    }

    posted @ 2010-06-30 17:09 oathleo 閱讀(1471) | 評論 (1)編輯 收藏

    Web的功能會越來越強大,這點基本上沒有多少人會反對。想想那么多在各種操作系統下跑的五花八門的應用程序,今天基本都能在Web上找到類似的應用,原因太簡單了,現在的客戶要求已經隨著PC和互聯網的發展慢慢提高了,他希望能在iphone里看股票,希望在imac上辦公,在blackberry里收郵件,誰能跨這么多復雜而多變的各類系統?

    只有Web。

    Web就離不開瀏覽器,當然如果更加激進些,哪天整個操作系統都是web,那可能就沒有瀏覽器一說了。就時下來說,Web真的已經發展的很強大了。我們可以在瀏覽器里看新聞,逛論壇,采購物品,收發郵件,在線協同工作,操作office,游戲等等等等。如果說Web相當于桌面應用程序還有什么軟肋的話,那就是瀏覽器里的圖形展示。

    說到這篇文章的重點,先大概梳理一下。目前瀏覽器端的圖形展示解決方案。Web里的圖形解決方案筆者自己給他大概分兩種,一種叫無插件,一種叫有插件。無插件嘛就是瀏覽器原生支持,就像打開html一樣。有插件嘛當然就是要裝插件的,插件就類似ActiveX等。

    先說說有插件的,里面按使用人數又有大眾版和專業版,大眾版筆者羅列了幾個

    1.  FlashFlex

    2.  Java Swing,JavaFX

    3.  Silverlight

    4.  VRML

     

    在這幾項技術FlashFlex感覺是個比較有前途的方向,面向對象的語言,動靜結合的對象,基本各類瀏覽器都兼容的插件和現實效果,豐富的動態效果和絢麗的展示等,都是目前Web里圖形展示的Top one。唯一讓人感覺缺憾的是adobe這個設計師出生的公司,總讓程序員感覺不爽(要是IBM出的這技術該多好)。所以筆者是對Flex的源碼實現比較不齒,這哪里像個精品代碼應有的樣子。如果說還有什么缺陷,效率是一個,無法集成入搜索是一個,回退算是一個吧。

    Swing要在Web展示,只能Applet了,這項被千萬java程序員唾罵的技術還是有頑強的生命力。為什么?實在是沒有辦法,除了它還能誰?(相對java程序員) 其實swing是個很不錯的技術,可惜了Sun好像不在意Applet的巨大潛力,只關系它的J2EE去了。唉!好在亡羊補牢,來了個新的JavaFX,只是java程序員已經對Applet心有余悸,JavaFx發展如何,再看看吧。

    微軟的程序員有大奔頭了,因為他們有了SL,看看SL剛剛出來時候,那聲勢浩大的場面,真的是……如果我是微軟程序員,我肯定會搞搞SL,雖然它組件依舊很少,客戶端依舊安裝率不高。我就不怕,等的就是內置SL,絕對可以秒掉很多Flash的市場。

    VRML最近才了解到的一個技術,看了下效果還是很震撼,可能程序員不是很熟原因也是它支持的公司基本都是設計軟件的公司。插件的安裝率估計是最低的,不了解的不說,一筆帶過。

     

    上面說完了有插件,下面輪到無插件了,無插件的估計就那幾個:

    1.       VML

    2.       SVG

    3.       Canvas

    VML(Vector Markup Language) 微軟的早期瀏覽器支持的圖形展示的一種格式。最大的特點就是只有IE支持,微軟估計當年根本沒想到IE的占有率會跌到60%,唉千萬不要低估消費者。你不行就靠邊,我用鼠標說話。

    SVG(Scalable Vector Graphics) 我在無插件里最看好的技術,XML的子集,W3C下的一個項目,早幾年不瘟不火的,這幾年起來了,何以見得?HTML5的標準,IE9原生支持,看看各大廠家,誰希望被AdobeFlash把持這么大一塊市場。當然由于微軟的原因IE9以前的版本還都需要插件才能支持SVG。

    Canvas HTML5里另外一個重頭戲,介紹也是很多了,至于為什么會既有SVG又有Canvas我還真的不甚明白,誰知道W3C每天都在琢磨什么呢。最大的特點是2d的方式繪畫圖形,而不像SVG是標簽式的。

    posted @ 2010-06-21 21:36 oathleo 閱讀(1771) | 評論 (1)編輯 收藏

    version jdk1.6

    很早就聽說了這個功能一直沒仔細看看,嘗試了下 功能不錯!

        public static void main(String[] args) {
            ScriptEngineManager sem = new ScriptEngineManager();
           
            //添加上下文綁定數據
            SimpleBindings bindings = new SimpleBindings();
            bindings.put("aaa_av", new Double(10000.1));
            bindings.put("bbb_av", new Double(20000.2));
           
            ScriptEngine engine = sem.getEngineByExtension("js");
            engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
            try{
                //直接解析
                Object res = engine.eval(" res =  Math.max(aaa_av , bbb_av) + aaa_av");
                System.out.println(res);
               
               
                //創建腳本
                String script = "function getMax() "
                    + "{ return Math.max(aaa_av , bbb_av)}";
                //執行腳本
                engine.eval(script);
                Invocable inv = (Invocable) engine;
                //執行方法并傳遞參數
                Object obj = inv.invokeFunction("getMax", null);
                //打印結果
                System.out.println(obj);

            }catch(Exception ex){
                ex.printStackTrace();
            }
        }

    posted @ 2010-06-03 15:04 oathleo 閱讀(3394) | 評論 (3)編輯 收藏

    如果能把大量的swingUI 與畫圖 結合在一起,可以任意保存成xml或者二進制的文件, 那大量的swing程序,會簡化成大量的工程人員畫圖而成的文件。
    當然復雜的UI還是需要編程,而編程完不再需要打包進產品或者項目,而是讓工程人員做成文件的方式,保存下來。
    這樣的思路是否能運用到實際的swing項目,還未可知,但某些特定的項目,也許可以使用。

    廢話不說了,看看效果: 畫圖工具里,從文件里讀取了兩個table。

    posted @ 2010-05-31 11:18 oathleo 閱讀(2812) | 評論 (4)編輯 收藏

        微軟IE團隊總經理迪恩·哈克莫維奇(Dean Hachamovich)今天發表聲明稱,IE 9與以往的IE版本有很大不同。他表示,微軟將每8周對預覽版IE 9進行一次升級,第一次升級將在5月中期。但哈克莫維奇沒有披露正式版IE 9的發布時間。

    下 載:Internet Explorer 9 預覽版

    微軟稱,預覽版IE 9還不是一款完整的瀏覽器,目前還不包括地址欄等用戶導航工具以及安全功能。微軟發布了一個它稱之為“Test Drive”的網站,方便網站設計人員、應用開發者了解預覽版IE 9的功能。

    預覽版IE 9只支持Windows 7、Windows Vista SP2和Windows Server R2。IE 9可以利用圖形處理器的處理能力加速文本和圖形的渲染。

    用戶可以從Test Drive網站下載大小為31MB的預覽版IE 9。


    =============================================================

    里面圖形的Demo 包括Graphics 里面的幾個例子,都是用SVG實現,包括了Map Chart等。有了IE支持,看樣子SVG又要發第二春了。

    Canvas暫時還沒有看到使用例子。

    posted @ 2010-03-17 09:02 oathleo 閱讀(1657) | 評論 (0)編輯 收藏

    僅列出標題
    共17頁: First 上一頁 7 8 9 10 11 12 13 14 15 下一頁 Last 
    主站蜘蛛池模板: 嫩草视频在线免费观看| 亚洲日韩精品国产3区| 免费国内精品久久久久影院| 久久不见久久见免费视频7| 一级毛片**免费看试看20分钟| 亚洲国产成人91精品| 亚洲精品制服丝袜四区| 亚洲国产一级在线观看 | 免费看一级做a爰片久久| 四虎在线免费视频| 久久青草91免费观看| 国产成人高清精品免费观看| 西西人体大胆免费视频| 天天爽亚洲中文字幕| 亚洲天堂一区二区三区| 亚洲日本va午夜中文字幕一区| 亚洲精品午夜无码电影网| 亚洲精品尤物yw在线影院 | 蜜臀亚洲AV无码精品国产午夜.| 亚洲日本香蕉视频观看视频| 亚洲大片在线观看| 亚洲成A人片在线观看无码不卡 | 日本亚洲欧美色视频在线播放| 久久精品国产亚洲AV忘忧草18| 亚洲理论在线观看| 久久精品国产亚洲精品2020| 亚洲另类激情综合偷自拍| 亚洲爆乳无码专区| 亚洲国产精品无码专区在线观看 | 国产一区二区三区免费观看在线| 免费人成视频在线观看免费| 国产成人精品亚洲一区| 最新亚洲人成无码网站| 国产精品国产亚洲区艳妇糸列短篇 | 亚洲高清资源在线观看| 亚洲黄色网址在线观看| 亚洲精品永久www忘忧草| 亚洲伊人久久大香线蕉| 最新亚洲卡一卡二卡三新区| 亚洲中文字幕乱码一区| 亚洲а∨精品天堂在线|