[wp7软件]新浪新闻 v1.7
[wp7软件]南方周末阅读器 beta1
[wp7软件]VIVA 畅读 官方应用 V1.3.0
[wp7软件] 国产免费新闻应用 [LuoboTiX News] v0.1
[wp7软件]NextGen Reader 更新至2.3.0.0 RSS阅读器
[wp7软件]电子书阅读软件READU V2.4 原txtreader,自带中文,
[wp7软件] [TT新闻] V2.5版
[wp7软件] 中国时报阅读China Times Rss Reader
[wp7软件]China Hot News 热点新闻
[wp7软件]TNReader-cnBeta阅读器
[wp7软件]頭條日報
[wp7软件][芒果新闻]
[wp7软件]每讯
[wp7软件]SinaNews新浪新闻
[wp7软件]SIP新闻中心
[wp7软件]新浪新闻 SinaNews v1.8.0.0
[wp7软件]栖迩网 v1.0.0.0『有一个RSS阅读器』
[wp7软件]VIVA畅读多本免费更新到v1.1咯!!!!
[wp7软件]NewsBox v1.0.0.0-新闻盒子,中文在线新闻应用
[wp7软件]Reader2Go v2.0.0.0 --RSS阅读器,支持google reader,支持离
[wp7软件]SIP新闻中心 v1.0.0.0 for windows phone 7
[wp7软件]VIVA畅读 V1.1.0.0.0
[wp7软件]爱酷阅读--不同以往的阅读软件
[wp7软件][Tt新闻] your news hub 2.1版
[wp7软件]【TT新闻】为您的Windows Phone增加第七个hub - News Hub![Ve
[wp7软件]打造个性新闻资讯【 每讯 】For Mango V1.2
[wp7软件]史上最强【百阅】WP7版本beta版降临!(2011.11.02更新0.9
[wp7软件]谷歌阅读器”(Google Reader)客户端FeedTso-完美WP7订阅
[wp7软件]Windows Phone7最强的阅读软件 isilo 阅读器
[wp7软件]新闻现场 NewsLive
[wp7软件]新闻Live NewsLive v1.0
文章出处:http://gundumw100.iteye.com/blog/1104772
取得当前屏幕的截图主要使用了Bitmap 类里的方法,首相取得一个bitmap 然后用取得的bitmap 去绘制一张图片然后进行保存。
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import android.os.Environment; import android.util.Log; import android.view.View; public class ShotScreen { private static final String TAG="shotscreen"; @SuppressWarnings("unused") private static Bitmap takeScreenShot(Activity activity){ View view =activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bitmap = view.getDrawingCache(); Rect rect = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); int statusBarHeight = rect.top; System.out.println(statusBarHeight); int width =activity.getWindowManager().getDefaultDisplay().getWidth(); int height =activity.getWindowManager().getDefaultDisplay().getHeight(); Bitmap bitmap2 = Bitmap.createBitmap(bitmap,0,statusBarHeight, width, height - statusBarHeight); view.destroyDrawingCache(); return bitmap2; } @SuppressWarnings("unused") private static void savePic(Bitmap bitmap,String filename){ FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(filename); if (fileOutputStream != null) { bitmap.compress(Bitmap.CompressFormat.PNG, 90, fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); } } catch (FileNotFoundException e) { Log.d(TAG, "Exception:FileNotFoundException"); e.printStackTrace(); } catch (IOException e) { Log.d(TAG, "IOException:IOException"); e.printStackTrace(); } } /** * * @param a */ public static void shoot(Activity a){ if (android.os.Environment.MEDIA_MOUNTED != "mounted") { ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/sdcard/抽样.png"); }else{ ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/data/data/"+a.getPackageName()+"/抽样.png"); } }
S3C6410启动模式介绍
http://blog.csdn.net/nanjianhui/archive/2009/06/01/4230565.aspx
目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User Manual并没有说的很清楚,所以我在最开始使用的时候,也对其启动模式有一些误解,下面就我个人的理解,介绍一下S3C6410的启动。
先读一下S3C6410 User Manual的第3章 System Controller,在123页列了一张表,如图:
这章表列出了S3C6410所支持的几种启动模式。首先介绍一下和启动模式相关的硬件管脚:
OM[4:0]:选择启动设备及时钟源。OM[0]为0选择XXTlpll,为1选择XEXTCLK。
GPN[15:13]:用于识别所支持的Nandflash的类型,包括Page的类型和地址周期。
XSELNAND:选择Nand启动或者是OneNand启动。0为OneNand,1为Nand。
从表中可以看出,S3C6410好像并不支持Nandflash启动,因为Boot Device中没有Nandflash设备。当OM[4:0]为0000x/0001x/0010x/0011x的时候,Boot Device是Reserved,我想这里是Samsung在6410中有意要隐瞒什么。如果你用过S3C6400,你应该知道在S3C6400 User Manual中也有这么一张表,描述了s3c6400的启动模式,具体S3C6400的启动模式也是在第3章 System Controller,在第107页的表,如图:
我想和S3C6410的表对照一下就会发现,两个处理器的启动模式是兼容的,我认为S3C6410应该兼容S3C6400的启动模式,只不过Samsung在S3C6410 User Manual中隐藏了S3C6400中所支持Nandflash启动模式,目的可能是Samsung不希望在S3C6410中使用Nandflash启动,而要推崇IROM的启动模式。个人理解啊!
下面来总结一下S3C6410所支持的启动模式:
1. NORFlash启动
通过Nor Flash启动,此时OM[4:1]为0100或0101,对应8bit和16bit。
2. NandFlash启动
虽然在S3C6410 User Manual中没有提到,但是也是支持的,从S3C6400 User Manual可以找到。OM[4:1]四个硬件管脚决定了Nandflash启动,以及支持的Nandflash的类型,包括大Page和小Page,地址周期为3,4,5。当然,XSELNAND管脚也要为1。
3. OneNAND启动
首先XSELNAND管脚为0,其次OM[4:1]为0110,为OneNand启动模式。
4. MODEM启动
当OM[4:1]为0111的时候,为MODEM启动。S3C6410通过MODEM接口下载boot代码到内部RAM中,然后进行引导。
5. IROM启动
当OM[4:1]为1111的时候,从Internal ROM中启动,此时GPN[15:13]用于识别设备的类型。这种模式以前没见过,这里具体介绍一下。
IROM模式可以支持MoviNand,SD/MMC,iNand,OneNand和Nand等。关于IROM的引导,具体过程如图:
1. 处理器上电后,当OM[4:1]=1111时,运行iROM中的程序,这个程序被称为Bootloader0(BL0),它会做一些初始化的工作。
2. 然后根据GPN[15:13]的管脚设置,选择从相应的设备(SD/MMC/OneNand/Nand)中的指定区域读取4KB的程序到SteppingStone中运行,这段代码被称为Bootloader1(BL1)。
3. BL1可以初始化系统时钟,UART,SDRAM等设备,然后拷贝Bootloader2(BL2)到SDRAM中。
4. 跳转到SDRAM中的BL2,继续运行,BL2可以支持更强大的功能,可以将OS加载到SDRAM中,然后运行OS。
整个过程中,IROM是最先被运行的,它会首先做一些初始化,具体IROM的流程如下:
1. 禁用Watch-dog
2. 初始化TCM
3. 初始化设备拷贝函数,用于拷贝BL1到SteppingStone中
4. 初始化栈区域
5. 初始化PLL
6. 初始化指令Cache
7. 初始化堆区域
8. 拷贝BL1到SteppingStone中
9. 验证BL1
10. 跳转到SteppingStone中运行
还是看一下流程图吧,理解起来会更直观一些,IROM启动流程如图: