2010年11月30日星期二

如何使用Android Debug Bridge (adb) 刪除文件

如果你想刪除Android模擬器上SD Card中的文件, 可以使用Android Debug Bridge(adb)工具.

啟動Android SDK, tools文件夾中的adb shell

./adb shell

進入sdcard文件夾

#cd sdcard

使用rm指令刪除文件

#rm <file to be deleted>

2010年11月28日星期日

在模擬器上安裝 Android市場

在Android SDK的模擬器並沒有安裝Android市場, 一般來說用戶亦不能自行安裝 - 只是一般來說.

這個博客Varun's ScratchPad有一篇文章談到如何在模擬器上安裝 Android市場, 可以參考, 如果你想這樣做.

在模擬器上的Android市場

注: 在Android模擬器上, 使用Android市場安裝應用程序似乎非常緩慢, 而且Android市場應用程序很多時會被意外終止.



2010年11月25日星期四

Android Market的內容分級

在未來幾個星期內,Android Market將對所有應用程序展示內容分級. 這一新功能將為用戶提供更多的資料來幫助他們選擇最佳的應用程序.

應用程序將被評為四個內容分級: 適合所有用戶(All),少年(Pre-teen),青少年(Teen),與成人(Mature)。

下週開始, 開發商在Android Market提交新應用程序或更新應用程序時需要包括一個內容等級. 此外, 開發商需要在未來幾個星期內為其現有的應用程序和遊戲添加評級. 一旦內容分級推出後, 任何尚未包括評級的應用程序或遊戲, 將被視為"成人(Mature)"級.

信息來源: Android Developers Blog: Content Rating for Android Market

傳感器模擬器(SensorSimulator)

在谷歌的Android模擬器, 不能完全模仿各種傳感器的行為.

OpenIntents SensorSimulator 可以使用鼠標實時模擬傳感器數據. 它目前支持加速計(accelerometer), 指南針(compass), 方向(orientation)和溫度(temperature)傳感器, 可以通過各種設置進行定制其行為.

SensorSimulator

詳見: http://code.google.com/p/openintents/wiki/SensorSimulator

2010年11月17日星期三

谷歌總裁埃里克施密特(Eric Schmidt)展示傳說中的Nexus S

在"Web 2.0峰會:與埃里克施密特(Eric Schmidt)交談"中, 谷歌總裁埃里克施密特在片段最初幾分鐘展示傳說中運行 Android 2.3 Gingerbread的Nexus S.




2010年11月9日星期二

查看LogCat

- 在源代碼中隨意插入Log語句, 並運行應用程序.

package com.AndroidLog;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class AndroidLog extends Activity {

private static final String TAG = "AndroidLog";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Log.i(TAG, "onCreate");

}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i(TAG, "onPause()");
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i(TAG, "onPause()");
}

@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i(TAG, "onRestart()");
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i(TAG, "onResume()");
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i(TAG, "onStart()");
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i(TAG, "onStop()");
}
}


- Eclipse切換到DDMS. (Window > Open Perspective -> DDMS)

- 啟用LogCat (Window -> Show View -> LogCat)


- 可自定義過濾器 (按LogCat窗格上的綠色十字圖標)


- 在對話框輸入Log Tag


- LogCat會顯示在底部窗格


相關文章: 日誌類(android.util.Log)

日誌類(android.util.Log)

android.util.Log是發送日誌(Log)輸出的API.

一般來說, 使用Log.v() Log.d() Log.i() Log.w()和Log.e()方法.
其贅言(verbosity)輕重順序為ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose不會被編譯成應用程序, 除了在開發過程中. Debug logs會被編譯, 但在運行時卸除. Error, warning and info logs會一直被保持.

相關文章: 查看LogCat

2010年11月7日星期日

望穿秋水: HTC Wildfire軟件更新Froyo

HTC野火(Wildfire)遲遲尚未有Android2.2的軟件更新, 真的那個...!

但是從官方開發人員中心網站(HTC - Developer Center)發現已經提供"HTC Wildfire - Froyo - 2.6.32 kernel source code"源代碼下載, 真不知道何時能有OTA軟件更新!

Kernel Source Code and Binaries for HTC Android Phones



2010年11月5日星期五

使用視頻視圖(VideoView)類顯示從YouTube下載的視頻

視頻視圖(VideoView)類可以用來顯示從各種來源, 如資源(resources)或內容提供商, 載入的視頻文件.

下面的例子顯示了如何使用視頻視圖(VideoView)類顯示從YouTube載入的視頻.



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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>


AndroidVideoView.java
package com.AndroidVideoView;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class AndroidVideoView extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

VideoView videoView = (VideoView)findViewById(R.id.video);

String src = "rtsp://v2.cache2.c.youtube.com/CjYLENy73wIaLQm3JbT_9HqWohMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoYIvJo6nmx9DvSww=/0/0/0/video.3gp";
videoView.setVideoURI(Uri.parse(src));
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
videoView.start();
}
}


注意:它不能在Android模擬器顯示, 需要運行在真的Android機.

2010年11月3日星期三

重刷谷歌平板電腦固件

從朋友手中收到一部7吋谷歌平板電腦, 型號LY-706. 也不知道是二手還是工程樣品機, 總是怪怪的...觸感非常不順暢, 間或無故重新啟動, 也不能使用Android Market. 然後花了一整夜, 在網上搜索更新軟件, 嘗試了一些版本, 最後找到一個版本"script_mid706_seller.7z", 固件版本(Firmware Version)為1.6, 版本號(Build Number)是1.7.4, 重新安裝一次, 觸感有所改善, 無故重新啟動的問題也沒有了, 還可以順利使用Android Market搜索並安裝軟件.

希望廠方盡快發布更新軟件(Android 2.1?), 進一步改善觸感, 真的是"功德無量".




固件安裝步驟:
- 在電腦下載並解壓"script_mid706_seller.7z"(在網上Google一下, 很容易找到).
- 解壓後產生一個文件夾script, 把整個文件夾複製到SD Card.
- 把SD Card插入平板電腦, 重新啟動. 它便會自動重新安裝新的固件.