`
ai_longyu
  • 浏览: 474184 次
社区版块
存档分类
最新评论

Android开发中各种问题集锦【1-10】

 
阅读更多

本文主要收集个人在Android应用开发过程中遇到一些问题,包括开发过程中遇到一些Bug应如何解决,或者如何通过代码调用某个方法实现一定的功能.....等等各种问题。俗话说:好记性不如烂笔头。

【1】Android中如何通过单击Button按钮来实现 BACK(返回)功能:

网上有很多人都说通过调用:

来实现该功能。但会出现报错!!

其实可以通过调用如下系统的方法来实现该功能:


【2】Android中如何通过单击Button按钮(或者其它方式)实现 MENU(菜单) 功能:


【3】android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 异常解决方法:

原由:定义了一个Context的变量,如 private Context mContext; 同时在 onCreate(Bundle savedInstanceState); 方法中采用 mContext = getApplicationContext(); 实例化。同时在该Activity中添加一个AlertDialog的提示对话框,采用如下方式实例化:

这样就会出现异常!致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。

解决方法:将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充就可以正确的创建一个Dialog了。


【4】android中动态实现全屏和动态退出全屏方法:


【5】Android中如何获取SDCard的目录路径:


【6】getApplicationContext(); Activity.this; getBaseContext();的区别:

getApplicationContext()返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁

Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁

getBaseContext()返回由构造函数指定或setBaseContext()设置的上下文


【7】Android中如何动态获取组件布局的高度或宽度等属性信息

很多时候,我们在Android的应用程序开发中,需要获取某组件的高度或者宽度等属性信息,如果我们在Activity中的 onCreate(Bundle parms); 直接获取组件的高度或宽度信息,得到的高度和宽度都为 0 。这时得到的结果并不是我们想要的结果,这是为什么呢?

1. 在 Activity 中,当 onCreate 方法执行完后,Activity才能知道当前窗体的大小以及各组件的大小,所以我们可以在 onCreate 方法中添加 view.post(new Runnable(){...获取组件高度和宽度的代码体....}); 来获取组件的高度和宽度等信息。注:当onCreate方法执行完后,才去执行 post(new Runnable(){......}); 方法。

2. 其实我们也可以在 onStart(); 方法中直接获取组件高度和宽度属性信息。


【8】如何设置Eclipse工作空间的缺省字符编码?

如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使新建立工程、java文件直接使UTF-8则需要做以下工作:

  1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。

  2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。


【9】[注] Android应用程序中的 Activity 组件 和 Service 组件运行在同一线程中,但并不是运行于同一进程中。


【10】Android开发中如何调试 Service。

问题:

以调试模式启动Android项目时,在service中设置断点,调试器不会停止下来
解决方法:

所有的这种情况下,都是在代码中声明。调用的方法是:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics