`
firefox7
  • 浏览: 25796 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【FF7】网上搜索到的一些资料,做个备份

阅读更多
1.检查是否有网络连接

  Java代码

  1. public static boolean isNetworkAvailable(Context context) {

  2. ConnectivityManager cm = (ConnectivityManager) context.getSystemService(

  3. Context.CONNECTIVITY_SERVICE);

  4. NetworkInfo info = cm.getActiveNetworkInfo();

  5. return (info != null && info.isConnected());

  6. }

  public static boolean isNetworkAvailable(Context context) {

  ConnectivityManager cm = (ConnectivityManager) context.getSystemService(

  Context.CONNECTIVITY_SERVICE);

  NetworkInfo info = cm.getActiveNetworkInfo();

  return (info != null && info.isConnected());

  }

  2.全屏和无标题

  Java代码

  1. // 全屏 ( No Statusbar )

  2. getWindow (). setFlags ( WindowManager . LayoutParams . FLAG _ FULLSCREEN ,

  3. WindowManager . LayoutParams . FLAG _ FULLSCREEN );

  4. // 无标题栏 ( No Titlebar )

  5. requestWindowFeature ( Window . FEATURE _ NO _ TITLE );

  // 全屏 ( No Statusbar )

  getWindow (). setFlags ( WindowManager . LayoutParams . FLAG _ FULLSCREEN ,

  WindowManager . LayoutParams . FLAG _ FULLSCREEN );

  // 无标题栏 ( No Titlebar )

  requestWindowFeature ( Window . FEATURE _ NO _ TITLE );

  3.使用ViewStub延迟展开视图

  Java代码

  1. 1 ) 定义 ViewStub

  2. < ViewStub Android : id = "@+ id / stub _ import "

  3. android : inflatedId ="@+ id / panel _ import "

  4. android : layout ="@ layout / progress _ overlay "

  5. android : layout _ width =" fill _ parent "

  6. android:layout_height="wrap_content"

  7. android:layout_gravity="bottom"/>

  8. 2 )展开视图

  9. findViewById(R.id.stub_import).setVisibility(View.VISIBLE);

  10. // 或者 获取视图

  11. View importPanel = ((ViewStub)

12. findViewById(R.id.stub_import)).inflate();

  1 ) 定义 ViewStub

  < ViewStub android : id = "@+ id / stub _ import "

  android : inflatedId ="@+ id / panel _ import "

  android : layout ="@ layout / progress _ overlay "

  android : layout _ width =" fill _ parent "

  android:layout_height="wrap_content"

  android:layout_gravity="bottom"/>

  2 )展开视图

  findViewById(R.id.stub_import).setVisibility(View.VISIBLE);

  // 或者 获取视图

  View importPanel = ((ViewStub)

  findViewById(R.id.stub_import)).inflate();

  4.删除窗口背景

  1) 编码实现

  Java代码

  1. public void onCreate(Bundle icicle){

  2. super.onCreate(icicle);

  3. setContentView(R.layout.mainview);

  4. // 删除窗口背景

  5. getWindow().setBackgroundDrawable(null);

  6. ...

  7. }

  public void onCreate(Bundle icicle){

  super.onCreate(icicle);

  setContentView(R.layout.mainview);

  // 删除窗口背景

  getWindow().setBackgroundDrawable(null);

  ...

  }

  2 )自定义主题实现

  Java代码

  1. < resources>

  2. < mce:style name="NoBackgroundTheme" parent="android:Theme">< !--

  3. < item name="android:windowBackground">@null< /item>

  4. -->< /mce:style>< style name="NoBackgroundTheme" parent="android:Theme" mce_bogus="1">< item name="android:windowBackground">@null< /item>< /style>

  5. < /resources>

  < resources>

  < mce:style name="NoBackgroundTheme" parent="android:Theme">< !--

  < item name="android:windowBackground">@null< /item>

  -->< /mce:style>< style name="NoBackgroundTheme" parent="android:Theme" mce_bogus="1">< item

name="android:windowBackground">@null< /item>< /style>

  < /resources>

  6.横竖屏切换时不重新加载 onCreate()

  为了防止横竖屏切换时 Activity 重新加载 onCreate ,

  只需要在 Activity 的配置文件里添加属性:

  android:configChanges="orientation|keyboardHidden|navigation"

  7.半透明主题

  1.Resource source file location : res/values/styles.xml

  < style name="myTranslucentTheme" parent="android:style/Theme.Translucent">

  < item name="android:windowBackground">@drawable/bg< /item>

  < /style>

  其中 bg 为一张半透明图片的索引

  2. 使用自定义半透明主题

  AndroidManifest.xml

  Java代码

  1. < activity android:name=".WallpaperActivity"

  2. android:label="@string/wallpaper_titile"

  3. android:theme="@style/myTranslucentTheme">

  4. < /activity>

  < activity android:name=".WallpaperActivity"

  android:label="@string/wallpaper_titile"

  android:theme="@style/myTranslucentTheme">

  < /activity>

  8.获取Android手机上的图片和视频缩略图

  大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲、图片和视频等信息,如果我们需要快速提取图片和视频缩略图可以直接访问 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails这两个数据库,即可查询出来缩略图

  如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri我们可以转成String,这里保存着Android手机SD卡上的多媒体文件完整路径,

  有关具体的缩略图可以通过getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options) 或getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options) 方法获取,这两种方法返回Bitmap类型,而缩略图的分辨率可以从HEIGHT和WIDTH两个字段提取,在Android上缩略图分为两种,通过读取

KIND字段来获得,分别为MICRO_KIND和MINI_KIND 分别为微型和迷你两种缩略模式,前者的分辨率更低。这样我们平时获取文件系统的某个图片预览时,可以直接调用系统缩略图,而不用自己重新计算。

  最后Android123提示大家,缩略图保存在SD卡的DCIM目录,里面的.thumbnails是图片的,而.video_thumbnails是视频的,这两个文件夹为隐藏属性,一般的文件管理器都可以看到。

  9.Android ANR介绍与避免

  很多初入Android开发的网友可能发现ANR的字样,到底Android ANR是什么呢? 其实ANR就是Application Not Responding的全称,当某个应用处于长期假死状态时Android系统会弹出一个窗口上面写道,XXX is not responding给出两个按钮一个为force close一个为wait。

  可能触发ANR的情况

  1. 长时间的I/O处理,比如读写大文件,网络访问时造成的阻塞。

  2. 执行耗时的运算,Android默认为超过5000ms即5秒开始弹出ANR窗口,某些应用可能首次执行时没有缓存十分耗时,可以通过Splash播放闪屏Logo等方式来延缓加载

  3. Service和appWidget中也要注意多线程的使用,除非它和Activity工作在不同的进程。

  避免ANR的方法

  1. 单独开工作者线程,通过独立的Thread或使用类似AsyncTask的方式来处理耗时的内容。

  2. 耗时的操作尽量分段处理,使用类似状态机的方法,类似Symbian的活动对象将一个复杂的事情,分段执行。

  3. UI线程中不要处理过多的内容,比如将一个5MB的文本,让TextView去setText,要知道这种UI操作,没有什么好方法去解决的,所以Android123提示,遇到UI中需要执行复杂的操作,可以参考上面2提到的分段处理方式。

  10.AsyncTask对比Thread加Handler

  很多网友可能发现Android平台很多应用使用的都是AsyncTask,而并非Thread和Handler去更新UI,这里 Android123给大家说下他们到底有什么区别,我们平时应该使用哪种解决方案。从Android 1.5开始系统将AsyncTask引入到android.os包中,过去在很早1.1和1.0 SDK时其实官方将其命名为UserTask,其内部是jdk 1.5开始新增的concurrent库,做过j2ee的网友可能明白并发库效率和强大性,比Java原始的Thread更灵活和强大,但对于轻量级的使用更为占用系统资源。Thread是Java早期为实现多线程而设计的,比较简单不支持concurrent中很多特性在同步和线程池类中需要自己去实现很多的东西,对于分布式应用来说更需要自己写调度代码,而为了Android

UI的刷新google引入了Handler和Looper机制,它们均基于消息实现,有事可能消息队列阻塞或其他原因无法准确的使用。

  Android开发网推荐大家使用AsyncTask代替Thread+Handler的方式,不仅调用上更为简单,经过实测更可靠一些,Google在 Browser中大量使用了异步任务作为处理耗时的I/O操作,比如下载文件、读写数据库等等,它们在本质上都离不开消息,但是AsyncTask相比 Thread加Handler更为可靠,更易于维护,但AsyncTask缺点也是有的比如一旦线程开启即dobackground方法执行后无法给线程发送消息,仅能通过预先设置好的标记来控制逻辑,当然可以通过线程的挂起等待标志位的改变来通讯,对于某些应用Thread和Handler以及 Looper可能更灵活。

  11.android.os.Debug调试工具使用方法

  在Android软件开发中最终的性能测试和调试显得至观重要,今天Android123和大家一起讨论下Google送给我们的android.os.Debug类,使用起来比较简单,我们先导入 import android.os.Debug这个包。

  在需要开始跟踪的地方加入 Debug.startMethodTracing(“/sdcard/cwj”);

  最终在停止调试的地方加入 Debug.stopMethodTracing();

  最终在sdcard上生成的cwj文件我们可以用sdk ools中的traceview来查看运行的结果。

  12.TextView多行本文滚动轻松实现

  Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现

  Java代码

  1. < TextView

  2. android:id="@+id/tvCWJ"

  3. android:layout_width="fill_parent"

  4. android:layout_height="wrap_content"

  5. android:scrollbars="vertical" < !--垂直滚动条 -->

  6. android:singleLine="false" < !--实现多行 -->

  7. android:maxLines="15" < !--最多不超过15行 -->

  8. android:textColor="#FF0000"

  9. />

  < TextView

  android:id="@+id/tvCWJ"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:scrollbars="vertical" < !--垂直滚动条 -->

android:singleLine="false" < !--实现多行 -->

  android:maxLines="15" < !--最多不超过15行 -->

  android:textColor="#FF0000"

  />

  当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下

  Java代码

  1. TextView tvAndroid123 = (TextView)findViewById(R.id.tvCWJ);

  2. tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中android.text.method分支了解更多

  TextView tvAndroid123 = (TextView)findViewById(R.id.tvCWJ);

  tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中android.text.method分支了解更多

  12.Widget简单制作流程

  1、在 OnUpdate()中 定义一个 Intent

  Intent startActivityIntent = new Intent(context,WidgetLife.class);

  2、实例化一个 PendingIntent

  PendingIntent Pintent = PendingIntent.getActivity(context,0,startActivityIntent,0);

  3、实例RemoteView

  RemoteViews ActivityView = new RemoteViews(context.getPackageName(),R.layout.widget_layout);

  4、Button 事件

  ActivityView.setOnClickPendingIntent(R.id.Button,Pintent);

  5、更新Widget

  appWidgetManager.updateAppWidget(appWidgetIds,ActivityView);

  12.对话框【Dialog】去除白色边框代码

  边框, Dialog, Android, 对话框, 代码

  使用样式文件,在values 目录下新建styles.xml文件,编写如下代码:

  Java代码

  1. < resources>

  2. < mce:style name="dialog" parent="@android:style/Theme.Dialog">< !--

  3. < item name="android:windowFrame">@null< /item>

  4. < item name="android:windowIsFloating">true< /item>

  5. < item name="android:windowIsTranslucent">false< /item>

  6. < item name="android:windowNoTitle">true< /item>

7. < item name="android:background">@android:color/black< /item>

  8. < item name="android:windowBackground">@null< /item>

  9. < item name="android:backgroundDimEnabled">false< /item>

  10.

  11. -->< /mce:style>< style name="dialog" parent="@android:style/Theme.Dialog" mce_bogus="1"> < item name="android:windowFrame">@null< /item>

  12. < item name="android:windowIsFloating">true< /item>

  13. < item name="android:windowIsTranslucent">false< /item>

  14. < item name="android:windowNoTitle">true< /item>

  15. < item name="android:background">@android:color/black< /item>

  16. < item name="android:windowBackground">@null< /item>

  17. < item name="android:backgroundDimEnabled">false< /item>

  18. < /style>

  19. < /resources>

  < resources>

  < mce:style name="dialog" parent="@android:style/Theme.Dialog">< !--

  < item name="android:windowFrame">@null< /item>

  < item name="android:windowIsFloating">true< /item>

  < item name="android:windowIsTranslucent">false< /item>

  < item name="android:windowNoTitle">true< /item>

  < item name="android:background">@android:color/black< /item>

  < item name="android:windowBackground">@null< /item>

  < item name="android:backgroundDimEnabled">false< /item>

  -->< /mce:style>< style name="dialog" parent="@android:style/Theme.Dialog" mce_bogus="1"> < item name="android:windowFrame">@null< /item>

  < item name="android:windowIsFloating">true< /item>

  < item name="android:windowIsTranslucent">false< /item>

< item name="android:windowNoTitle">true< /item>

  < item name="android:background">@android:color/black< /item>

  < item name="android:windowBackground">@null< /item>

  < item name="android:backgroundDimEnabled">false< /item>

  < /style>

  < /resources>

  调用时,使用AlerDialog的接口类,Dialog 接口编写如下代码:

  Java代码

  1. Dialog dialog = new Dialog(SetActivity.this, R.style.dialog);

  2. dialog.setContentView(R.layout.test);

  3. dialog.show();
分享到:
评论

相关推荐

    svn备份还原方法

    ### SVN备份与还原详解 #### 一、SVN简介 Subversion(简称SVN)是一种分布式版本控制系统,广泛应用于软件开发和其他需要版本控制的场景。它允许团队成员在一个中心存储库中保存工作副本,并能够记录每次更改的...

    FF新鲜事删除

    FF新鲜事删除是一个针对特定软件或广告的批处理文件,主要功能是帮助用户彻底移除“FF新鲜事”这一程序,包括它的相关文件和在Windows注册表中的条目。批处理文件(.bat)是一种文本文件,包含了命令行指令序列,...

    数据库网上购物系统设计-cb45ff4b227916888486d7ea.doc

    状,首先要明确系统的核心功能和背景。...以上就是对"数据库网上购物系统设计"的主要知识点解析,从系统功能分析到数据库逻辑和物理设计,再到系统的实现,整个流程详细阐述了构建一个网上购物平台所需的数据库技术。

    ff缓存查看器

    FF缓存查看器,全称为"Mozillacacheview",是一款专为Firefox浏览器设计的实用工具,用于方便用户查看和管理Firefox浏览时产生的缓存文件。这款软件可以帮助用户深入洞察浏览器的缓存机制,了解并分析浏览历史,甚至...

    intel S2600CP Nvme编程器Bios R02.06.007

    cap文件跳转到41017F,看是否到全是FF,如果不是,接着往后,直到FF.后面的所有删除, 再跳转到2203f0,从2203f0到结束,剪切,并保存到一个新文件,这个代码段作为1 编程器备份的bin文件,搜索地址3d0000,剪切从3d0000开始...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

    win7回收站图标不见了的解决办法.doc

    以下是一些解决这个问题的方法: 1. **隐藏的回收站恢复**: - 打开注册表编辑器(通过开始菜单搜索`regedit`并运行)。 - 导航到`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\...

    FLS_CS:FF14LoadStoneToolCS

    在FF14中,加载石是一种重要的游戏道具,它允许玩家瞬间移动到已经访问过的特定位置,如城市、副本入口等。然而,游戏内的加载石管理有时可能变得复杂,特别是对于拥有大量加载石的玩家来说。FLS_CS工具就是为了简化...

    意外错误_搜索无法完成解决办法

    在日常使用计算机的过程中,用户可能会遇到一些奇怪的问题,比如搜索功能突然失效。本文将详细介绍一个特定问题:“意外错误_搜索无法完成”,并提供相应的解决方法。 #### 知识点一:注册表的理解与作用 **注册表...

    游戏画面就弹出内存不能为read修复工具

    从网上搜索来的几篇相关文章. 【文章一】 使用Windows操作系统的人有时会遇到这样的错误信息: 「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。 如果...

    IE浏览器中Bing搜索提供程序不可用怎么办-.docx

    请您新建一个记事本文件,将以下文字复制粘贴到记事本中,以"Bing.reg"命名并保存于桌面。 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{0633EE...

    win7系统出现乱码要怎么办.docx

    ### Win7系统出现乱码问题解决方案 #### 一、引言 在使用Windows 7操作系统的过程中,偶尔会遇到系统显示乱码的情况。这种情况虽然相对少见,但一旦发生,会给用户的正常使用带来不便。本文将详细介绍Win7系统出现...

    识删资料恢复

    ### 误删资料恢复方法详解 #### 背景与问题描述 在日常工作中,我们经常会遇到意外删除重要文件的情况,尤其是当不小心清空了回收站后,这可能会导致重要的数据丢失。面对这种情况,大多数人可能会感到束手无策。...

    小技巧教你恢复U盘误删文件.docx

    从搜索到"B351567B"的地方开始选择一段数据,仍然是从"Edit"菜单中选择"Copy Block",将该段数据写到一个新的文件中。 恢复删除文件的注意事项 在恢复删除文件时,需要注意以下几点: * 一旦误删除了文件,就不要...

    U盘丢失文件的找回方法.docx

    U盘丢失文件的找回方法 U盘丢失文件的找回方法是指从U盘上恢复被删除或...从搜索到"B351567B"的地方开始选择一段数据,仍然是从"Edit"菜单中选择"Copy Block",将其写到一个新的文件中,以便进行进一步的分析和恢复。

    pb插入ole控件点击insert+control时pb应用程序自动关闭解决思路

    这一搜索过程涉及到注册表中的特定路径,并最终将搜索结果存储于用户配置文件中。具体来说: 1. **搜索位置**:注册表中的“HKEY_CLASSES_ROOT\CLSID”路径下保存了已注册的所有DLL、OCX文件的信息。 2. **存储位置...

    FreshInvoice_jfx82w_FreshInvoice_

    在压缩包的文件名称列表中,我们看到了几个可能的文本文件(fileinfo.txt、30953aef7ff9ac04c4c5ed4bae56d4bc.txt、e7db7bfa2a7a72494191cea022349f12.txt)和一个名为"FreshInvoice"的文件或目录。这些文本文件可能...

    U盘丢失文件的找回办法.docx

    然后再从“Edit”菜单中选择“Copy Block”,把整个U盘的数据写到一个文件中(例如“u.img”),这样就完成了U盘的备份。 手工修复确定文件位置 在U盘镜像文件中搜索文件内容,尝试恢复文件。使用WinHex打开前面...

    解决PB中insert control出现内存错误的方法已经测试成功

    4. **对比与定位**:在“CLSID.REG”文件中,搜索到与OLE Object Bitmaps路径下的最后一个子项匹配的条目,继续向下查找,直到找不到为止。这部分在文本编辑器中的控件被视为无冲突的。接着,使用关键词...

    Listary 配置文件和配置方法

    通过集成到资源管理器和其他文件操作软件,Listary能够实现瞬间搜索、快捷启动应用程序、批量重命名、文件预览等功能,使用户的文件管理工作变得轻松快捷。 **配置文件和配置方法** 1. **安装与激活** - 下载...

Global site tag (gtag.js) - Google Analytics