Eros Live
Find the Way
posts - 15,comments - 0,trackbacks - 0

在manifest的activity节点使用

<activity android:windowSoftInputMode="adjustResize" . . . >

当点击EditText控件弹出软键盘的时候,系统会自动调整控件的位置。

代码

http://github.com/shaobin0604/miscandroidapps/tree/master/WindowSoftInputMode/

参考

posted @ 2010-08-25 18:42 Eros 阅读(264) | 评论 (0)编辑 收藏

AppWidget的初始化有两种方式:

  1. 没有提供Configure Activity, 则在 AppWidgetProvider#onUpdate 里初始化。
  2. 提供Configure Activity, 则在 Configure Activity 里初始化。

目前遇到的问题是:

在Launcher里可以预先配置桌面显示的AppWidget,如果AppWidget有Configure Activity,则系统在AppWidget的初始化过程不会发送android.appwidget.action.APPWIDGET_CONFIGURE Intent,而只是加载appwidget-provider里配置的initialLayout。这样第二种就不可用,只能用第一种方法。

posted @ 2010-08-24 11:11 Eros 阅读(426) | 评论 (0)编辑 收藏

1.字体大小

synchronized void
setTextSize(WebSettings.TextSize t)

Set the text size of the page.

2.缩放比例

void
setSupportZoom(boolean support)

Set whether the WebView supports zoom

void
setInitialScale(int scaleInPercent)

Set the initial scale for the WebView.

boolean
zoomIn()

Perform zoom in in the webview

boolean
zoomOut()

Perform zoom out in the webview

3.缩放控件

void
setBuiltInZoomControls(boolean enabled)

Sets whether the zoom mechanism built into WebView is used.

4.JavaScript支持

synchronized void
setJavaScriptEnabled(boolean flag)

Tell the WebView to enable javascript execution.

posted @ 2010-07-28 12:49 Eros 阅读(381) | 评论 (0)编辑 收藏

在程序里备份恢复数据

public static boolean backupDatabase() {
    File dbFile = new File(Environment.getDataDirectory() + "/data/" + PKG + "/databases/" + DB_NAME);
 
    File exportDir = new File(Environment.getExternalStorageDirectory(), "pocket-voa");
    
    if (!exportDir.exists()) {
        exportDir.mkdirs();
    }
    
    File file = new File(exportDir, dbFile.getName());
 
    try {
        file.createNewFile();
        copyFile(dbFile, file);
        return true;
    } catch (IOException e) {
        Log.e(TAG, "[backupDatabase] error", e);
        return false;
    }
}
 
public static boolean restoreDatabase() {
    File dbFile = new File(Environment.getDataDirectory() + "/data/" + PKG + "/databases/" + DatabaseHelper.DB_NAME);
 
    File exportDbFile = new File(Environment.getExternalStorageDirectory() + "/pocket-voa/" + DatabaseHelper.DB_NAME);
    
    if (!exportDbFile.exists())
        return false;
 
    try {
        dbFile.createNewFile();
        copyFile(exportDbFile, dbFile);
        return true;
    } catch (IOException e) {
        Log.e(TAG, "[restoreDatabase] error", e);
        return false;
    }
}
 
private static void copyFile(File src, File dst) throws IOException {
    FileChannel inChannel = new FileInputStream(src).getChannel();
    FileChannel outChannel = new FileOutputStream(dst).getChannel();
    try {
        inChannel.transferTo(0, inChannel.size(), outChannel);
    } finally {
        if (inChannel != null)
            inChannel.close();
        if (outChannel != null)
            outChannel.close();
    }
}

参考

posted @ 2010-07-26 17:24 Eros 阅读(336) | 评论 (0)编辑 收藏

 

There are certain events that Android does not want to start up new processes for, so the device does not get too slow from all sorts of stuff all having to run at once. ACTION_SCREEN_ON is one of those. See this previous question for light blue advice on that topic.

So, you need to ask yourself, "Self, do I really need to get control on those events?". The core Android team would like it if your answer was "no".

posted @ 2010-07-22 19:59 Eros 阅读(1168) | 评论 (0)编辑 收藏